DfBaseEntry is designed to be the basis of more-sophisticated data-entry classes (the dbEntry class) and is not intended for instantiation. The class allows the retrieval, display and storage of information between a database field and a form. The Entry class also provides for data verifications.
DfBaseEntry objects provide entry items as the main data-interface mechanism of an application. An entry_item is a complex item based on the Form. In addition to the base definition, entry_items contain information that allow them to interface to the database and perform a variety of data entry related functions. Although the DfBaseEntry class supports multiple items (as does its form super-class) it is expected that there will only exist one item per entry object. Accordingly, all item-based messages will always refer to a single item, Item 0.
The EntryList class inherits all of the capabilities of this class through internal multiple inheritance. You will note that this class contains a number of multi-item, row based messages. These have little application for single item entry classes (like dbEntry) but are needed for the row based EntryList descendant classes (like dbGrid).
An entry_item must be associated with a data source/destination. The source/destination is most-often a database field, but it also may include expressions, or variables. If the argument is a database field, then the normal data movement in both directions between the DBMS and the display will take place. Information will be displayed from the database and changed fields will be stored back in the record buffer. If the argument is a variable, then the variable is treated like a simple data file. The only difference is that the variable may not have any implied database access performed. If the argument is an expression, data will be displayed into the data window based on the evaluated value of the expression. However, the entry_item will be automatically marked as display only, so that users will be prevented from making entries to the item.
Entry_items have a full array of entry options designed to allow the DEO to control data being put to the database. These options include autofind, findreq, noput, skipfound, retainall, retain, forceput and autofind_ge. In addition to the above options, entry options exist (ientry, iexit, and ivalidate) that allow specialized processing when an entry_item is entered, validated and exited. These options are typically (usually preferably) applied to the field globally in a DataDictionary object, but they can be applied on an exception basis in individual DEOs.
Entry_items also have two properties designed to be used in the subclasses of DfBaseEntry. The iprompt and izoom entry options each specify an object. When users press the prompt or zoom accelerator keys, a message is sent to the object identified in the property. This allows custom zooming and prompting in a context-sensitive mode. These options are typically (usually preferably) applied to the field globally in a DataDictionary object, but they can be applied on an exception basis in individual DEOs.
DfBaseEntry options may be changed during the running of the program. The item_option(s) message(s) may be used to change the entry option(s) based on some condition in your program.
This class automatically supports prompt buttons. If a prompt object is defined for this object, a prompt button will appear automatically in it. When the button is pressed, the prompt message will be sent and a prompt object (usually a selection list) will appear. Prompt objects are usually acquired from the data-dictionary object, but may be explicitly defined by setting the prompt_object_id property.
If you do not want automatic prompt-button creation, this feature may be disabled by setting the property prompt_button_mode to PB_PromptOff. A prompt button may be explicitly created by setting the prompt_button_mode property to PB_PromptAuto.
The DfBaseEntry class is a sub-class of the form class and inherits all of its capabilities. This includes support for masking, object-shadowing, status-help display, and context help support.
Subclasses of DfBaseEntry
The dbForm class is a full data-entry environment built from the DfBaseEntry class. Most often, you will be able to use the dbForm class to easily accomplish complex tasks. Creating new class definitions based on the DfBaseEntry class directly would be limited strictly to advanced, highly specialized purposes.