US20110035652A1 - Conditional Cell Execution in Electronic Spreadsheets - Google Patents

Conditional Cell Execution in Electronic Spreadsheets Download PDF

Info

Publication number
US20110035652A1
US20110035652A1 US12907704 US90770410A US20110035652A1 US 20110035652 A1 US20110035652 A1 US 20110035652A1 US 12907704 US12907704 US 12907704 US 90770410 A US90770410 A US 90770410A US 20110035652 A1 US20110035652 A1 US 20110035652A1
Authority
US
Grant status
Application
Patent type
Prior art keywords
expression
cell
spreadsheet
switch
logical
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12907704
Inventor
John McGarry
Original Assignee
Mcgarry John
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/20Handling natural language data
    • G06F17/21Text processing
    • G06F17/24Editing, e.g. insert/delete
    • G06F17/246Spreadsheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/313Logic programming, e.g. PROLOG programming language

Abstract

An improved electronic spreadsheet is provided for applications requiring conditional expression execution behavior. Each cell having an executable expression is cooperative with an implicit conditional execution wrapper. The execution of each cellular expression is implicitly conditioned on the state of an individually assigned logical switch expression. The improved electronic spreadsheet also includes a user interface by which a user can assign logical switch expressions to a cell, or to a range of cells. The improved electronic spreadsheet facilitates the use of spreadsheets for wider range of applications than was possible with conventional electronic spreadsheets.

Description

    RELATED APPLICATION DATA
  • [0001]
    This application is a continuation of prior application Ser. No. 09/370,705 filed Aug. 9, 1999, the content of which is hereby incorporated herein by reference in its entirety.
  • FIELD OF THE DISCLOSURE
  • [0002]
    The present disclosure related to electronic spreadsheets, and more particularly to computer programming using electronic spreadsheets.
  • BACKGROUND OF THE INVENTION
  • [0003]
    The superior ease-of-use characteristics of electronic spreadsheets are well-known, especially in the field of office automation. The use of electronic spreadsheets in other fields is also know, although in the past, many computer applications have been unable to take advantage of the spreadsheet metaphor. One reason for this may be computer applications are often required to exhibit conditional statement execution behavior. However, conditional statement execution behavior is beyond the capability of conventional electronic spreadsheet programs.
  • [0004]
    In the field of pattern recognition, for example, it is common for a single program to execute one set of instructions during training, and another set of instructions during classification, the Instructions for classification being dependent on exemplar data extracted during training. In this field it is also common for programs to dynamically adapt their order of execution based on external control parameters. Consequently, known electronic spreadsheets cannot adequately be used for programming applications in the field of pattern recognition.
  • [0005]
    In conventional programming, positional order of program statements and conditional branching within program statements drive the order of execution of the program statements. In the BASIC programming language, for example a program statement at line 20 in a program listing is always executed after the program statement at line 10, unless a branch statement is encountered and a jump instruction is invoked.
  • [0006]
    Unlike a programming language, an electronic spreadsheet is essentially a means for graphically representing a single expression by distributing the expression across a rectangular grid of cells (or any regular array of cells), each cell being a parenthetical expression that can be a function of some number of other expressions in cells across the grid. As in typical expression evaluation, precedence and dependencies drive the order of execution. Since the order of executing is not explicitly programmed, there is no spreadsheet equivalent to a jump instruction in conventional spreadsheets. The limitation of conventional spreadsheet makes programming certain kinds of behavior difficult, if not impossible.
  • [0007]
    Conventional electronic spreadsheets are known to support limited conditional behavior, e.g., conditional argument value assignment using the standard IF functions. An IF function consists of three arguments: A, B, and C, where argument A is a logical switch expression, and argument B and C are the two possible expressions to be evaluated. If the expression in argument A evaluates TRUE, the expression in argument B is evaluated and retuned. If the expression in argument A evaluates FALSE, the expression in argument C is evaluated and returned.
  • [0008]
    Like IF, the CHOOSE function simply evaluates and returns one of N expressions. The evaluation of the expression in the first argument of the CHOOSE function determines which of the N expressions will be evaluated and returned, which is essentially a generalization of the IF function. However, the function IF, CHOOSE, and similar functions, are only capable of selecting among result values, and are incapable of controlling the order of execution of expressions associated with a cell or a set of cells within the spreadsheet.
  • SUMMARY OF THE DISCLOSURE
  • [0009]
    In a preferred embodiment, every expression in every cell is enabled or disabled by an implicit conditional wrapper. This implicit conditional wrapper uses a logical switch expression to control the execution of the cell's expression, i.e., to enable or disable the execution of the cell's expression based on the value of the logical switch expression.
  • [0010]
    In a preferred embodiment, the logical switch expression is entered into the implicit conditional wrapper of a cell using a pop-up dialog box and an associated pop-up window, for example. The dialog box can then be closed by the user, causing the pop-up window and its entered logical switch expression to disappear along with the dialog box. Closing the dialog box makes the logical switch expression appear to no longer be associated with the cell, thereby making the logical switch expression invisible or “implicit”, because the existence and nature of the logical switch expression is not visible to the user solely by looking at the contents of the cell. However, the effects of the logical switch expression become manifest upon execution of the electronic spreadsheet.
  • [0011]
    The logical switch expression can be any legal spreadsheet expression that can be evaluated to logical TRUE or FALSE. If the logical switch expression evaluates to TRUE, the cell's corresponding expression is evaluated, a new result value is returned, and the cell's internal result buffer is updated accordingly. If the logical switch expression evaluates FALSE, the cell's expression is not evaluated, and the cell's result buffer is returned unmodified.
  • [0012]
    In a preferred embodiment, individual switch expressions are initialized to a constant logical TRUE. In another preferred embodiment, the spreadsheet user interface supports the interactive assignment of a switch expression to any cell or range of cells within the spreadsheet, using dialog boxes and pop-up windows, for example. A user selecting a “cell state” display mode from a menu after selecting a cell will cause a dialog box to appear, along with an associated window that displays the associated logical switch expression.
  • [0013]
    The default behavior of the improved electronic spreadsheet is unaffected by the extension and improvements described above if all individual logical switch expressions are initialized to a constant logical TRUE. In this case, a user can ignore the implicit conditionals. Alternatively, the user can mark arbitrary sets of cells, and then selectively assign logical switch expressions to program desired electronic spreadsheet behavior beyond the capacity of known electronic spreadsheets, such as providing various orders of cell execution.
  • [0014]
    Per certain embodiments, the conventional spreadsheet metaphor can be efficiently and elegantly extended to meet many of the fundamental requirements of conditional expression execution in computer programming.
  • BRIEF DESCRIPTION OF DRAWING
  • [0015]
    Aspects of the disclosure will be more fully understood from the following detailed description, in conjunction with the following figures, wherein:
  • [0016]
    FIG. 1 is a sequence of four instances of a portion of an electronic spreadsheet per one embodiment, each instance including a dialog box and a pop-up window making explicit the logical switch expression of the conditional wrapper associated with each cell of the embodiment;
  • [0017]
    FIG. 2 is a listing BASIC computer program that is the functional equivalent of the spreadsheet of FIG. 1; and
  • [0018]
    FIG. 3 is a flow chart illustrating an embodiment of a method of the invention for programming conditional execution in an electronic spreadsheet.
  • DETAILED DESCRIPTION
  • [0019]
    Embodiments of the disclosure provide methods and apparatuses for programming conditional execution behavior in an electronic spreadsheet, and methods of programming the order of execution of expressions associated with cells in an electronic spreadsheet. While providing such methods and apparatuses, the fundamental characteristics of conventional electronic spreadsheets can be preserved to a high degree. Moreover, the disclosed methods and apparatuses for programming conditional behavior in electronic spreadsheets may be made to be easy and intuitive to use.
  • [0020]
    An embodiment includes implicit conditional wrappers associated with each cell of the electronic spreadsheet, whereby the execution of each cellular expression is conditioned upon the state of an individually assigned logical switch expression included in an associated implicit conditional wrapper.
  • [0021]
    FIG. 1 shows sequence of four instances 1, 4, 7, 10 of a portion of an electronic spreadsheet incorporating certain improvements of the present disclosure. In the first spreadsheet instance 1, cell B1 is selected by a user, and is seen to be equal to the logical constant FALSE. After a user selects a “cell state” display mode form a pull-down menu, selecting a cell or plurality of cells causes an enable dialog box 2 to appear as well as causing an associated logical switch expression pop-up window 3 to appear (also see FIG. 3, step 15). The enable dialog box 2, superimposed on the spreadsheet grid, shows that the enable switch expression is equal to the logical constant TRUE, indicating that the expression in B1 will be executed. It is also possible for the user to change the enable switch expression by entering a new enable switch expression 15, as shown in FIG. 3.
  • [0022]
    Thus, the value of B1 will be FALSE, provided that the enable switch expression that controls the execution of cell B1 is set to TRUE. The implicit conditional expression (including the enable switch expression) that controls the execution of cell B1 is shown in the pop-up window 3 that appears with the enable dialog 2, and contains the logical expression: IF(TRUE, B1=FALSE).
  • [0023]
    In spreadsheet instance 4, cell B2 is selected and conditionally set equal to the result of the expression evaluated in B3, based on the conditional expression in the pop-up window 6. Enable dialog 5 shows that the enable switch expression is equal to the result of expression evaluated in cell B1. Since B1 is known to evaluate to FALSE, in this case, the expression in B2 will not be executed. The implicit conditional expression associated with cell B2 is shown in the pop-up window 6.
  • [0024]
    In spreadsheet instance 7, cell B3 is selected and set equal to the result of an image measurement function performed on an external image data buffer. Enable dialog 8 shows that the enable switch expression is equal to the logical constant TRUE, indicating that the expression in B3 will be executed. The implicit conditional expression associated with cell B3 is shown in the pop-up window 9.
  • [0025]
    In spreadsheet instance 10, cell B4 is selected and set equal to the result of a logical operation performed on the results of the expressions evaluated in B2 and B3. Enable dialog 11 shows that the enable switch expression is equal to the logical constant TRUE, indicating that the expression in B4 will be executed. The implicit conditional expression associated with cell B4 is shown in the pop-up window 12.
  • [0026]
    Referring to FIG. 2, a BASIC program fragment 13 shows the BASIC program steps that together are equivalent to the electronic spreadsheet program shown in FIG. 1. This BASIC program will exhibit the same behavior, i.e., evaluate expressions, assign values, and transfer program control, so as to achieve the same result as the execution of an the illustrated embodiment of an electronic spreadsheet, yet via an entirely different user interface. FIG. 2 emphasizes and illustrates that the illustrated example spreadsheet can achieve functionality that was previously not possible in electronic spreadsheets, and prior to the present disclosure, was possible only using computer languages like BASIC, COBOL, FORTRAN, and C, for example.
  • [0027]
    In the forgoing example illustrated in FIG. 1, a spreadsheet is programmed to behave in one of two possible ways, depending on cell B1. If the expression in cell B1 is set to TRUE (thereby indicating that the spreadsheet is in training mode in the example of FIG. 1), the spreadsheet executes a training sequence whereby the results of an image measurement executed in cell B3 are saved in cell B2 for future comparisons.
  • [0028]
    If the expression in cell B1 evaluates to FALSE (thereby indicating testing mode in the example of FIG. 1), the training step associated with the expression in cell B1 is not executed. The expression in cell B4 goes on to perform a test which compares the current image measurement performed in B3 to the measurement saved on the most recent training cycle in cell B2.
  • [0029]
    Other modifications and implementations will occur to those skilled in the art without departing from the spirit and the scope of the invention as claimed. Accordingly, the above description is not intended to limit the invention except as indicated in the claims now or as they may be amended.

Claims (8)

  1. 1-11. (canceled)
  2. 12. Apparatus comprising:
    an electronic spreadsheet generator including a processor and memory configured to generate a spreadsheet in accordance with a spreadsheet application on a computer screen, the spreadsheet having a plurality of cells;
    stored executable expressions respectively corresponding to select ones of the plurality of cells, the stored executable expressions including a given executable expression corresponding to a given cell among the plurality of cells, the given executable expression including an image measurement function configured to refer to and operate on image data in an image data buffer;
    a user interface configured to receive data for and to display, on a computer screen, cells of the spreadsheet, the executable expressions; and
    an execution controller configured to cause the given executable expression corresponding to the given cell to be executed.
  3. 13. The apparatus according to claim 12, wherein the user interface is configured to display, on the computer screen, cells of the spreadsheet while concurrently displaying, on the computer screen, at least one of the executable expressions.
  4. 14. The apparatus according to claim 12, further comprising cell execution control switch expressions.
  5. 15. The apparatus according to claim 14, wherein the switch expressions are conditional switch expressions.
  6. 16. The apparatus according to claim 15, wherein the conditional switch expressions include cooperative conditional switch expressions.
  7. 17. The apparatus according to claim 12, wherein the switch expressions include programmable switch expressions.
  8. 18. The apparatus according to claim 17, wherein the programmable switch expressions include programmable logical switch expressions.
US12907704 1999-08-09 2010-10-19 Conditional Cell Execution in Electronic Spreadsheets Abandoned US20110035652A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US09370705 US7882426B1 (en) 1999-08-09 1999-08-09 Conditional cell execution in electronic spreadsheets
US12907704 US20110035652A1 (en) 1999-08-09 2010-10-19 Conditional Cell Execution in Electronic Spreadsheets

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12907704 US20110035652A1 (en) 1999-08-09 2010-10-19 Conditional Cell Execution in Electronic Spreadsheets

Publications (1)

Publication Number Publication Date
US20110035652A1 true true US20110035652A1 (en) 2011-02-10

Family

ID=43502059

Family Applications (2)

Application Number Title Priority Date Filing Date
US09370705 Active US7882426B1 (en) 1999-08-09 1999-08-09 Conditional cell execution in electronic spreadsheets
US12907704 Abandoned US20110035652A1 (en) 1999-08-09 2010-10-19 Conditional Cell Execution in Electronic Spreadsheets

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09370705 Active US7882426B1 (en) 1999-08-09 1999-08-09 Conditional cell execution in electronic spreadsheets

Country Status (1)

Country Link
US (2) US7882426B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103838706A (en) * 2012-11-22 2014-06-04 江苏现代造船技术有限公司 Flexible management information system with process and form customization function
US9934215B2 (en) 2015-11-02 2018-04-03 Microsoft Technology Licensing, Llc Generating sound files and transcriptions for use in spreadsheet applications

Citations (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4992781A (en) * 1987-07-17 1991-02-12 Sharp Kabushiki Kaisha Image synthesizer
US5021973A (en) * 1986-01-16 1991-06-04 International Business Machines Corporation Method for assisting the operator of an interactive data processing system to enter data directly into a selected cell of a spreadsheet
US5048018A (en) * 1989-06-29 1991-09-10 International Business Machines Corporation Debugging parallel programs by serialization
US5121499A (en) * 1985-05-30 1992-06-09 International Business Machines Corp. Method for controlling the order of editing cells in a spreadsheet by evaluating entered next cell attribute of current cell
US5226118A (en) * 1991-01-29 1993-07-06 Prometrix Corporation Data analysis system and method for industrial process control systems
US5252951A (en) * 1989-04-28 1993-10-12 International Business Machines Corporation Graphical user interface with gesture recognition in a multiapplication environment
US5255363A (en) * 1990-06-19 1993-10-19 Mentor Graphics Corporation Graph-based programming system and associated method
US5265202A (en) * 1992-08-28 1993-11-23 International Business Machines Corporation Method and system for accessing visually obscured data in a data processing system
US5278390A (en) * 1993-03-18 1994-01-11 The Lincoln Electric Company System and method for controlling a welding process for an arc welder
US5317686A (en) * 1990-09-10 1994-05-31 Lotus Development Corporation Data processing apparatus and method for a reformattable multidimensional spreadsheet
US5339392A (en) * 1989-07-27 1994-08-16 Risberg Jeffrey S Apparatus and method for creation of a user definable video displayed document showing changes in real time data
US5394168A (en) * 1993-01-06 1995-02-28 Smith Engineering Dual-mode hand-held game controller
US5410649A (en) * 1989-11-17 1995-04-25 Texas Instruments Incorporated Imaging computer system and network
US5416895A (en) * 1992-04-08 1995-05-16 Borland International, Inc. System and methods for improved spreadsheet interface with user-familiar objects
US5437006A (en) * 1993-01-27 1995-07-25 Microsoft Corporation Spreadsheet command/function capability from a dynamic-link library
US5455903A (en) * 1991-05-31 1995-10-03 Edify Corp. Object oriented customer information exchange system and method
US5463728A (en) * 1993-03-10 1995-10-31 At&T Corp. Electronic circuits for the graphical display of overlapping windows with transparency
US5481712A (en) * 1993-04-06 1996-01-02 Cognex Corporation Method and apparatus for interactively generating a computer program for machine vision analysis of an object
US5481620A (en) * 1991-09-27 1996-01-02 E. I. Du Pont De Nemours And Company Adaptive vision system
US5504848A (en) * 1992-12-22 1996-04-02 Brother Kogyo Kabushiki Kaisha Word processor with data table calculating function, capable of indicating necessity of re-calculations to solve mathematical expressions in changed data table
US5517586A (en) * 1994-08-16 1996-05-14 Wang Laboratories, Inc. Method and apparatus for automatically specifying a portion of text from a bitmap image of the text
US5530795A (en) * 1994-02-15 1996-06-25 Wan; Hong K. Computer conferencing
US5537104A (en) * 1991-11-11 1996-07-16 U.S. Philips Corporation System for equipment control, comprising a common communication channel
US5546525A (en) * 1989-11-13 1996-08-13 Lotus Development Corporation Computer user interface with multimode selection of displayed controls
US5574930A (en) * 1994-08-12 1996-11-12 University Of Hawaii Computer system and method using functional memory
US5633998A (en) * 1994-03-03 1997-05-27 Schlafly; Roger Methods for compiling formulas stored in an electronic spreadsheet system
US5638501A (en) * 1993-05-10 1997-06-10 Apple Computer, Inc. Method and apparatus for displaying an overlay image
US5651107A (en) * 1992-12-15 1997-07-22 Sun Microsystems, Inc. Method and apparatus for presenting information in a display system using transparent windows
US5721847A (en) * 1994-10-21 1998-02-24 Microsoft Corporation Method and system for linking controls with cells of a spreadsheet
US5742504A (en) * 1995-11-06 1998-04-21 Medar, Inc. Method and system for quickly developing application software for use in a machine vision system
US5745126A (en) * 1995-03-31 1998-04-28 The Regents Of The University Of California Machine synthesis of a virtual video camera/image of a scene from multiple video cameras/images of the scene in accordance with a particular perspective on the scene, an object in the scene, or an event in the scene
US5754348A (en) * 1996-05-14 1998-05-19 Planetweb, Inc. Method for context-preserving magnification of digital image regions
US5764229A (en) * 1996-05-09 1998-06-09 International Business Machines Corporation Method of and system for updating dynamic translucent windows with buffers
US5768158A (en) * 1995-12-08 1998-06-16 Inventure America Inc. Computer-based system and method for data processing
US5774878A (en) * 1992-09-30 1998-06-30 Marshall; Paul Steven Virtual reality generator for use with financial information
US5799295A (en) * 1993-12-29 1998-08-25 Kabushiki Kaisha Toshiba Constraint-based spreadsheet system capable of displaying a process of execution of programs
US5805163A (en) * 1996-04-22 1998-09-08 Ncr Corporation Darkened transparent window overlapping an opaque window
US5815152A (en) * 1995-04-18 1998-09-29 Logical Software Solutions Corporation Method and apparatus for defining and evaluating a graphic rule
US5821993A (en) * 1996-01-25 1998-10-13 Medar, Inc. Method and system for automatically calibrating a color camera in a machine vision system
US5838916A (en) * 1996-03-14 1998-11-17 Domenikos; Steven D. Systems and methods for executing application programs from a memory device linked to a server
US5874959A (en) * 1997-06-23 1999-02-23 Rowe; A. Allen Transparent overlay viewer interface
US5880742A (en) * 1993-09-17 1999-03-09 Xerox-Corporation Spreadsheet image showing data items as indirect graphical representations
US5892511A (en) * 1996-09-30 1999-04-06 Intel Corporation Method for assisting window selection in a graphical user interface
US5893128A (en) * 1993-03-01 1999-04-06 Nauckhoff; Sven Distributed work flow management
US5896131A (en) * 1997-04-30 1999-04-20 Hewlett-Packard Company Video raster display with foreground windows that are partially transparent or translucent
US5911044A (en) * 1996-11-08 1999-06-08 Ricoh Company, Ltd. Network image scanning system which transmits image information from a scanner over a network to a client computer
US5910895A (en) * 1997-06-13 1999-06-08 Teradyne, Inc. Low cost, easy to use automatic test system software
US5915257A (en) * 1994-10-11 1999-06-22 Brio Technology, Inc. Cross tab analysis and reporting method
US5926822A (en) * 1996-09-06 1999-07-20 Financial Engineering Associates, Inc. Transformation of real time data into times series and filtered real time data within a spreadsheet application
US5933830A (en) * 1997-05-09 1999-08-03 Corda Technologies, Inc. Device and method for arranging data for use by a data client, such as a graph
US5933638A (en) * 1996-04-04 1999-08-03 Cencik; Peter Method and apparatus for creating application computer programs using an objects evaluation matrix
US5940296A (en) * 1995-11-06 1999-08-17 Medar Inc. Method and system for interactively developing a graphical control-flow structure and associated application software for use in a machine vision system
US5963662A (en) * 1996-08-07 1999-10-05 Georgia Tech Research Corporation Inspection system and method for bond detection and validation of surface mount devices
US5961831A (en) * 1996-06-24 1999-10-05 Board Of Regents, The University Of Texas System Automated closed recirculating aquaculture filtration system and method
US5970506A (en) * 1997-01-20 1999-10-19 Justsystem Corporation Spreadsheet-calculating system and method
US5983268A (en) * 1997-01-14 1999-11-09 Netmind Technologies, Inc. Spreadsheet user-interface for an internet-document change-detection tool
US5991760A (en) * 1997-06-26 1999-11-23 Digital Equipment Corporation Method and apparatus for modifying copies of remotely stored documents using a web browser
US6032157A (en) * 1994-03-17 2000-02-29 Hitachi, Ltd. Retrieval method using image information
US6055549A (en) * 1995-10-26 2000-04-25 Casio Computer Co., Ltd. Method and apparatus for processing a table
US6058434A (en) * 1997-11-26 2000-05-02 Acuity Imaging, Llc Apparent network interface for and between embedded and host processors
US6057837A (en) * 1997-07-15 2000-05-02 Microsoft Corporation On-screen indentification and manipulation of sources that an object depends upon
US6061689A (en) * 1997-05-06 2000-05-09 International Business Machines Corporation Object aggregation representation of relational database rows having nontraditional datatypes
US6078747A (en) * 1998-01-05 2000-06-20 Jewitt; James W. Application program interface to physical devices
US6094684A (en) * 1997-04-02 2000-07-25 Alpha Microsystems, Inc. Method and apparatus for data communication
US6138130A (en) * 1995-12-08 2000-10-24 Inventure Technologies, Inc. System and method for processing data in an electronic spreadsheet in accordance with a data type
US6138140A (en) * 1995-07-14 2000-10-24 Sony Corporation Data processing method and device
US6144375A (en) * 1998-08-14 2000-11-07 Praja Inc. Multi-perspective viewer for content-based interactivity
US6154549A (en) * 1996-06-18 2000-11-28 Extreme Audio Reality, Inc. Method and apparatus for providing sound in a spatial environment
US6195092B1 (en) * 1997-07-15 2001-02-27 Schlumberger Technology Corporation Software utility for creating and editing a multidimensional oil-well log graphics presentation
US6199078B1 (en) * 1998-09-15 2001-03-06 Sphere Software Engineering, Inc. Analytic network engine and spreadsheet interface system
US6222531B1 (en) * 1998-01-05 2001-04-24 Amiga Development Llc Mutatably transparent displays
US6292810B1 (en) * 1997-03-03 2001-09-18 Richard Steele Richards Polymorphic enhanced modeling
US6298474B1 (en) * 1999-04-30 2001-10-02 Intergral Vision, Inc. Method and system for interactively developing a graphical control-flow structure and associated application software for use in a machine vision system and computer-readable storage medium having a program for executing the method
US6301586B1 (en) * 1997-10-06 2001-10-09 Canon Kabushiki Kaisha System for managing multimedia objects
US6317758B1 (en) * 1998-02-20 2001-11-13 Corel Corporation Method and system for detecting and selectively correcting cell reference errors
US6342901B1 (en) * 1998-12-22 2002-01-29 Xerox Corporation Interactive device for displaying information from multiple sources
US6360188B1 (en) * 1998-10-27 2002-03-19 Brixx Limited Time-based modeling
US6366284B1 (en) * 1998-10-01 2002-04-02 Sun Microsystems, Inc. Generating three-dimensional bar charts with unobscured blocks
US6388654B1 (en) * 1997-10-03 2002-05-14 Tegrity, Inc. Method and apparatus for processing, displaying and communicating images
US6400903B1 (en) * 1999-12-23 2002-06-04 Paul Conoval Remote camera relay controller method and apparatus
US6421069B1 (en) * 1997-07-31 2002-07-16 Sony Corporation Method and apparatus for including self-describing information within devices
US6442538B1 (en) * 1998-05-27 2002-08-27 Hitachi, Ltd. Video information retrieval method and apparatus
US6504575B1 (en) * 1998-02-27 2003-01-07 Flashpoint Technology, Inc. Method and system for displaying overlay bars in a digital imaging device
US6565609B1 (en) * 1999-06-15 2003-05-20 Microsoft Corporation Translating data into HTML while retaining formatting and functionality for returning the translated data to a parent application
US6592626B1 (en) * 1999-03-05 2003-07-15 International Business Machines Corporation Method and system in an electronic spreadsheet for processing different cell protection modes
US6631497B1 (en) * 1999-07-19 2003-10-07 International Business Machines Corporation Binding data from data source to cells in a spreadsheet
US6859907B1 (en) * 1999-08-09 2005-02-22 Cognex Technology And Investment Corporation Large data set storage and display for electronic spreadsheets applied to machine vision
US6931602B1 (en) * 2000-12-22 2005-08-16 Cognex Corporation Approach facilitating the selection of various machine vision functionality from among different platforms
US7055098B2 (en) * 1999-02-19 2006-05-30 Lucent Technologies Inc. Dynamic display of data item evaluation
US7069499B1 (en) * 1999-08-09 2006-06-27 Cognex Technology And Investment Company Spreadsheet having a clocked delay line object, for processing a continuous data stream
US7071972B2 (en) * 1997-08-26 2006-07-04 Canon Kabushiki Kaisha Detecting device information including information about a device
US7107519B1 (en) * 2001-08-16 2006-09-12 Cognax Corporation Spreadsheet-based user interface creation
US7266761B2 (en) * 1999-06-15 2007-09-04 Microsoft Corporation Special API interface for interfacing an application with a TWAIN module, negotiating and presenting a user interface for inserting an image into a document
US7348181B2 (en) * 1997-10-06 2008-03-25 Trustees Of Tufts College Self-encoding sensor with microspheres

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6317128B1 (en) 1996-04-18 2001-11-13 Silicon Graphics, Inc. Graphical user interface with anti-interference outlines for enhanced variably-transparent applications
US5848425A (en) 1996-07-01 1998-12-08 Electronic Data Systems Corporation System and method for displaying alphanumeric data in a three dimensional grid
US6226783B1 (en) 1998-03-16 2001-05-01 Acuity Imaging, Llc Object oriented method of structuring a software step program
US6167469A (en) 1998-05-18 2000-12-26 Agilent Technologies, Inc. Digital camera having display device for displaying graphical representation of user input and method for transporting the selected digital images thereof
US6826756B1 (en) 1998-06-30 2004-11-30 Symbol Technologies, Inc. Automatic transfer of data from an input device to a software application
US6317750B1 (en) * 1998-10-26 2001-11-13 Hyperion Solutions Corporation Method and apparatus for accessing multidimensional data
EP1221101A4 (en) 1999-08-09 2003-03-12 Cognex Corp Machine vision spreadsheet
US6332163B1 (en) 1999-09-01 2001-12-18 Accenture, Llp Method for providing communication services over a computer network system
US20020184347A1 (en) 2001-06-02 2002-12-05 Steven Olson Configuration of a machine vision system over a network

Patent Citations (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5121499A (en) * 1985-05-30 1992-06-09 International Business Machines Corp. Method for controlling the order of editing cells in a spreadsheet by evaluating entered next cell attribute of current cell
US5021973A (en) * 1986-01-16 1991-06-04 International Business Machines Corporation Method for assisting the operator of an interactive data processing system to enter data directly into a selected cell of a spreadsheet
US4992781A (en) * 1987-07-17 1991-02-12 Sharp Kabushiki Kaisha Image synthesizer
US5252951A (en) * 1989-04-28 1993-10-12 International Business Machines Corporation Graphical user interface with gesture recognition in a multiapplication environment
US5048018A (en) * 1989-06-29 1991-09-10 International Business Machines Corporation Debugging parallel programs by serialization
US5339392A (en) * 1989-07-27 1994-08-16 Risberg Jeffrey S Apparatus and method for creation of a user definable video displayed document showing changes in real time data
US5546525A (en) * 1989-11-13 1996-08-13 Lotus Development Corporation Computer user interface with multimode selection of displayed controls
US5410649A (en) * 1989-11-17 1995-04-25 Texas Instruments Incorporated Imaging computer system and network
US5255363A (en) * 1990-06-19 1993-10-19 Mentor Graphics Corporation Graph-based programming system and associated method
US5317686A (en) * 1990-09-10 1994-05-31 Lotus Development Corporation Data processing apparatus and method for a reformattable multidimensional spreadsheet
US5226118A (en) * 1991-01-29 1993-07-06 Prometrix Corporation Data analysis system and method for industrial process control systems
US5455903A (en) * 1991-05-31 1995-10-03 Edify Corp. Object oriented customer information exchange system and method
US5481620A (en) * 1991-09-27 1996-01-02 E. I. Du Pont De Nemours And Company Adaptive vision system
US5537104A (en) * 1991-11-11 1996-07-16 U.S. Philips Corporation System for equipment control, comprising a common communication channel
US5416895A (en) * 1992-04-08 1995-05-16 Borland International, Inc. System and methods for improved spreadsheet interface with user-familiar objects
US5883623A (en) * 1992-04-08 1999-03-16 Borland International, Inc. System and methods for building spreadsheet applications
US5623591A (en) * 1992-04-08 1997-04-22 Borland International, Inc. System and methods for building spreadsheet applications
US5265202A (en) * 1992-08-28 1993-11-23 International Business Machines Corporation Method and system for accessing visually obscured data in a data processing system
US5774878A (en) * 1992-09-30 1998-06-30 Marshall; Paul Steven Virtual reality generator for use with financial information
US5651107A (en) * 1992-12-15 1997-07-22 Sun Microsystems, Inc. Method and apparatus for presenting information in a display system using transparent windows
US5504848A (en) * 1992-12-22 1996-04-02 Brother Kogyo Kabushiki Kaisha Word processor with data table calculating function, capable of indicating necessity of re-calculations to solve mathematical expressions in changed data table
US5394168A (en) * 1993-01-06 1995-02-28 Smith Engineering Dual-mode hand-held game controller
US5437006A (en) * 1993-01-27 1995-07-25 Microsoft Corporation Spreadsheet command/function capability from a dynamic-link library
US5893128A (en) * 1993-03-01 1999-04-06 Nauckhoff; Sven Distributed work flow management
US5463728A (en) * 1993-03-10 1995-10-31 At&T Corp. Electronic circuits for the graphical display of overlapping windows with transparency
US5278390A (en) * 1993-03-18 1994-01-11 The Lincoln Electric Company System and method for controlling a welding process for an arc welder
US5481712A (en) * 1993-04-06 1996-01-02 Cognex Corporation Method and apparatus for interactively generating a computer program for machine vision analysis of an object
US5638501A (en) * 1993-05-10 1997-06-10 Apple Computer, Inc. Method and apparatus for displaying an overlay image
US5949432A (en) * 1993-05-10 1999-09-07 Apple Computer, Inc. Method and apparatus for providing translucent images on a computer display
US5880742A (en) * 1993-09-17 1999-03-09 Xerox-Corporation Spreadsheet image showing data items as indirect graphical representations
US5799295A (en) * 1993-12-29 1998-08-25 Kabushiki Kaisha Toshiba Constraint-based spreadsheet system capable of displaying a process of execution of programs
US5530795A (en) * 1994-02-15 1996-06-25 Wan; Hong K. Computer conferencing
US5633998A (en) * 1994-03-03 1997-05-27 Schlafly; Roger Methods for compiling formulas stored in an electronic spreadsheet system
US6032157A (en) * 1994-03-17 2000-02-29 Hitachi, Ltd. Retrieval method using image information
US5574930A (en) * 1994-08-12 1996-11-12 University Of Hawaii Computer system and method using functional memory
US5517586A (en) * 1994-08-16 1996-05-14 Wang Laboratories, Inc. Method and apparatus for automatically specifying a portion of text from a bitmap image of the text
US5915257A (en) * 1994-10-11 1999-06-22 Brio Technology, Inc. Cross tab analysis and reporting method
US5721847A (en) * 1994-10-21 1998-02-24 Microsoft Corporation Method and system for linking controls with cells of a spreadsheet
US5745126A (en) * 1995-03-31 1998-04-28 The Regents Of The University Of California Machine synthesis of a virtual video camera/image of a scene from multiple video cameras/images of the scene in accordance with a particular perspective on the scene, an object in the scene, or an event in the scene
US5815152A (en) * 1995-04-18 1998-09-29 Logical Software Solutions Corporation Method and apparatus for defining and evaluating a graphic rule
US6356932B1 (en) * 1995-07-14 2002-03-12 Sony Corporation Data processing method and device
US6343312B1 (en) * 1995-07-14 2002-01-29 Sony Corporation Data processing method and device
US6138140A (en) * 1995-07-14 2000-10-24 Sony Corporation Data processing method and device
US6055549A (en) * 1995-10-26 2000-04-25 Casio Computer Co., Ltd. Method and apparatus for processing a table
US5742504A (en) * 1995-11-06 1998-04-21 Medar, Inc. Method and system for quickly developing application software for use in a machine vision system
US5940296A (en) * 1995-11-06 1999-08-17 Medar Inc. Method and system for interactively developing a graphical control-flow structure and associated application software for use in a machine vision system
US5768158A (en) * 1995-12-08 1998-06-16 Inventure America Inc. Computer-based system and method for data processing
US6138130A (en) * 1995-12-08 2000-10-24 Inventure Technologies, Inc. System and method for processing data in an electronic spreadsheet in accordance with a data type
US5821993A (en) * 1996-01-25 1998-10-13 Medar, Inc. Method and system for automatically calibrating a color camera in a machine vision system
US5838916A (en) * 1996-03-14 1998-11-17 Domenikos; Steven D. Systems and methods for executing application programs from a memory device linked to a server
US5933638A (en) * 1996-04-04 1999-08-03 Cencik; Peter Method and apparatus for creating application computer programs using an objects evaluation matrix
US5805163A (en) * 1996-04-22 1998-09-08 Ncr Corporation Darkened transparent window overlapping an opaque window
US5764229A (en) * 1996-05-09 1998-06-09 International Business Machines Corporation Method of and system for updating dynamic translucent windows with buffers
US5754348A (en) * 1996-05-14 1998-05-19 Planetweb, Inc. Method for context-preserving magnification of digital image regions
US6154549A (en) * 1996-06-18 2000-11-28 Extreme Audio Reality, Inc. Method and apparatus for providing sound in a spatial environment
US5961831A (en) * 1996-06-24 1999-10-05 Board Of Regents, The University Of Texas System Automated closed recirculating aquaculture filtration system and method
US5963662A (en) * 1996-08-07 1999-10-05 Georgia Tech Research Corporation Inspection system and method for bond detection and validation of surface mount devices
US5926822A (en) * 1996-09-06 1999-07-20 Financial Engineering Associates, Inc. Transformation of real time data into times series and filtered real time data within a spreadsheet application
US5892511A (en) * 1996-09-30 1999-04-06 Intel Corporation Method for assisting window selection in a graphical user interface
US5911044A (en) * 1996-11-08 1999-06-08 Ricoh Company, Ltd. Network image scanning system which transmits image information from a scanner over a network to a client computer
US6256662B1 (en) * 1996-11-08 2001-07-03 Ricoh Company, Ltd. Network image scanning system which transmits image information from a scanner over a network to a client computer
US5983268A (en) * 1997-01-14 1999-11-09 Netmind Technologies, Inc. Spreadsheet user-interface for an internet-document change-detection tool
US5970506A (en) * 1997-01-20 1999-10-19 Justsystem Corporation Spreadsheet-calculating system and method
US6292810B1 (en) * 1997-03-03 2001-09-18 Richard Steele Richards Polymorphic enhanced modeling
US6094684A (en) * 1997-04-02 2000-07-25 Alpha Microsystems, Inc. Method and apparatus for data communication
US5896131A (en) * 1997-04-30 1999-04-20 Hewlett-Packard Company Video raster display with foreground windows that are partially transparent or translucent
US6061689A (en) * 1997-05-06 2000-05-09 International Business Machines Corporation Object aggregation representation of relational database rows having nontraditional datatypes
US5933830A (en) * 1997-05-09 1999-08-03 Corda Technologies, Inc. Device and method for arranging data for use by a data client, such as a graph
US5910895A (en) * 1997-06-13 1999-06-08 Teradyne, Inc. Low cost, easy to use automatic test system software
US5874959A (en) * 1997-06-23 1999-02-23 Rowe; A. Allen Transparent overlay viewer interface
US5991760A (en) * 1997-06-26 1999-11-23 Digital Equipment Corporation Method and apparatus for modifying copies of remotely stored documents using a web browser
US6057837A (en) * 1997-07-15 2000-05-02 Microsoft Corporation On-screen indentification and manipulation of sources that an object depends upon
US6195092B1 (en) * 1997-07-15 2001-02-27 Schlumberger Technology Corporation Software utility for creating and editing a multidimensional oil-well log graphics presentation
US6421069B1 (en) * 1997-07-31 2002-07-16 Sony Corporation Method and apparatus for including self-describing information within devices
US7071972B2 (en) * 1997-08-26 2006-07-04 Canon Kabushiki Kaisha Detecting device information including information about a device
US6388654B1 (en) * 1997-10-03 2002-05-14 Tegrity, Inc. Method and apparatus for processing, displaying and communicating images
US7348181B2 (en) * 1997-10-06 2008-03-25 Trustees Of Tufts College Self-encoding sensor with microspheres
US6301586B1 (en) * 1997-10-06 2001-10-09 Canon Kabushiki Kaisha System for managing multimedia objects
US6058434A (en) * 1997-11-26 2000-05-02 Acuity Imaging, Llc Apparent network interface for and between embedded and host processors
US6078747A (en) * 1998-01-05 2000-06-20 Jewitt; James W. Application program interface to physical devices
US6222531B1 (en) * 1998-01-05 2001-04-24 Amiga Development Llc Mutatably transparent displays
US6317758B1 (en) * 1998-02-20 2001-11-13 Corel Corporation Method and system for detecting and selectively correcting cell reference errors
US6504575B1 (en) * 1998-02-27 2003-01-07 Flashpoint Technology, Inc. Method and system for displaying overlay bars in a digital imaging device
US6442538B1 (en) * 1998-05-27 2002-08-27 Hitachi, Ltd. Video information retrieval method and apparatus
US6144375A (en) * 1998-08-14 2000-11-07 Praja Inc. Multi-perspective viewer for content-based interactivity
US6199078B1 (en) * 1998-09-15 2001-03-06 Sphere Software Engineering, Inc. Analytic network engine and spreadsheet interface system
US6366284B1 (en) * 1998-10-01 2002-04-02 Sun Microsystems, Inc. Generating three-dimensional bar charts with unobscured blocks
US6360188B1 (en) * 1998-10-27 2002-03-19 Brixx Limited Time-based modeling
US6342901B1 (en) * 1998-12-22 2002-01-29 Xerox Corporation Interactive device for displaying information from multiple sources
US7055098B2 (en) * 1999-02-19 2006-05-30 Lucent Technologies Inc. Dynamic display of data item evaluation
US6592626B1 (en) * 1999-03-05 2003-07-15 International Business Machines Corporation Method and system in an electronic spreadsheet for processing different cell protection modes
US6298474B1 (en) * 1999-04-30 2001-10-02 Intergral Vision, Inc. Method and system for interactively developing a graphical control-flow structure and associated application software for use in a machine vision system and computer-readable storage medium having a program for executing the method
US7266761B2 (en) * 1999-06-15 2007-09-04 Microsoft Corporation Special API interface for interfacing an application with a TWAIN module, negotiating and presenting a user interface for inserting an image into a document
US6565609B1 (en) * 1999-06-15 2003-05-20 Microsoft Corporation Translating data into HTML while retaining formatting and functionality for returning the translated data to a parent application
US6631497B1 (en) * 1999-07-19 2003-10-07 International Business Machines Corporation Binding data from data source to cells in a spreadsheet
US7069499B1 (en) * 1999-08-09 2006-06-27 Cognex Technology And Investment Company Spreadsheet having a clocked delay line object, for processing a continuous data stream
US6859907B1 (en) * 1999-08-09 2005-02-22 Cognex Technology And Investment Corporation Large data set storage and display for electronic spreadsheets applied to machine vision
US6400903B1 (en) * 1999-12-23 2002-06-04 Paul Conoval Remote camera relay controller method and apparatus
US6931602B1 (en) * 2000-12-22 2005-08-16 Cognex Corporation Approach facilitating the selection of various machine vision functionality from among different platforms
US7107519B1 (en) * 2001-08-16 2006-09-12 Cognax Corporation Spreadsheet-based user interface creation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103838706A (en) * 2012-11-22 2014-06-04 江苏现代造船技术有限公司 Flexible management information system with process and form customization function
US9934215B2 (en) 2015-11-02 2018-04-03 Microsoft Technology Licensing, Llc Generating sound files and transcriptions for use in spreadsheet applications

Also Published As

Publication number Publication date Type
US7882426B1 (en) 2011-02-01 grant

Similar Documents

Publication Publication Date Title
Ferreira et al. ImageJ user guide
US5414836A (en) Software testing system that employs a graphical interface to generate test cases configured as hybrid tree structures
US5109504A (en) Graphics program adaptor
US6487713B1 (en) Software development system that presents a logical view of project components, facilitates their selection, and signals missing links prior to compilation
US4866634A (en) Data-driven, functional expert system shell
US5627981A (en) Software mechanism for accurately handling exceptions generated by instructions scheduled speculatively due to branch elimination
US6490634B2 (en) Adaptive digital data transfer apparatus and method
US6704743B1 (en) Selective inheritance of object parameters in object-oriented computer environment
US7181697B2 (en) Method of implementing a plurality of system tray areas
US5442793A (en) Method and system for locating an inherited virtual function member of a derived class
US6185728B1 (en) Development system with methods for type-safe delegation of object events to event handlers of other objects
US6282699B1 (en) Code node for a graphical programming system which invokes execution of textual code
US5287514A (en) Method and system for customizing a user interface in a computer system
US7917858B2 (en) Engine for rendering widgets using platform-specific attributes
US20030107596A1 (en) Collection adaptive focus GUI
US5911070A (en) Development system with methods for bi-directional application program code generation
US20070050469A1 (en) Commanding
US5237653A (en) Multiwindow control method and apparatus for work station having multiwindow function
US6014518A (en) Terminating polymorphic type inference program analysis
US5410681A (en) Interpreter for performing remote testing of computer systems
US6061059A (en) Providing a preview capability to a graphical user interface dialog
US6229537B1 (en) Hosting windowed objects in a non-windowing environment
US4773007A (en) Complier code optimization method for a source program having a first and second array definition and use statements in a loop
US6658622B1 (en) Self-diagnosing and self-correcting data entry components with dependency behavior
US6272676B1 (en) Method and apparatus for finding loop— lever parallelism in a pointer based application