#1# EZ-Forms DataBase by Saje Enterprises and EZX Publishing EZ-Forms DataBase gives you the capability to add, modify, sort, display and print all kinds of information in various ways. Use the on-line manual (from the main menu) or the context sensitive help (via F1) for detailed information. Comments or suggestions for improving EZ-Forms DataBase will be appreciated. EZ-Forms DataBase requires an IBM PC or compatible with at least 640K of RAM. Supported printers include the Epson graphics printers and compatibles, and the HP Laserjet laser printers and compatibles. Display adapters known to work with EZ-Forms DataBase are the IBM monochrome, CGA, EGA, VGA and compatibles. #20# General help for all menus: This menu is broken up into two basic windows. The window at the top of your screen shows several choices. The window at the bottom of the screen expands on what will occur if you choose the highlighted option (the one that has a different background color). Options may be selected in one of two ways. You can either press the first letter key of the desired command, or move the highlight bar over the desired option and press Enter. To move the highlight bar, use one or any combination of the space bar, up arrow, down arrow, left arrow, or right arrow keys. You can also use Home to move to the first top line item on the menu. This is very useful when you need a reference point on the main menu to start a keystroke macro from. The End key will move the highlight bar to the last option. Using the first letter of a command only works in the ACTIVE window. If you don't have a pulldown, then the active window is the top window. Once you pulldown one of the options, that becomes the active window. You must use one of the commands in the pulldown once it is active. You can always use Escape to back out of the pulldown and return to the top menu. #21# In order to get help on specific areas, you must first select the command as explained on the previous screen. Then you can use F1 to get the context-sensitive help for where you are in the program. KEYBOARD MACROS ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Keyboard macros will execute a sequence of keystrokes for you. This can be used to automate data entry, simplify command selection or automate file selection. The 'Alt =' key brings up the keyboard macro menu from any point in the program. Any macro assigned to the 'Shift F10' key is an auto-start macro, which is automatically executed at program startup. Over 100 keyboard macros can be saved to a macro file. This file can be automatically selected by entering it on the EZFDB command line with the '/m' switch, or by using the Load Macro File command in the keyboard macro menu. HINT: To simplify access to a multitude of databases, create a keyboard macro file for each database. Define an auto-start macro to automatically load the database and form files. Define some other macros to simplify data entry and command selection for that database. Then whenever you want to #22# access that database, invoke EZFDB and specify it's associated keyboard macro file on the command line. For example: EZFDB /m=addrs.mac NOTE ÍÍÍÍ In the on-line help and manual, commands are usually identified by using a two part convention. The first part is the item name from the main menu, and the second part is the item name from its pull-down menu. For example, the Database - Open command is frequently mentioned. This is the 'Open' command item in the 'Database' pull-down menu. From the main menu (with no pull-downs shown), you can access the Database - Open command by entering the 'D' key followed by the 'O' key, among other ways. DATA INTEGRITY ÍÍÍÍÍÍÍÍÍÍÍÍÍÍ This stands for the accuracy and proper retention of your data notwithstanding operator error. It is imperative that you avoid certain #23# types of actions while EZFDB is running. These include rebooting, turning off or resetting your computer. Whenever any file is updated by EZFDB, it does not necessarily mean that all data has been properly preserved on disk. All data is properly saved whenever you exit the program, load a new database, or execute the Database - Close command. BACKUPS ÍÍÍÍÍÍÍ The importance of backing up (making copies of) your database and associated files can never be overstated. Hardware and software is never perfect, so backing up your files at least daily is the only way to assure that any problems will be minimized. SUGGESTIONS ÍÍÍÍÍÍÍÍÍÍÍ We have tried to design EZ-Forms DataBase to let you get your job done quickly and easily. Please feel free to forward any suggestions for improvement to us at EZX Publishing, Attn: EZFDB Author. #50# Quick Expression Help ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Expressions can be used for selection criteria, index creation or field calculations. The following screens explain expressions in more detail, but first, here are some examples to give you an idea of what's going on. To find (or print or delete) all records that have a LASTNAME field starting with 'X', the selection criteria expression would be: LASTNAME = 'X' Alphabetic case is significant for data between quotes, but otherwise case is insignificant. The 'UPPER' function can be used to make the search case insensitive: upper(lastname) = 'X' However, since the 'UPPER' function converts all characters to uppercase, the characters in between the quotes must also be uppercase in order to match. The quotes can be either the single quotes (') or the double quotes ("). Spaces anywhere except between quotes or within function or field names are optional and insignificant. Items can be combined to provide further specificity. To find all records that have a CITY field starting with 'DENVER' and STATE field starting with 'CO': CITY = 'DENVER' .AND. STATE = 'CO' #51# Detailed Expression Help ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ All expressions have the same structure, no matter where they're used. They consist of combinations of field names, operators, functions and/or constants. All expressions evaluate to a Logical, Character, Numeric or Date type. Logical expressions have a True or False result and are used for record selection, i.e., selection criteria. Index key expressions can have a Character, Numeric or Date result. A field calculation can have any result type, as long it matches its field type. Evaluation to a specific type means that all parts of the expression, whether they be fields, functions or constants, must be appropriately combined to yield any one type. Any improperly mixed types will cause an error. Memo fields cannot be used in expressions because of the way Memo fields are stored. A common form of an expression is the name of a field. In this case, the type of the expression is the type of the field. A common Logical expression is one that contains nothing. This is the simplest way to specify all records. #52# Constants are fixed values of any type. - Character constants are letters with quote marks around them. A single (') or double (") quote can be used, but be sure to use the same one on both sides of the constant. "Ed", 'Edwardo' and "15515" are all examples of Character constants. If you wish to specify a character constant with a single quote or a double quote contained inside it, use the other type of quote to mark the Character constant. For example, "Andy's" and '"OK"' are both legitimate Character constants. - A Numeric constant represents a number. For example, 7, 82, 2.35 and -22 are all Numeric constants. To enter a number less than 1, precede it with a zero. E.g., enter .25 as 0.25, otherwise the number will not be recognized. - A Logical constant can only be '.TRUE.' or '.FALSE.'. '.T.' and '.F.' are legitimate abbreviations. The '.' is used to distinguish it from a field name. - A Date constant must be specified using the Character to Date function (CTOD) which converts a character string to a date constant. For example, assuming the default date format MM/DD/YY, February 5th, 1993 would be specified as CTOD('02/05/93'). The date format is specified in the Config-Other menu. #53# Field names are entered directly or selected via the F2 key, which gives you a window from which you can select the field and paste its name into the expression with the Enter key. The presence of a field name in an expression will cause the value of that field from the current record to replace the field name in the expression. The value returned matches the type of the field. Operators can relate one part of an expression to another (>, =), or they can combine parts of an expression through a mathematical process (+, -). The result of a relationship is either .TRUE. or .FALSE.. The result of a mathematical process can be a value of any type. Operators have a precedence which specifies operator evaluation order. The precedence of each operator is specified in the following table. The higher the precedence, the earlier the operation will be performed. For example, Divide has a precedence of 6 and Plus has a precedence of 5 which means Divide is evaluated before Plus. Consequently, 7+8/2 is 11. Evaluation order can be made explicit by using parenthesis. For example, 1+2*3 returns 7 and (1+2)*3 returns 9. #54# Operator Symbol Precedence Type Comments ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Add + 5 Numeric,Date Subtract - 5 Numeric,Date Multiply * 6 Numeric Divide / 6 Numeric Exponentiate ** or ^ 7 Numeric X**Y means X to the Yth powr Concatenate I + 5 Character Straight concatenate Concatenate II - 5 Character Concatenate, spaces on end Equal To = 4 Logical Any type Not Equal To <> 4 Logical Any type Less Than < 4 Logical Any type except Logical Greater Than > 4 Logical Any type except Logical Less Than or <= 4 Logical Any type except Logical Equal To Greater Than >= 4 Logical Any type except Logical or Equal To Contained in $ 4 Logical Character only Not .NOT. 1 Logical Or .OR. 2 Logical And .AND. 3 Logical #55# Functions can be used as an expression or as part of an expression and always return a value. Functions always have a name and are followed by a left and right parenthesis. Values (parameters) may be inside the parenthesis. A list of functions follows. Function Description ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ABS(Numeric_Value) Returns absolute value of Numeric_Value CTOD(Char_Value) Convert Character to Date DTOC(Date_Value) Convert Date to Character (in User Date Format) DTOS(Date_Value) Convert Date to String (CCYYMMDD) DATE() Return the system Date DEL() Returns "*" if current record deleted, else " " DELETED() Returns .TRUE. if current record deleted DESCEND(Char_Value) Returns "inverse", for creating descending indexes IIF(Logical_Value,True_Result,False_Result) Returns True_Result when Logical_Value is .TRUE., else returns False_Result INSTR(Char_Value,Char_V) Returns position of substring in string LOOKUP('Index_Field','Index_File','Database_File','Field_Name') Get value from Field_Name in other Database_File, via lookup using Index_File and value in Index_Field. Pick names (in quotes) with F3 -> F6. #56# Function Description ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ LOWER(Char_Value) Converts Character string to lower case LTRIM(Char_Value) Removes preceding spaces from a Character string PROPER(Char_Value) Properizes (upper case first letter of each word) RECCOUNT() Returns the total number of records in the d/b RECNO() Returns the current record number RELATE(....) Same as LOOKUP RTRIM(Char_Value) Removes trailing spaces from a Character string STR(Numeric_Value,Length,Decimals) Convert Numeric_Value to a Char. value SUBSTR(Char_Value,Start_Position,Num_Chars) Returns part of Char_Value TIME() Returns system time as HH:MM:SS TRUNC(Numeric_Value,Length,Decimals) Truncate Numeric_Value at Decimals UPDATE('Index_Field','Index_File','Database_File','Field_Name',Value,Code) Place Value into Field_Name field in related Database_File, via lookup using Index_File and value in Index_Field. Code specifies non- existant rec mode: 0:add but ask, 1:add w/o ask, 2:never add-ignore, 3:never add-error. Add 4 to Code for update only when adding record to the main database. Pick names (in quotes) with F3 -> F6. UPPER(Char_Value) Convert Character string to upper case VAL(Char_Value) Convert Character value to Numeric value ZS(Numeric_Value) Zero Suppression - blanks field when Value = 0 #57# Expression Examples ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ city='CHICAGO' -> Returns .T. (the 'true' constant) when the 'city' field of a record starts with 'CHICAGO'. 'CHICAGO'$UPPER(city) -> Returns .T. when the 'city' field of a record contains 'CHICAGO' in any case. state='TX'.AND.city='HOUSTON' -> Returns .T. when the 'state' field starts with 'TX' and the 'city' field starts with 'HOUSTON'. qty1+qty2 > 100 -> Returns .T. when the 'qty1' field added to the 'qty2' field is greater than 100. SUBSTR(zip,5,1)='3' -> Returns .T. when the fifth digit of the 'zip' field contains a '3'. LOOKUP('cust_id','idx_cust','customer','lname') -> Use 'cust_id' field from current database to search in 'idx_cust' index of 'customer' database, to get contents of 'lname' field. #60# EZ-Forms DataBase Data Entry Commands: Movement Within a Field Movement Between Fields ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ HOME - Beginning Ctrl HOME - First field of form END - Last character Ctrl END - Last field of form  - Cursor left TAB or ENTER - Next field  - Cursor right SHFT TAB - Prev field BKSP - Delete char left PAGE UP - First field on prev page DEL - Delete under crsr PAGE DOWN - First field on next page Ctrl - Word left  - Prev closest field up Ctrl - Word right  - Next closest field down Vertical Form Movement Horizontal Form Movement ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Ctrl T- Top section Ctrl L - Leftmost section Ctrl B- Bottom section Ctrl R - Rightmost section Ctrl U- Up one line Ctrl P - Left one character Ctrl D- Down one line Ctrl N - Right one character Ctrl PAGE UP - Top first Ctrl PAGE DOWN - Bottom rightmost #61# EZ-Forms DataBase Data Entry Commands (continued): Edit Functions ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Alt A - Alternate character lookup Alt = - Keyboard macro menu Alt C - Clear current field Alt F1- Form Help Alt D - Place today's date into field Alt F2- Form Pick List Alt E - Edit Memo field (same as F9) Alt F3- Relational Pick List Alt F - Recall field from Recall Buffer Alt M - Execute all field calculations Alt N - Recall and increment F9 - Edit field Alt O - Recall and decrement F10 - Save record Alt P - Print form Alt R - Recall record from Recall Buffer Ctrl Q- Abort/Flush macro Alt S - Save record (same as F10) Ctrl X- DOS shell Alt T - Place current time into field Alt V - Clear all fields Alt Z - Greek Characters (printer commands) #62# Record Movement Record Movement via selection criteria ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ HOME or F - First record Ctrl HOME or F - First matching rec END or L - Last record Ctrl END or L - Last matching rec PGUP or P - Prev record Ctrl PGUP or P - Prev matching rec PGDN or N - Next record Ctrl PGDN or N - Next matching rec Form Movement Display / Revise Functions ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ  - Left section Alt A - print with Alternate form  - Right section Alt D - load new Database  - Up section Alt F - load Form file  - Down section Alt I - select Index Alt L - print Label Alt O - index temporarily Off Global Functions Alt P - Print current form ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Alt R - Remember rec (load Recall) Alt = - Keyboard macro menu Alt S - Save filled out form (.fof) Ctrl Q- Abort/Flush macro Alt T - expression Tutor Ctrl X- DOS shell Alt W - Write form as ASCII file #63# Permissable Entries ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ As you move around the form to different fields, you will notice the contents of the bottom line change. The row and column numbers indicate the cursor position within the form. Whenever editing is started, row 1 column 1 of the form is positioned at the top left of the screen. The 'Field:' area of the bottom status line indicates the field name and type for the current field the cursor is in. For example, 'Field: NAME/C' indicates that the cursor is in the field named 'NAME' and it's a Character field type. Some of the field types have limits on what characters can be entered and how the characters can be structured.  Type Description ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ C Character No limits N Numeric Numbers, '-' (and decimal point if decimals>0) D Date Numbers and characters specified in the Date Format L Logical 'Y','y','T','t' for True -OR- 'N','n','F','f' for False M Memo No limits #64# Window Fields ÍÍÍÍÍÍÍÍÍÍÍÍÍ EZFDB will only place data into a form field when that field's name matches a database field name. Even so, the form field can be longer or shorter than the corresponding database field. When the form field is longer, all the data appears but data entry will be limited to the length of the database field. When the form field is shorter, the field is automatically windowed. A window field is a form field whose data is longer than its area length. All data is accessible, it's just not all shown in the form at the same time. Initially, only as much of the data field as can fit in its form field is displayed. During data entry, when the cursor approaches the end of the field, the remaining data will automatically scroll leftward into view. The cursor will remain in the field until it reaches the end of the data. Similarly, when the cursor approaches the beginning of the field, the remaining data will automatically scroll rightward into view. Again, the cursor will remain in the field until it reaches the end of the data. #65# Memo Fields ÍÍÍÍÍÍÍÍÍÍÍ All Memo fields are automatically Windowed fields since the permissable Memo field length (5000) is much longer than the longest possible form field. However, there is one exception: Memo fields cannot be changed within the form but the first part is displayed in the form. An external memo editor (MEMO.COM) must be invoked (with Alt E) during data entry to edit Memo fields. This allows for use of the full screen for editing. When you exit the editor, the Memo field will be updated. An intermediate file is used for the editing: MMxxxxxx, where xxxxxx is a random number. EZFDB comes with a full screen editor program, MEMO.COM. This simple editor is a separate, stand-alone program with its own on-line help. You are free to replace this with any other editor that can accept an edit file on its command line. To use another editor, either copy it into the EZFDB directory as MEMO.COM or MEMO.EXE, or make a MEMO.BAT file that calls it. EZFDB searches for MEMO.BAT, then MEMO.COM, then MEMO.EXE, so make sure no files exist that will be found before the one you want. #66# Data Entry ÍÍÍÍÍÍÍÍÍÍ The commands used to access the many data entry features are listed in the following help screens. Availability of some features is indicated by the bottom line of the data entry screen. The contents of this line changes from field to field, based on what has been designed for this form and database. [phrw] on the bottom line represents: P = Form Pick List - Alt F2 for data entry, design with Form-Edit. Choose from fixed list of possible entries. H = Form Help - Alt F1 for data entry, design with Form-Edit. Provides information specific to a section of the form. R = Relational Pick List - Alt F3 for data entry, design with Revise-Fields. Choose from dynamic list from related database. W = Word-wrap - automatic in data entry, design with Form-Setup. Treats a set of form fields as a word-processing "paragraph". #70# Expression Tutor and Calculator ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ This dialog box will show the results of any expression you enter. Any field names in the expression will be replaced by data from the current record. You can enter and re-enter expressions as long as you like, until you've mastered the operation or function of interest. The expression can also be any numeric formula, so you can use this expression evaluator as a calculator. Expressions must evaluate to a specific type (Character, Date, Numeric or Logical), so be sure to not mix types. The screens that follow give details on how to form expressions. Use the ESCape key to exit the Expression Tutor and Calculator when you are done. #200# Database - Open will select an existing database for use. If you want to create a new database, you instead need to use the Database - New command. Enter the database name only, without the .dbf extension. If you don't remember exactly what it's called, a list of files will be presented whenever you enter just the directory name and leave the filename blank, or whenever you enter a wildcard for the file name. Directory listings consist of files in the current directory, then subdirectories in the current directory, and then valid drives. Selecting a file will load that database. Selecting a subdirectory will show a listing for that subdirectory. Selecting a drive will show a listing for the current directory on that drive. A file or directory name consists of up to 8 characters. The following characters CANNOT be used in file or directory names: ."/\[]:|<>+=;, Directory names are optional and if left blank, the current directory is assumed. The directory name can contain a drive name, a path name or both. A path name is a list of directories separated by backslash characters ('\'), that leads through the directory tree up to the directory of interest. #201# Refer to your Disk Operating System (DOS) manual for detailed information on directories and file names. The following files are read at this time: - database file (.dbf) Stores the actual data - memo file (.dbt) Where memo fields are stored - database defs (.dbr) Stores Index List, Calculations, Rel. Pick Lists - form file (.frm) EZ-Forms form for data entry or reports - form/db file (.fdb) Contains form field names, Word Wrap and Field Sequencing info - index files (.ndx) Record ordering data (optional) The database file is always required for this command. If the form file does not exist, EZFDB can create one for you. When the form file exists without the form/db file, EZFDB can create the form/db file for you. The resulting form/db file may not place database fields into form fields properly, since form field names are assigned from the database field names by sequence. #210# Database - Close will flush all internal disk buffers to disk and terminate access to selected files. This is useful for saving data to a floppy before its removal, or before powering down a system. This command is just as effective as exiting the program at preserving data. On a network, this command is useful for freeing up a database so someone else can make structural modifications, which require exclusive file access. #230# Database - New can create a database using a currently loaded form, any other existing form, or it can also create a new form. Once a form is available, a Field Setup menu is presented, which allows modification of all field characteristics before the database is actually created. Subsequent changes can be made with the Revise - Fields command, or the Database - Build command. The Field Setup menu allows you to setup field width, type and name for all fields. In the first window (selection list), move the cursor with the up and down arrow keys to select the field you want to change, then press the 'Enter' key. This will bring up a second window (dialog box) that allows you to change certain characteristics for the selected field. Once in the dialog box, the direct field selection keys PGUP (previous field), PGDN (next field), Ctrl PGUP (first field) and Ctrl PGDN (last field) are active. The F10 key will return back to the field selection list. Field Calculations can only be entered and modified with Revise - Fields. If a database with the same name already exists, you will be prompted before it is overwritten. #231# Characteristic Description ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Name Can be up to 10 alphabetic, numeric or '_' characters. Type Character, Numeric, Date, Logical or Memo. Width 0 through 256, depending on type. Decimals For Numeric fields only. Number of digits after decimal pt., 0 - 15. Must be at least 2 less than field width. Limits ÍÍÍÍÍÍ The sum of the widths of all fields (10 for Memo fields) is the record length. The maximum record length is 32000 characters. The total number of fields in the form or database cannot exceed 1000. Limits are subject to available memory. #232# Type Can Contain Width ÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Character any ASCII character 0 - 256 (letters, numbers, symbols and spaces) Numeric '0' - '9', '.', '-' 0 - 19 Decimals 0 - 15 Date '0' - '9', and other chars in user format 8 Logical 'T','t','Y' or 'y' for logical true (.T.) 1 'F','f','N' or 'n' for logical false (.F.) Memo any ASCII character 10 (letters, numbers, symbols and spaces) (0-5000 in memo file) Data Entry Help ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ During data entry, the field name and type is displayed on the bottom line. A help screen is available to explain permissable entries by type. #233# Memo Fields ÍÍÍÍÍÍÍÍÍÍÍ A Memo field is very similar to a Character field, except that its data is stored in a separate Memo (.dbt) file and each Memo field's length can be variable and relatively long. The advantage is that when an occasional elaboration is required for a certain record, there are no limits on how long or short the elaboration can be. Only 10 bytes are used for each Memo field in a record to point to the corresponding data in the Memo file. When there is data in a Memo field, it is written to the Memo file in 512 byte blocks. When there is no data, nothing is written to the Memo file. #235# EZ-Forms DataBase will create a new form and database from answers you place in this dialog box. Fields names are automatically assigned, and all field types and widths are the same, as specified. Once the default database definition is built, a Field Setup menu is presented, which allows full control over all field characteristics. Since defaults have already been setup, the field definitions can be used as is. The Field Setup menu presents a list of fields. Selecting one of the fields will present a dialog box for modification of the default field characteristics. Once in a dialog box, the direct field selection keys PGUP (previous field), PGDN (next field), Ctrl PGUP (first field) and Ctrl PGDN (last field) are active. The F10 key will return back to the field selection list. #236# EZFDB imposes some limits on the form it automatically creates. The form width is fixed to 80 columns, and the height varies depending on the number of desired fields. Remember, the maximum height is 999 lines, but this can be further limited by the Config - Memory settings. EZFDB tries to fit one field per line, but if there are too many fields, it will try to fit two fields per line. Depending on the actual field width and total number of fields on the form, some fields may be shortened only in the form, and therefore windowed. Of course, the Form - Edit command can then be used to edit the form and make it more suitable. For full control over the form size and format, use the Form - Create command to create a new form. Then run Database - New and tell it you want to create a database from an existing form. #240# Database - Build will rebuild (clone) the current database to a new one, or create a new database that matches an alternate form. When you choose a new form, a copy of the current form is made. The new database will then be created using the new or alternate form's name. Once a form is available, the Field Setup menu will appear. This allows you to setup all field characteristics for the NEW database. EZFDB can add, delete or move fields only when creating a new form. Whenever fields are added, deleted, or moved, EZFDB will change the form accordingly. When building is done, you may want to edit the form to move new fields into proper position, or to remove text relating to deleted fields. However, when editing the form, be careful about moving, adding, or deleting fields. You can use Form - Setup to change the field names accordingly. When you're finished making field changes, press the F10 key to continue to the next window, which asks for selection criteria and index ordering. By entering an expression, you can select which records get copied to the new database. Specifying index ordering will cause records to be written to the new database in current index order. NOTE: After this command executes, the PRIOR database and form are still active, not the new ones. #241# Database - Build is useful for making changes to your database structure, after you have created the database. You simply build to a new name, then load the new database to verify any changes. You can then use the Database - Erase command to delete the old database. Field Setup Commands NOTE: Only available when creating a new form. ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Insert - insert a new field, before or after the current one, if room. Delete - delete the current field. Alt C - copy field characteristics into paste buffer. Alt D - copy field characteristics into paste buffer, then delete field. Alt P - insert field, using field characteristics in paste buffer. If the original field from which the paste buffer was loaded was not deleted, then make sure to change this field name. Alt V - view new form in its current state. #242# Using an alternate form to build a new database can be rather involved, but in some situations it may be necessary. For example, there may be times when massive changes to the form are needed. Or there may simply be no room in a certain area to add more fields. Here are the steps: 1) Create the alternate form, either from new or by altering a form. 2) Use the Form - Setup command to assign form field names. Remember, these names must match the appropriate fields in the original database. 3) Load the original database. 4) Optional: use Form - Open to load the alternate form to verify proper form setup and field naming. 5) Run Database - Build. 6) Load new database to verify results. #243# Database - Build is useful for creating a different database to be used by a different department or person. In this case, only some of the records and fields are needed. For example, a company has a master customer database, which includes all domestic and foreign customers. A new domestic sales department is created, so the master customer database must be split into two - one domestic, and one foreign. Here are the steps: 1) Load the master customer database. 2) Select the Database - Build command, and enter a name for the domestic customer database. 3) When the Field Setup menu appears, make any necessary modifications, then press F10 to the selection criteria dialog box. 4) For selection criteria, specify: COUNTRY=' '.or.upper(COUNTRY)='USA'.or.upper(country)='U.S.A.' This is simply an example, specific cases may vary. 5) Select index or non-index order, and press ENTER to start the build. 6) When complete, the original customer database will still be active. 7) Load the new domestic customer database and verify the results. Since you still have the original database, it's easy to redo the above steps if there were any problems. Redo until you are satisfied. 8) Repeat steps 1-7, with appropriate changes, for the foreign database. #250# Database - Export will export the current database to a seperate file, in one of the 6 supported formats. You can select which fields get exported, field order, and what records get exported. Records will be ordered based on the currently active index. EZFDB leads you through the following steps: 1. Select export file type. Each of these types are fully documented in the manual, and are also available for importing with Revise - Import. 2. Fields to export. Here you can control which fields get exported and their sequence. 3. Selection criteria. Here you enter an expression which selects what records get exported. 4. Export file name. #260# Database - Rename will rename all files directly associated with a database. These files are identified by the following file extensions: .frm - form .fdb - form/database .dbr - database definitions .dbf - datbase .dbt - memo As with Database - Erase, other files that may be associated with a database are not affected. These include: .ndx - index .cnf - configuration .mac - keyboard macros To rename one of these other files, you can exit or shell to DOS, and use the DOS 'REN' command. However, there is a problem with renaming an index file using DOS, since the index file name is also present in the database's Index List. To rename an index file, you could: 1) Use the Index - Erase command to erase the index file and then use the Index - Create command to recreate it with the new name. OR ... #261# 2) Exit or shell to DOS, and rename the index file. Then re-enter EZFDB, tell it to eliminate invalid indexes from the Index List, then use the Index - Include command to include the index under its new name. If any associated keyboard macros use an old file name, that macro must be re-recorded using the new file name. #270# Database - Erase will erase all files directly associated with a database. These files are identified by the following file name extensions: .frm - form .fdb - form/database .dbr - database definitions .dbf - datbase .dbt - memo As with Database - Rename, all other files that may be associated with a database are not affected. These include: .ndx - index .cnf - configuration .mac - keyboard macros To erase one of these other files, you can exit or shell to DOS, and use the DOS 'DEL' command. #280# Database - Describe will change the descriptive comment that shows up whenever you request a database directory listing. This description is first entered at time of database creation. A similar description is also maintained for each form, and can be changed with the Form - Describe command. When listing a database directory, to get the database descriptions, EZFDB must read part of each database .dbr file. This can be rather time consuming on slower machines, or on directories with very many databases. The Config - Files menu contains an option to turn off descriptions when listing database directories. Initially, this is on. #300# Form - Open will load a form file (.frm) and its form/database file (.fdb) if it exists. A form defines the data entry screen and/or the report format. Before selecting a database, or after closing a selected database, loading a form can be the first step towards creating a new database, or an alternate view/report form. To create an alternate form, create a master form, then use Form - Setup to name the form fields appropriately. To create a database from a form, use Database - New. When a database is selected (with Database - Open), the corresponding form and form/database files are also loaded. Subsequent form loading will provide an alternate view or report format for that database. Enter the form name only, without the .frm extension. If you don't remember exactly what it's called, a list of files will be presented whenever you enter just the directory name and leave the filename blank, or whenever you enter a wildcard for the file name. Directory listings consist of files in the current directory, then subdirectories in the current directory, then valid drives. Selecting a file will load that form. Selecting a subdirectory will show a listing for that subdirectory. Selecting a drive will show a listing for the current directory on that drive. #301# A file or directory name consists of up to 8 characters. The following characters CANNOT be used in file or directory names: ."/\[]:|<>+=;, Directory names are optional and if blank, the current directory is assumed. The directory name can contain a drive name, a path name or both. A path name is a list of directories separated by backslash characters ('\'), that leads through the directory tree up to the directory of interest. The form file (.frm) must have been created by EZ-Forms DataBase or any other EZ-Forms program. EZ-Forms DataBase supports all printing features, but not math formulas of other EZ-Forms programs. Most math formulas can be rewritten as EZFDB Field Calculations (see Revise - Fields). EZ-Forms DataBase also supports the use of the HP LaserJet Font and Graphics Support Pack (HPLJFGSP) for printing. #310# Form - Print will print a form, with or without a database active. If a form is not already active, you can enter the name of one. When a form is read at this time, you are given a chance to view the form before the full-screen Print Setup menu appears. When the form is larger than the screen, the arrow keys will move the form to allow viewing of other sections. #320# Form - View allows you to view a form, with or without a database active. If a form is not already active, you can enter the name of one, or choose one from a directory list. When the form is larger than the screen, the arrow keys will move the form to allow viewing of other sections. #340# You can create many different sizes of forms in EZ-Forms DataBase. One of the most common is 64 lines by 80 columns. Text 80 columns wide at 10 cpi will just fill a 8 1/2" x 11" sheet of paper. Most printers use 66 lines per page vertically. So if you allow for a little leeway on positioning the printer head at the VERY top of the page, things should fit well. If you have a 80 column printer like the Epson MX80, you can print a form as large as 88 lines by 132 columns by using compressed print and 8 lines per vertical inch. Those of you lucky enough to have a wide carriage printer may be able to print up to 130 columns normal size print or about 230/240 in the compressed mode. The largest form you can print on a MX100 with wide paper is 88 lines (if you use 8 lpi) by 230/240 columns. This is a huge form! For multiple page forms, simply total up all the lines. So for a 3 page form where there are 66 lines per page, the total number of lines is 198. The maximum EZFDB form height is 999 lines, and the maximum width is 254 columns. This is dependent on the maximum settings in the Config - Memory menu. #350# Form - Setup allows you to enter field names directly into the form, so that you can see the form while you're deciding on names. Form names can also be assigned when creating a new database with Database - New, but the form is not accessible there. Use F2 to view/paste database field names. Field names consist of up to 10 characters with only alphabetic, numeric and the '_' characters allowed. Alphabetic case is insignificant. Field windowing is used when the field is smaller than 10 characters. All form field names and parameters are stored in the form/database (.fdb) file. Until the database is opened or created, form field names only apply to the form. When a new database is created, the database field names are made identical to the form field names. When a database is open and an then an alternate form is opened (without closing the database), the form field names are matched up to the database field names, in order to find out where to place data on the form. Any fields without a match always display blanks and any data entered into these fields will be lost. F2 - View/paste database field names F7 - Insert new field name F3 - Form Field Parameters F8 - Delete field name at cursor F9 - Edit name full size #351# F3 brings up a Form Field Setup dialog box. This is where Field Sequencing and Word Wrap is selected. Field Sequencing controls where the cursor will go after data entry for the current field is complete. This is the forward sequence. Normally, the next field is defined by normal left to right, top to bottom sequence. Field Sequencing allows for alternate sequencing, to make data entry easier and more intuitive. The next field is selected by entering its name, which also automatically selects the backward sequencing from the next field to the current field. Field sequencing is sometimes necessary, when lines contain multiple fields, with unrelated purposes. Word Wrap can be selected for each field, and is normally off. With Word Wrap on, words will not be divided between fields, unless a word is too large for the field. When there are words in the next field, the wrapped word is inserted at the beginning. This word wrap process continues, in word-processing fashion, until a non-word-wrap field is encountered. You will also notice that cursor movement within and between fields changes to be more like a word processor. #360# EZ-Forms DataBase Form Editor Commands: FUNCTION KEYS ALT FUNCTION KEYS CTRL FUNCTION KEYS ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ F1 - Help AF1 - Form Help CF1 - F2 - Resize Form AF2 - Form Pick List CF2 - F3 - Insert Field Markers AF3 - CF3 - F4 - Delete Field Markers AF4 - CF4 - F5 - Draw Line AF5 - CF5 - F6 - Erase Line AF6 - CF6 - F7 - Draw Border AF7 - CF7 - F8 - Erase Border AF8 - CF8 - F9 - Clear Form AF9 - CF9 - F10- Editor Menu AF10- CF10- #361# Single keystroke commands (most of these can also be executed via F10): Alt A - Alternate Character Lookup Ctrl A - Add Block Attributes Alt B - Bold Text Ctrl B - Box Draw for Marked Block Alt C - Copy Block Ctrl C - Alt D - Delete Block Ctrl D - Alt E - End Block Ctrl E - Erase Block Attributes Alt F - Find Text Ctrl F - Feed Date/Time into form Alt G - Graphics Walk-Around Ctrl G - Delete Character Alt H - Hide Block (disable block) Ctrl H - (same as backspace) Alt I - Information about Form Ctrl I - (same as tab) Alt J - Justify Text Ctrl J - Insert a line at cursor Alt K - Cross Hatch Generator Ctrl K - WordStar-like ^K Commands Alt L - Line Graphics Palette (1-4) Ctrl L - Large Character Lookup Alt M - Move Block Ctrl M - (same as Enter) Alt N - Notepad (use between forms) Ctrl N - Number (Auto Number Setup) Alt O - Ctrl O - Kybd macro prefix (Global) Alt P - Print Current Form Ctrl P - Patch Form Alt Q - Abort edit Ctrl Q - Abort/Flush macro Alt R - Replace Text Ctrl R - Read ASCII file from disk Alt S - Start Block Ctrl S - Save Form and Resume Edit #362# Single keystroke commands continued: Alt T - Text rotation (vertical) Ctrl T - Alt U - Underline Ctrl U - Alt V - Visible block enable Ctrl V - Verbose (Help Message Level) Alt W - Ctrl W - Write ASCII file to Disk Alt X - Save form then exit edit Ctrl X - Exit to DOS Shell (Global) Alt Y - Generate CFO Grid Ctrl Y - Delete Line Alt Z - Printer Cmds (Greek Chars) Ctrl Z - Alt = - Kybd macro Menu (Global) Ctrl Enter - Inserts a line in the form at the current cursor line. NOTE: The various graphics commands use one of four different sets of line type characters, depending on the palette selected with Alt L. #363# Most printers support printing of graphic characters. EZ-Forms DataBase provides printer drivers to handle most of them. If you have a text only printer, then EZ-Forms DataBase provides a translation of these characters into something your printer can handle. Cursor movement commands: ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Use the keypad arrows to move Home Move to left side of form left, right, up, and down. End Move to right side of form Ctrl Home Upper left of form Use the Control key with the Ctrl End Lower left of form keypad left and right arrows Ctrl PgUp Top of screen/form to move to left and right of form. Ctrl PgDn Bottom of screen/form Note: Commands beginning with the Ctrl, Alt or Shift key, are selected by holding down the first key and then pressing the second key. For example: to use the Ctrl Home command, you would hold down the Control key and then press the Home key once. #364# Note: Auto numbering must be set up in the form. During data entry, this information is used to automatically insert the updated number into the record. Special character oriented commands that only affect printing: Alt U -- Underline the character at the cursor. NOT on graphics! Alt B -- Bold the character at the cursor. NOT on graphics! Alt 1 -- User defined function 1. \ Alt 2 -- User defined function 2. \ Use the Alt I command to see Alt 3 -- User defined function 3. / the configured names for these. Alt 4 -- User defined function 4. / Note: These affect only the printed form. A status of these commands is shown on the bottom of the screen. You can see the status updated as you move the cursor. Character status will toggle from U and B if you press the key again. The user defined functions can be altered thru the configuration portion of EZ-Forms DataBase. #370# Form - Describe will change the descriptive comment that shows up whenever you request a form directory listing. This description is also entered whenever a form is saved from the form editor. A similar description is also maintained for each database, and can be changed with the Database - Describe command. When listing a form directory, to get the form descriptions, EZFDB must must read part of each form (.frm) file. This can be rather time consuming on slower machines, or on directories with very many forms. The Config - Files menu contains an option to turn off descriptions when listing form directories. Initially, this is on. #400# Add Records ÍÍÍÍÍÍÍÍÍÍÍ Add new records to current database. New records are concatenated onto the end of the database file. The new key values along with the database record number will be inserted into all index files in the Index List. When you enter the F10 function key, the record will be added. If no error occurs, you will get a menu of options: A Add another record  R Revise current record  P Print this form  Same as Print - Single L Print label  F Print with alternate form Explained on next screen E Exit or Escape    Your selection (ARPLFE)?  #401# The 'L - Print label' and 'F - Print with alternate form' commands require a form file (.frm) and associated form/database (.fdb) file. The form/database file must contain at least one form field name that matches a database field name. After the files are read, the alternate form is matched to the database by field name and the appropriate data is inserted into the new form. Then, the Print Setup menu allows you to print the alternate form with the current data. Once printing is complete, the original form is re-loaded and the previous menu appears. Unique Indexes ÍÍÍÍÍÍÍÍÍÍÍÍÍÍ If you've selected any of the indexes to have unique key values only, and the record you're adding contains a key value that is already in that index file, the record will not be added to the database or any of the index files. Unique indexing is an option available at time of index creation with the Index - Create command. This prevents adding of duplicate records. #410# EZ-Forms DataBase Display Commands: FUNCTION KEYS ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ F1 - Help F2 - Search for record matching given value, anywhere within record F3 - Find records via match of given mask against record F4 - Query database for records via index key and/or selection criteria F5 - Find next record containing duplicate key F6 - Select a record by entering its database record number F7 - Add a record F8 - Delete/undelete this record (can be purged later) F9 - Edit this record F10- Exit #411# Edit Records ÍÍÍÍÍÍÍÍÍÍÍÍ At this point, you can browse through all records in the database by using the keys listed later in this help area. To help find a particular record, you can use one of the movement keys described previously, or you can use one of the find commands, Search (F2), Match (F3) or Query (F4). The Search command is probably a good first choice, since all that is required is a string of sequential characters for which to look. The Match command may be more accurate, if you know what field the characters are in. Even though Search and Match are fairly simple, they may need a long time to find the record, since each record is searched one by one. The Query command has two parts, of which either or both can be used to help find records. The first part deals with using the current index file to find a record. As long as the character string of interest lies at the beginning of an index key, a matching record can be found in an instant. The second part of the Query command allows you to enter an expression for selecting certain records. The expression query still must search record by record, but entering an index key to search for (first part) can #412# speed this up by finding a record that matches the key before searching via the expression. To edit any record, use F9 to enter the edit mode on the currently displayed record. Using the F8 key to delete a record will simply tag the record for later removal by the Revise - Purge command. The Config - Misc command can change whether the delete-tagged records are displayed by any of the record display commands. If you know the number of a particular record you want to see, you can use the F6 function to retrieve that record by number. A record's number is its position in the file relative to the beginning of the file. The very first record is number 1 and they are numbered sequentially after that. A database can contain up to 2,147,483,647 records, assuming your disk is large enough. Once a record is added, its record number is fixed until the record is deleted with the F8 function and purged with the Revise - Purge command. After a record is purged, its record number and position in the file are reused by the next valid record. #420# Revise - Delete allows you to delete all records that match the selection criteria you provide. Once deleted, the records remain in the database until the database is purged. The Config - Other command contains an option for selecting whether EZFDB displays deleted records or not. This command is useful for situations where you want to rid your database of some records that contain data that set them apart from the records you do want. For example, let's say your database is getting too large for your disk and you want to delete all records that are older than a year. Assuming that today's date is 12/22/92 and the date field's name is 'DATE', you would enter this formula for the selection criteria: DATE < ctod('12/22/92') When this command finishes, it displays the number of records found and the number of records deleted. If these numbers are different, its only because some of the records it found were already deleted. #430# Revise - Undelete allows you to restore any set of previously deleted records. It will not allow you to restore any deleted records that have already been purged by the Revise - Purge command. This command allows you to easily change your mind about records you've previously deleted. For example, let's say that you normally delete invoices for orders that total less than $5.00. Assuming that the total field is Numeric and it's name is 'TOTAL', you could enter this formula for the selection criteria: TOTAL < 5.00 When this command finishes, it displays the number of records found and the number of records undeleted. If these numbers are different, its only because some of the records it found were already not deleted. #440# Revise - Purge will physically remove all deleted records from your database. This allows you to reuse the space taken up by deleted records. You will probably want to make a backup of your database before running this command. CAUTION: Be v e r y careful, since no backup copy of the database is automatically made before the purge is carried out. Once the purge is started, it may be impossible to restore the deleted records. NOTE: After the database is purged, any record numbers that you've noted may now be different. Be careful when recalling records with these possibly obsolete numbers. #450# Revise - Merge will add records to your database from another dBASE compatible file that has some matching field names. First, you select a database to merge. Then EZFDB will check each field name in the merge database against each field in the current database. If there are no matches, an error is given. If there is at least one match, one record is added to the current database from each record in the merge database. Only the fields that match by name are copied into the new database record. All unmatched fields are left blank. Any size discrepencies between matched fields are handled by truncation or padding with spaces, whichever is appropriate. CAUTIONS: No field-type validation is performed on non-character fields. No field calculations are performed. Finally, one record is added to the current database from each record in the merge database. Indexes are automatically updated. #460# Revise - Import will add records from a non-dBASE compatible database. First, you select a database to import. Then EZFDB asks you for a database file type, all of which are listed on the next screen. These same file types are also available for export with Database - Export. The only way this command will work is if the fields in the import database are in the same order as the fields in the current database. Additionally, if there are no field separators, the fields must match up by size or translation errors will occur. Also, for type 5 where there is no record delimiter, the record length must exactly match. CAUTIONS: No field-type validation is performed on non-character fields. No field calculations are performed. Finally, one record is added to the current database from each record in the import database. Indexes are automatically updated. #461# The following types are supported: Type Field Sep Rec Sep Notes ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 1 CR LF None PeachText (field per line) 2 , CR LF MailMerge 3 , CR LF Lotus PRN 4 None CR LF Fixed length packed 1 5 None None Fixed length packed 2 6 None CR Only File Express format #470# Revise - Recalc will recalculate all field calculations in all records. If you've turned Auto Recalc on, this may not be needed, since all field calculations would be performed during data entry, and just prior to saving a record during an Add or Edit function. Here are some examples where Revise - Recalc may need to be run: 1) After merging or importing records from another database. 2) After changing some fields with the Revise - Substitute command. 3) You normally leave Auto Recalc off, and now you do want to calculate everything. 4) After changing some pertinent information in a database that is 'related' to the current database via the Relate function in a field calculation. #480# Revise - Substitute will set a certain field of selected records to a particular value. An expression can be used to create the value. For example, assume the selection criteria expression is 'ZIP='606', the field name is 'STATE' and the substitute expression is '"IL"'. This will place 'IL' into the 'STATE' field of all records with zip codes starting with '606'. This command achieves nearly the same result as the Replace command of any word processing program. The search value in the word processor's Replace command is similar to the selection criteria expression in conjunction with the field name. The replace value is similar to EZFDB's substitute expression. The substitute expression can specify any value of the same type as the field to be substituted. This allows the use of math, relations, properizations, etc. When the replace is carried out, the entire field is set to the substitute expression's result, not just the portion found. So, the entire field is replaced. #490# Revise - Fields allows you to change any database characteristic, except database field width. To change field widths or field order, a rebuild with Database - Build will be necessary. Field Calculation and Relational Pick Lists are saved into the database-related (.dbr) file. All other field characteristics are saved into the database (.dbf) file. A Field Calculation is an operation performed on a particular field. This operation is specified by an expression, which evaluates to a result of the same type as its field. Entry and modification of Field Calculations can only be done with the Revise - Fields command. A Relational Pick List is a more visual but less automatic version of the automatic Lookup feature, available via a Field Calculation. It is also a more powerful version of the Form Pick List. Instead of choosing from a fixed list, records from a related (secondary) database are displayed in a pick list manner. Data from the current (primary) record helps select the start of the list, but all records are accessible. Since these characteristics are kept with the database, data entry through an alternate form will have no affect on Field Calculations or Relational Pick Lists, even if some db fields are missing from the form. #491# Revise - Fields presents a list of fields. Selecting one of the fields with F2 or F3, will present a dialog box for modification of the chosen field characteristics. Once in a dialog box, the direct field selection keys PGUP (previous field), PGDN (next field), Ctrl PGUP (first field) and Ctrl PGDN (last field) are active. The F10 key will return back to the field selection list. F10 from the selection list will save the changes. NOTE: All indexes are rechecked after the new characteristics are saved to the database. If you change the name or type of a field whose old name or type is being used by an index, an error will result. Rebuild all index files which use old field names or types in their key expressions. #500# View - Look #510# Search for a record containing a given value, anywhere within that record. Alphabetic case is insignificant. This is the simplest method of searching, but it may find more records than you need, in which case you may have to specify a longer search string or use the Match or Query command instead. The 'index number of where to start search' allows you to speed up the search by specifying at what position in the file to start the search. The index number is very similar to the record number. The index number represents the position of a record's index key within the active index file, relative to the beginning of that file. When there is no active index, the index number is identical to the record number. #520# Find records by applying the given mask to each record until a match results. Any character position containing a '*' will be masked out of the search, essentially ignoring it. The '*' represents a wild card, where it in effect matches any character. All other characters are matched by position, ignoring alphabetic case. A Match is more powerful than a Search, but more information about the target record is required. In some cases, Match may be too restrictive or too slow. The Query command can utilize the index to speed up the search, or it can use a search expression for maximum accuracy. #530# Query gives you the most power in finding records. To accomplish this, Query is divided into two parts, either or both of which can be used. The first part, which is placed in the upper half of the entry box, is called the Seek, where the currently active index is used to find a record. The second part, which is placed in the lower half of the entry box, is called the Find, where an expression is used to find a set of records. The additional power comes from being able to combine the above two parts to speed up an otherwise slow Find. When both parts are specified, a Seek is performed to find a matching index key, then the sequential Find is performed, record by record. If there is no active index, the index key value is ignored. For example, assume we have a database of names and address indexed by zip code and we want to find 'John Brown' in zip code '99076'. If we use the Find part by itself, the selection criteria expression would be: NAME = 'John Brown' .AND. ZIP = '99076' Since Find searches in index order and doesn't automatically notice that zip code is part of the expression, we must needlessly sit through the #531# first part of the search. For a large database, this can take quite some time. All zip codes from 00000 to 99075 must be searched before it finds 99076. With the Seek part alone, we need just enter '99076' as the index value, and the first record with zip code 99076 is immediately found. But still, we have to use the Find part to find 'John Brown'. If both parts are used in conjunction, the responses would be: Index value: 99076 Selection criteria expression: NAME = 'John Brown' The first record for zip code 99076 is found immediately, and then the first John Brown record is found. In many cases, the Query command will be faster than Search or Match, even for simple searches like the above one. However some of this speed gain is offset by the extra time needed to enter an expression. For the uninitiated, this can be considerable. You will need to judge, based on the situation, whether to use Search, Match or Query to achieve the quickest overall results. #532# To further clarify, a Seek is almost always faster than a Find for two reasons: 1) Since the index fields are already known, only a value need be entered instead of an entire expression. 2) Find searches the database record by record, using the index to order the search. Seek uses the index file only, and since the index file is maintained in the B+Tree format, the search is very fast. Once the value is found in the index, the corresponding record is retrieved instantaneously. Query essentially combines the above two operations - Seek followed by a Find. A Seek can result in one of the following conditions: 1) The value was found. 2) Inexact find. The value was found but had fewer characters than the index file keys. For example, if "Andy " was the index file key value, seeking for "Andy" would yield an inexact find since there were 8 characters in the index file key value and 4 characters in the seek #533# value and the first 4 characters match. 3) The value was not found, so the record with the key value that's just greater than the seek value will be displayed. 4) The value was not found, and the end-of-file was reached during the search. Therefore, the next greater value record can't be displayed. A Find can be sped up by turning off all indexes with the Index - Off command. This will search the database record by record without using any index file and result in faster file accessing. Turning off all indexes will of course disable the Seek operation. Case Sensitivity ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ The Search and Match functions are not sensitive to alphabetic case, but Query (Seek then Find) is. To minimize Seek errors, the seek value is automatically converted to upper case whenever the 'upper' function appears at the beginning of the index expression. Similarly, the 'lower' function will automatically convert the seek value to lower case. #540# View - Browse will display 21 records per screen and allow you to browse through the entire database. A Selection Criteria expression can select which records to display. For example, by entering the expression 'city="CHICAGO"', you can limit Browse to only display records for 'CHICAGO'. Once in the Browse screen, you can change the selection criteria by using a function key to select Search, Match or Query. First, enter the names of the fields you want to see on the screen, separated by '/'s. If you choose less than can fit on the screen, the fields directly following the last one you list are used to fill it up. If you choose more than can fit on the screen, the remainder is truncated. Then, you can enter the selection criteria expression. On the screen, one of the top lines is devoted to column titles, which are simply the names of the fields. When no fields are entered and the input line is blank, EZFDB automatically builds the screen starting with the first database field, and continuing in database field order until the screen is filled. View - Browse also allows you to delete/undelete records, search for duplicates, edit, add, and view the entire form. #550# View - Report will display a summary of a set of records. The summary consists of at least a count. When a Numeric field is specified, the summary also includes a sum and average. The count is the number of records that match the selection criteria. This means that the expression is evaluated on every record of the database and the count is incremented by one for each record that yields a true result. When the optional field is entered and its Numeric, a sum and average are computed on that field for each record that was counted. This command is useful for getting some quick overall information on your database. For example, if you wanted to count the number of records that contained 'HOUSTON' in the city field, you could enter: Expression: 'HOUSTON' $ city   Report Field:  After all records are accessed, a count would appear. A sum and average is not computed since no Report Field was specified. Also, now you can choose to run Report again or make a simple printout of it. #560# View - Fields lets you browse through all the field definitions for the current database. The display style is identical to the Revise - Fields command's display. Num - field's order number Name - field name, used in expressions Type - C)haracter, N)umeric, D)ate, L)ogical or M)emo Width - A.B, where A is the total width and B is the number of places after the decimal point for Numeric fields Field Calculation - expression used for field's data (truncates at end with '...' if too long) #570# View - Other allows viewing of any other database, in a tabular form similar to View - Browse. It will display 21 records per screen and allow browsing through the entire database. First, select the database to view. Any database except the currently open one is browsable here. To view the open database, use View - Browse instead. Then, enter the names of the fields you want to see on the screen, separated by '/'s. If you choose less than can fit on the screen, the fields directly following the last one you list are used to fill it up. If you choose more than can fit on the screen, the remainder is truncated. On the screen, one of the top lines is devoted to column titles, which are simply the names of the fields. When no fields are entered and the input line is blank, EZFDB automatically builds the screen starting with the first database field, and continuing in database field order until the screen is filled. #580# View - Info displays a single screen of pertinent information regarding the current status of EZ-Forms DataBase. The screen is divided into four parts: Database - info on currently loaded, open database Form - info on currently loaded form Indexes - info on current index and Index List DOS - memory statistics Blank parts signify no available information. #600# Index - Select allows you to select a new current index from the index list. The current index is the index that controls the order in which records are displayed. The Index List is a list of index files that are valid for the current database. The Index List is stored in the .dbr (database definitions) file. Index files can be added to the Index List by using the Index - Create or the Index - Include command. Index files can be deleted from the list by using the Index - Erase command. To select an index, a list of valid index files in the Index List is given. The cursor initially highlights the current index. The columns are as follows: Name - index file name D - This letter stands for 'Default'. A 'D' in this column indicates that this index is the default current index. That means that this index will be the current index whenever this database is selected via the Database - Open command. U - This letter stands for 'Unique'. A 'U' in this column indicates that this index was created with the 'unique' option. Anytime a record is added or revised with an index key identical to one that already exists, an error will result. Expression - The expression that was used to create the index file. #610# Index - Off turns off all indexed record access. This allows the records to be displayed in chronological order. When a database is first created, no indexes exist for it and the Index List is empty. All displays show the records in chronological order, i.e., the order in which the records were entered. Once the first index is created, it becomes the default index. Whenever the database is selected via the Database - Open command, the default index is active. The only way to go back to a chronological index is either by using the Index - Erase command to erase the index or by using this command to turn off all indexes. Even after indexed record access has been turned off, all indexes are still updated whenever a record is added or modified. Turning off indexed record access is a way to speed up the Find command, since it normally searches using the active index, which takes more time. #620# Index - Find Dup will find any records that have the same index key values. This command will only work on the current index so be sure to select the appropriate index for your duplicate search. Duplicates cannot be found when there is no index selected, since no key is defined. Once the first duplicate is found, all record movement functions are available. This allows you to move between the duplicates to help decide which duplicate needs to be modified, deleted or whatever. To continue the duplicate search, or to restart the search at any time, use the F5 function. NOTE: When you delete a record, and the Use Deleteds option in Config - Other is off, the next record in the list is automatically displayed. If the next record is another duplicate, it may not be found as such, since the F5 function starts duplicate searching from the current record. The solution is to move to the previous record after deleting one. The View - Browse screen also has an F5 - Find Duplicate function. This can be more useful when more than one duplicate exists for any record. #630# Index - Create will create a new index file from a given expression. When complete, the index's file name will be added to the Index List. There is a limit of 12 indexes in the Index List. The expression must be the kind that evaluates to a Character or Numeric type. Logical expressions are only used for selection criteria. Memo fields cannot be used in an index expression. The result of the expression on a given record is the index key for that record. The result must be of proper type and cannot be longer than 100 characters. UPPER(last_name+first_name) This expression will create an index ordered by each record's last_name then first_name fields, all converted to upper case. For example, if last_name='Smith ' and first_name='Andrea ', the index key is 'SMITH ANDREA ', which is of Character type. A filename for the index file is required. If the filename already exists in the Index List or in the specified directory, a warning is given before the file is overwritten. #631# The 'Require unique key values' question requires a yes or no response. When yes, any duplicate keys encountered during index creation will halt the creation process with an error indicating what record contains the duplicate key. In addition, duplicate key values will cause an error after adding or revising a record. Records with key values already in the index file cannot be entered. A 'no' response allows any keys, and therefore allows possibly duplicate records. To create a descending index, use the DESCEND function. For example, to create a descending index using the previous example, enter: DESCEND(UPPER(last_name+first_name)) To create a descending index with a date value or numeric value, first convert it to a character value with the DTOS or VAL functions. For example, to create a descending index using a date field, enter: DESCEND(DTOS(date)) For a numeric field, enter: DESCEND(VAL(number)) #640# Index - Rebuild will rebuild any one index file or all index files listed in the Index List. Rebuilding an index file is usually only necessary when one of the files has been damaged or the database has been modified without the corresponding modification made to the index files. EZFDB cannot always determine when an index file is invalid. Occasional checks are made where possible. Here are some examples of when the index file is partially checked for validity: 1) When a database is initially selected, the database file and all its Index List indexes are opened. When an index file is opened, the expression that was used to create the index file is checked against the database for valid field names and field types. 2) When an index is active, the index helps determine which record to display. A particular entry in the index file corresponds to a record in its database. If the corresponding record no longer exists or it has a different key value, an error will occur. 3) When a record is accessed by number, the index file is not needed. After the record is retreived however, the key is determined and found in the index file to setup the next indexed access. An error will occur when the key is not found in the index file, or when the key points to a different database record. #650# Index - Erase will delete an index file and remove its entry from the Index List. This may be necessary when you decide that you no longer need an index you've previously created. If an index file is deleted by any other method, you will get an error when the database is opened with Database - Open, since the index file name is still present in the Index List. At that time, you can choose to delete the index from the Index List, thereby eliminating future error messages. #660# Index - Include will add an existing index file to the Index List. This is only needed when the database and its index files were created by another program and you're setting it up for use with EZFDB. Enter the index name only, without the .ndx extension. If you don't remember exactly what it's called, a list of files will be presented whenever you enter just the directory name and leave the filename blank, or whenever you enter a wildcard for the file name. Directory listings consist of files in the current directory, then subdirectories in the current directory, then valid drives. Selecting a file will load that index. Selecting a subdirectory will show a listing for that subdirectory. Selecting a drive will show a listing for the current directory on that drive. A file or directory name consists of up to 8 characters. The following characters CANNOT be used in file or directory names: ."/\[]:|<>+=;, Directory names are optional and if left blank, the current directory is assumed. The directory name can contain a drive name, a path name or both. A path name is a list of directories separated by backslash characters ('\'), that leads through the directory tree up to the directory of interest. #670# Index - Default will select a default index. This is the index that will be active whenever the database is selected using the Database - Open command. The default index is identified by a 'D' in the Index - Select command's index listing. The View - Info command will also indicate the default index. #680# Index - Test will completely test the accuracy of all indexes. In most cases, this will not execute much faster than rebuilding the index, but it is useful for finding certain problems. If an error is found, a description is displayed and testing is aborted. #700# Config - Printer options are: U Select a printer by pressing U and specifying a predefined printer type. This must be done before you can customize a printer driver. This first step sets up the basic printer defaults. M Modify a predefined printer type. This allows you to customize the printer driver for things such as initialization string, user defined functions, etc. You should first choose a basic printer type with the U option. C Change the default printer and user defined function names. S Show the configured printer defaults. This screen will display a number on the left side to number each string. These numbers correspond to the numbers in the "Modify predefined printer type" section. L Select printer port number, LPT1 through LPT4. EZ-Forms DataBase will support almost any printer on the market. Some of the printers, such as the Epson, are so numerous that we have taken the time to customize EZ-Forms DataBase to provide many print options. #701# Look for your printer in this list and choose it. The list is in alphabetical order by manufacturer name. If you cannot find your specific printer, try one that may be similar to it. Please notify us if your printer is not listed, and you have found a driver that works properly with it, so that we can provide it in our printer list for future releases. Some printers in the list are followed by mode or emulation information, such as Epson or LaserJet. If yours does, make sure your printer is setup in this mode. The left column of the printer list is a type code, which identifies which printer driver EZFDB is to use. If your printer is not in the list, or does not work properly, here is a description of each driver. After reading this, you may be able to choose a driver that is more suitable. All of these drivers are available at the end of the printer list. A. Plain generic dot matrix This type should work with ANY printer. Plain dot matrix/daisywheel. Only standard ASCII (like 1,2,Z,-, etc.) are sent to this printer. No control codes. ALL character graphics symbols are translated to a standard symbol like -, |, and +. #702# B. IBM Extended ASCII No ESC Sequences IBM Graphics printer compatible codes (ASCII codes above 127 like Ú Å ¿ etc). EZ-Forms DataBase sends the same character graphics symbols as you see on the screen to the printer. NO escape sequences are used, therefore no special print attributes are supported. C. IBM ASCII with ESC Sequences Same as above, but uses IBM Proprinter escape sequences to provide some of the special print attributes. D. HP LaserJet Font Cartridge Y This driver requires the Y font cartridge (or any other cartridge with the IBM character set) to be inserted into the printer. E. HP LaserJet with Optional Soft Fonts This is for use with the EZX optional HP LaserJet Fonts and Graphics Support Pack (HPLJFGSP). It can be used to display up to 10 different fonts and 15 different graphic images, with unlimited repetition throughout the form. Any printer that supports PCL 4 or higher, and has at least 1MB of internal memory can be used. Printers with less memory can can still work, but total number of fonts and graphic images will be limited. The HPLJFGSP also works in conjunction with the Printer - Preload command, to speed up printing by loading all fonts, #703# graphic images and the form only one time. Subsequent printing only sends the filled-in portions of the form. F. HP LaserJet with HPGraph For older LaserJets without a Y font cartridge or the IBM character set, such as the LaserJet II series, this driver can be used. It requires the HPGraph program to be loaded prior to running EZFDB. The font is fixed to portrait, at 10cpi (80 col, 66 lines). G. Okidata Plus Series (Utility mode) For older Okidata printers without Epson compatibility, this driver will print the graphics and attributes on your forms. H. HP LaserJet with Basic Soft Fonts As an alternative to the type F driver, this driver can print compressed and landscape forms. Refer to HPLJFNTS.EXE for more info. I. HP LaserJet/DeskJet with PC-8 Symbol Set This driver is the simplest and quickest LaserJet driver to use, but requires that the printer support the IBM character set, PC-8. Of course, these printers can also use drivers E or K, with the HPLJFGSP. J. HP LaserJet/DeskJet with PC-8 and Macros Same as driver type I, except can also print graphic images via HP print macros. #704# K. HP LaserJet with Optional Soft Fonts and PC-8 Same as driver type E, except uses the PC-8 font for the default font, font 0, instead of the HPLJFGSP font 0. 1. Epson 9 pin dot matrix Uses Epson escape sequences for print attributes and to generate high quality graphics. 2. HP ThinkJet (Epson mode) Similar to driver type 1, but uses different resolution for graphics, as required. 3. Epson LQ 24 pin SW selected font Same as driver type 1, but for 24 pin printers. Also selects the basic draft font. To use the front panel or switches to select any other font, use driver type 4. 4. Epson LQ 24 pin HW selected font Same as above, but uses default font. L2. HP LaserJet/DeskJet Series This is a family of drivers. When selected, it shows a list which allows a choice of driver types I, J, H, E, K, F or D. Refer to the above descriptions for further information. #705# PS. Postscript with PSFX This is for any Postscript printer. PSFX is a TSR program that converts Epson 9 pin codes into Postscript. PSFX must be loaded prior to running EZFDB. Refer to PSFX-DOC.EXE for further information. Driver type 1 is used. Superscript and subscript are not supported. #706# The printer control codes are broken into five basic groups. 1. Codes 1-8: Printer initialization/exit, form initialization/exit, and and the 6 lines per inch (6 lpi) and 10 characters per inch (10 cpi) codes. The drawing below shows you how they are used. ÕÍÍÍÍÍ Printer Initialization ³ ÕÍÍÍ Form Initialization ³ ³ ÕÍ Print one line ³ ³ ³ -- Send text quality codes to printer (see 19 & 20) ³ ³ ³ -- If 6 lpi use 6 lpi codes else use 8 lpi codes ³ ³ ³ -- If 10 cpi use 10 cpi codes else use 17 cpi codes ³ ³ ÔÍ End printing line and loop back to print another line ³ ÔÍÍÍ Form Exit ÔÍÍÍÍÍ Printer Exit 2. Codes 9-16: User defined character attributes. These codes are used for EZ-Forms character attribute functions. #707# 3. Codes 19-20: Selects either high quality or draft quality text. 4. Codes 21-68: Character graphics symbols. If you are using a text driver this string will be sent to the printer to print the the character shown. On some printers you can get them to print character graphics symbols but they aren't in the same order as the IBM Extended ASCII Symbols. These codes allow you to translate the order to match your printer. Also, you can configure an escape sequence for each one of these symbols to get your printer into graphics, draw the character, then return to normal text mode. These translate strings offer you a means to really customize EZ-Forms DataBase. These codes do not affect the graphics drivers. In the bit-image graphics drivers, a graphics escape sequence is used to draw the entire line at one time instead of using these translate strings. #708# 5. Codes 69-98: Greek characters. These are user defined commands to direct the printer to do something. They are defaulted to spaces to maintain correct form spacing. Add any printer commands you want for these special characters. The first time EZFDB encounters the symbol in a form it will send the the On sequence. The second time it will send the Off sequence (they toggle states each time used). NOTE: Printer driver types E, J and K use Greek characters for graphic image placement. In these cases, the Greek character printer codes are not replaceable. #709# EZ-Forms DataBase allows you to customize the "translate strings" it uses to work with your printer. These printer command strings consist of up to 18 (24 decimal) characters to be sent to the printer plus a length character you use to tell EZ-Forms DataBase how many of the characters to send. All codes are displayed in hex (base 16). If you are changing codes in this area, you probably are already used to working in hex. If not, then most computer books provide a quick tutorial on working with hex and may even provide a conversion table between decimal and hex. Please be careful when modifying these codes. You can easily enter codes that have your printer doing all sorts of strange things. #710# This menu gives you complete control over the way you print a form. It also places a lot of responsibility on you to know how your printer works. In particular, you need to know how wide the form is and whether it will fit on the width of paper in your printer. Most Epson series printers can only print 80 characters per line normally or 132 characters per line using compressed print. This is the type of information you will need to refer to your printer manual for or see a PC Guru in your area. Warnings: ÍÍÍÍÍÍÍÍÍ Epson series printers can't print both compressed and bold at the same time. Because of this conflict, EZFDB disables bold when printing a compressed form. #715# High level problem description: EZFDB has sensed an error while trying to initialize your printer. The perceived error may or may not be real. The most common problem here is forgetting to turn on the printer. The second most common problem is that the printer is off-line. If you are fairly sure that everything is all right with your printer, then tell EZFDB to NOT abandon printing (Ignore) and to try printing anyway. If there really is an error/problem in your system, then it may lock up when you print anyway! Technical problem description: Interupt 24 (Abort, Retry, Ignore) checking has been vectored thru the EZFDB code disabling that message. The result of an interrupt call indicates that there is a serious printer problem in your system. You will no longer have the option to abort thru the Int 24 handler. If you choose to proceed with printing, ALL further error messages will be disabled. This will cause one of three things to happen. One - if there is no problem, then printing will work as normal. Two - you may be able to "print thru" the error with EZFDB continually ignoring the errors (nothing to the printer). Three - your system locks up forever, there really is a serious problem! #717# Did you press one of the keyboard keys? That is the signal to EZ-Forms DataBase that you would like to abandon printing. If you pressed a key by accident and would like to continue printing, answer N for no, you don't want to abandon printing. Otherwise, press Y for yes to abandon printing. #720# The "Status" on the left reflects the selected options for printing. These options can be changed by pressing the key shown under "Select" heading. Some combinations of the options are not valid. That is why some of the selected options under "Status" switch their condition. For example, when you press 8 for 8 lines per vertical inch - the 6 will be deleted from the "Status" area. You can't have both 6 and 8 lines per inch selected at the same time. Many printers do not support the full range of options shown. A summary of printer capability by driver type is shown below. Driver Types Options NOT Supported ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ A, B . . . . . . . . . . 6, 8, S, V, F, U F. . . . . . . . . . . . S, V, F, U E, I, J, K . . . . . . . U C, D, G, 1, 2, 3, 4. . . F, U H . . . . . . . . . . . 6, 8, S, V, F NOTE: Not all 24 pin printers support the Double Tall attribute. #721# To change the default printer type, use the Config command of EZ-Forms DataBase located in the main menu. Don't forget to tell EZ-Forms DataBase to retain the new printer type. Filling out Pre-printed Forms ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ EZ-Forms DataBase has a Clear Forms Overlay selection on this menu, which allows you to easily use most preprinted forms. To use this feature, first create a form to act as the template. Make sure that all the fields match or align with those on your preprinted form. When you go to print, select C for Clear Forms Overlay. This will ensure only the unprotected area (the form fields) will be printed. The form outline is not printed. #725# Orientation ONLY applies to HP LaserJet drivers type E, I, J and K. EZ-Forms DataBase allows you to print your form in the landscape (sideways) orientation if you are using an HP LaserJet with one of the LaserJet drivers. For driver types E and K, EZFDB will download the landscape fonts (they have a .sfl extension) and use them for printing. Please ensure the landscape fonts are in your default directory. You must also have a landscape version of your print macros. The print macros have an L or P as the last letter of the macro name to denote the orientation in which they were created, and when EZFDB should use them. Examples: macro01p.hpm (portrait) and macro01l.hpm (landscape) When using printer driver type H, the orientation will automatically match the orientation of the font that is downloaded. #730# You are being asked to input in HEX, the byte you would like to enter at this location. Don't forget the length byte has to contain the number of characters you want to send to the printer. The length byte doesn't count against the total so the maximum is 18 (24 in decimal). These codes are sent to the printer during printing. #735# EZ-Forms DataBase allows you to download custom fonts to your printer before printing a form. Steps in the process: ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 1. You select any font other than 0. For example, Font 1. 2. Tell EZFDB to print. 3. EZFDB will run a DOS shell to execute FONT1.BAT (place the commands for downloading your font in FONT1.BAT). 4. For landscape printing, specify a landscape font. 5. After FONT1.BAT executes, normal printing of your form will take place. The batch file's name is built up of 'FONT' plus the 'font number you select' with Print Setup option U, plus '.BAT'. Example: You select font 27, then EZFDB will execute FONT27.BAT before printing your form. #740# This option refers to the actual number of lines on the paper in your printer. Normally a 8 1/2 by 11 inch sheet of paper using 6 lines per inch contains 66 lines (6x11=66) or 88 lines using 8 lines per inch (8x11=88). EZ-Forms DataBase will print blank lines at the end of your form to advance the paper to the top of the next page. Examples: Form length L setting Additional line feeds ÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 64 66 2 80 80 0 Formula for additional line feeds (ALF): ALF = Form length - L setting. If ALF is 0 or negative, no additional line feeds will be printed. A few printers may require "tweeking" of these numbers to compensate for nonstandard paper or unusual print size. The default minimum lines per page setting is the length of your form. The maximum is set to the maximum lines supported by EZFDB (999 lines max). #745# EZ-Forms DataBase allows you to print more than one copy at a time. Enter the number of copies desired at the prompt. Please ensure you have the "lines per page" option set for the correct value to advance your printer after printing a form to the top of the next page. The default value will work for most printers. A few printers may require the number of lines under "lines per page" option to be modified. You may abandon the printing of multiple copies just like a single copy. By pressing a key on your keyboard you can signal EZFDB to give you this option. If selected, all further copies will be abandoned. EZ-Forms allows you to store the print attributes into a form. During printing, these attributes are used. The attributes include: the number of copies, whether to compress the printed form, etc. #770# EZ-Forms DataBase allows you to customize the name of the printer and user defined print functions/attributes. When you choose a basic printer type (under Use Predefined), EZFDB loads a generic set of text labels. As you customize the printer driver, you should modify these names to document the changes. Example: If you customize user function 4 to switch your printer into double high, then install the user function 4 name to say "Double High Character". Use the modify printer driver option to modify the command codes sent to your printer when a user defined function is attached to a character. #775# This very confusing screen shows you the codes contained in the user configurable printer command strings. These strings control many of the operations during printing. See the modify option on the printer selection menu for a breakdown of what each command string does. The format for the information is: Location: 1 2 3-26 What it is: [Command string number] [length] [printer commands] Number base: (in decimal) (in hex) (in hex) The first byte of the command tells EZ-Forms DataBase how many of the possible 24 bytes to send to the printer. Hex (base 16) was chosen for the commands to reduce the display space and to allow more commands per string (example: 255 is hex FF). #800# Print - Multiple will print all records that match the given selection criteria, using the current form. The first dialog box is very similar to the Query command's. For each matching record, the form is filled out and printed. The next form will be printed immediately after the previous one. If you answer 'Y' to the 'Break form across page?' question, a form that appears at the end of a page may have its last part printed on the beginning of the next page. A 'N' answer will cause the form to be printed on the new page if all of it can't fit in the remainder of the current page. If the form itself is larger than a page, it will be broken across a page boundary, but each form will start on a new page. When a Window field or a Memo field is printed, only the first part of its data will appear on the form. #810# Print - Single will print the current record, and then move the paper in the printer to the top of a new page. Be sure to have your printer aligned to the top of the first page before printing. #820# Print - Labels will print all records that match the given selection criteria, using an alternate form. This command differs from Print - Multiple by being able to print forms 1, 2, or 3, etc. accross, and remove multiple blanks between fields (auto label spacing) and lines. This allows use of 2x, 3x, or 4x, etc. labels and laser printer label sheets. With label spacing, labels look more natural. Label Spacing ÍÍÍÍÍÍÍÍÍÍÍÍÍ The width of fields on a form are fixed, but sometimes the data within them is not. This can lead to an unnatural-looking label. For example, consider 2 fields on the same line, for first and last name, each 20 characters wide. Without label printing, the label would look like: DAWN DAVIS 12212 Pasadena Ct. Pasadena, CA 99999 #821# A label looks more natural with automatic label spacing and blank line removal, thereby bringing all information close together, like: DAWN DAVIS 12212 Pasadena Ct. Pasadena, CA 99999 With label spacing, both protected (~) and non-protected extra blank spaces are considered blank and are candidates for removal. Automatic Label Spacing only makes sense when the start of a field is not significant. To prevent a field from being moved, simply place a non-blank, protected character in front of it, in the form. To prevent a blank line from being moved, simply place a non-blank, protected character on that line, in the the form. After printing, the current form is automatically reloaded. Be sure to have your printer aligned to the top of the first label before printing. #822# Limitations on Label Size ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ For processing while printing labels, EZ-Forms DataBase utilizes unused portions of the maximum form area. The size of this maximum form area is defined by the maximum form row and column numbers in the Config - Memory dialog box. This imposes some limitations on the size of a label and how many can be printed across. ù The maximum number of labels that can be printed across, is equal to the maximum form width divided by the current form width. For a typical label of 40 columns in width, a maximum form width of 132 columns will allow for printing 3 labels accross. ù A label form can be no taller (number of rows) than half the maximum form area height. This is rarely a problem, and only becomes a consideration when the label has more than 66 rows. For example, when the form area is set to 248 columns by 132 lines, a 40 column by 6 line label can be printed up to 6 across. #830# Print - Alternate will print all records that match the given selection criteria, using an alternate form. First select the alternate form, then enter the selection criteria. After printing, the current form is automatically reloaded. For each matching record, the form is filled out and printed. The next form will be printed immediately after the previous one. If you answer 'Y' to the 'Break form across page?' question, a form that appears at the end of a page may have its last part printed on the beginning of the next page. A 'N' answer will cause the form to be printed on the new page if all of it can't fit in the remainder of the current page. If the form itself is larger than a page, it will be broken across a page boundary, but each form will start on a new page. When a Window field or a Memo field is printed, only the first part of its data will appear on the form. #840# A report is a detailed listing of some or all of a database. Sometimes this can be accomplished by printing the main form for each record with Print-Multiple, or an alternate form with Print-Alternate, or an alternate form used as a label with Print-Labels. A report is used to print page titles, page headers, column titles, etc. Similar to labels, an alternate form called a "report form" defines the report layout. Before creating a new report, you must first create a new form to be used as the report form. If you have not done so already, exit this command and run Form-New to create a report form first. ù A report form is usually the size of a printed page, and contains a page header, detail and footer to use for the report. It is very similar to any other alternate form, but the fields on the form must group together to form a detail section, which is then repeated throughout the form. ù The detail section is assumed to start on the first line that contains a field, and to end on the last line that contains a field. Blank lines can be added between detail instances. ù The portion of the report form above the detail section is the page header. #841# ù The non-blank (protected) portion of the form below the detail section is the page footer. To allow border printing throughout the report, footer start line can be specified. ù Any one of the indexes created for this database can be used to control record ordering. ù A selection criteria expression can select which records to print. ù All of the above information is stored into a report file, which has a .rpt extension. The next time you print a report, you simply select this report file. The following diagram represents a general report form, divided into all possible sections. Header and footer are optional. #842# ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Header ÃÄÄÄ Can contain text, graphics, or even be empty. ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ NO FIELDS. ³ Detail ÃÄÄÄ Must contain at least one field. Can also contain ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ text, graphics, blank lines, etc. ³ Detail ³ ³ repeated ÃÄÄÄ This area must be completely filled with protected ³ here ³ blanks (tildes, ~). It must be large enough to hold ³ ³ at least one more detail section. ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ Footer ÃÄÄÄ Similar to header. NO FIELDS. ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ To print page number, date and time, a series of repeating characters is placed into the header or footer at the desired position. PPP - page number (3 char sequence minimum, maximum 10) DDDDDDDD - current date (8 char sequence required) TTTTTTTT - current time (8 char sequence required) #843# EZ-Forms DataBase will recognize any of the above sequences, and replace it with the appropriate information at report printing time. For page number, a minimum of 3 characters in a row is required, with no intervening characters. Date and time require 8 characters in a row. Date and time can occur more than once, and will be the same throughout the report. Page number can only occur once. To define a new report, first create a report form using the above guidelines. Then select the Print-Report command, which also allows you to edit and/or print an existing report. EZFDB guides you through report creation, editing and printing. The end result is simply the printed report form, with as many records as can be printed in the detail areas. EZFDB comes with an example report called CITIES.RPT. This is a report of US cities, listed alphabetically by name, using data from the CITIES database. The report form is CITIESRP.FRM. To help clarify the above concepts, first open the CITIES database, then open CITIESRP.FRM as an alternate form, without closing the database. Now view the records via this report form to get a feel for what a report form should look like. Then re-open the original CITIES form, and print the CITIES report. #850# Print - Fields will print a report of all the field definitions for the current database. Only simple ASCII characters are sent to the printer. The report can serve as documentation of your database structure. It can also be a reference for when you are modifying the form, creating an alternate form, or rebuilding the database. #860# Print - Preload is only available when you have the optional EZX HP LaserJet Fonts and Graphics Support Pack (HPLJFGSP) loaded, and you are using a LaserJet compatible printer with printer driver type E or K, and your printer has enough memory. Normally, when printing 1 or more forms, the soft fonts and graphic images are sent to the printer, followed by the form and the filled-in fields. Whenever you print a relatively small number of forms at a time, you must wait for all of this to be sent to your printer, each time you print. Print - Preload will send the soft fonts, graphic images and form to your LaserJet printer, and set it all up as an Automatic Overly Macro. This means that whenever you print a form, none of this has to be re-sent. Only the information in the filled-in fields has to be sent to the printer. This can tremendously speed up the printing of even complex forms. #861# NOTES: 1) When the form length is greater than the page length, i.e., the form is comprised of multiple pages, then the form is not sent during preload, but sent during every print. This is because a LaserJet Automatic Background Macro is limited to 1 page in size. 2) When running Preload on a form and then starting printing with an alternate form, EZFDB will ask if the printer should be unloaded. Usually the answer to this question is yes, but if the alternate form is identical, you could say no. This prevents the original form from being printed on top of your alternate one, if its different. Also, run Print - Preload again after loading a new database or form. #870# Print - Unload is only available when you have the optional EZX HP LaserJet Fonts and Graphics Support Pack (HPLJFGSP) loaded, and you are using a LaserJet compatible printer with printer driver type E or K, and your printer has enough memory. This command simply sends a reset to the printer, which unloads anything that was previously loaded with Print - Preload. See Print - Preload for complete details. #900# Macros allow you to record a keystroke sequence for later playback. EZ-Forms DataBase maintains a general buffer to record your keystrokes. Once you have recorded a keystroke sequence, you can write it to a disk file for later playback. Over 100 macro keys are supported. The shifted function keys 1 thru 10 are supported directly (just press one of them). The other macros are available by pressing Control O then the second key. Be sure to take advantage of the descriptive text label for your macro when you write it to disk. Use Ctrl Q to flush the keyboard buffer if your macro gets out of control. Macros can contain virtually any keystroke that you can enter from the keyboard. Here are some suggestions to make using macros easier. 1. If you start a macro from the main menu, use the numeric keypad Home key to reset the menu to a known starting position. 2. Be aware of the keystroke limit. As you enter each keystroke you will see a small box in the center of your screen that shows which keystroke you are entering and the maximum allowable keystrokes. #901# 3. You can execute a keyboard macro at any point. However, the macro attached to Shift+F10 will automatically execute when you start running EZ-Forms DataBase, or when you load a new macro file. Once you have recorded a macro, write it to disk. This allows you to select the macro's key and give it a description. This will be written to your current macro file. You can choose any macro file name. This allows you to have multiple sets of macros defined. At startup, EZ-Forms DataBase will automatically load the macro file EZFDB.MAC if it exists on the default drive and directory. You will probably want your most useful set of macros as the default. To specify a name other than EZFDB.MAC for the macros at program startup, use the command line 'EZFDB /m=macrofile'. Hint: Macros emulate you at the keyboard. As you record a macro, try to start at a known position and enter the keystrokes just as you would like the macro to be played back. Don't try to design a macro in one area of the program and play it back in another area. It may work but the macro will be harder to visualize and enter. #910# EZ-Forms DataBase allows the default macro file name to be changed from within the program. Normally the name EZFDB.MAC is used. To tell EZFDB to default to another macro file at program load time, use the command line: EZFDB /m=MyMacros.MAC You are being asked for the name of the macro file to load. You may have several macro files saved under different names. Make sure that the macro file is really an EZ-Forms DataBase macro file! Remember you can always press ESC if you got into this area by accident. #920# Sorting large macro files may take a while. We have gone to great lengths to minimize the requirement for additional disk space during the sorting process. The macro file can be over 200K in size. Creating and managing backup files would require a lot of extra program code and disk space. We have opted for a disk based sort that sorts the macro file without creating a backup. If you would like an unsorted backup, copy the macro file to another name prior to sorting it. The sorting may take a while for a large macro file. Please be patient. #930# Each of the over 100 macros can have a descriptive text label. This description serves as a reminder of its function. As you create macros, use a long description of the macro's function. You will find the description extremely important both to yourself and to other people who also use the macros you create. The macro file is built as you define the macros. This ensures the macro file is as small as possible, but the macros may be out of order. Use the Change Macro Order option to sort the macros back into key order. The maximum file size with all macros defined is over 200K (102 macros with each having 1000 keystrokes of two bytes each - 102*1000*2 plus overhead). We have defined S+F10 to be the "Autostart" keyboard macro since it will be automatically executed when you run EZ-Forms DataBase. #960# EZ-Forms DataBase allows you to write the defined macros to disk for later use. If you would like for your macros to automatically load, then use the default name EZFDB.MAC, or use the '/m' command line switch. EZ-Forms DataBase is asking you for two pieces of information before it saves your macros to disk. The first is which key you want to use to call up the macro at a future time. The second piece of information is the textual label or comment that will be shown when you ask to see all the recorded macros. This piece of information is optional, but its use is strongly recommended, since at a future time you may need to figure out what the macro is supposed to do. You may have multiple sets of macro commands defined. Save each set under a different file name and use the Load Macro command to read it from disk or specify a different macro file when you call up EZ-Forms DataBase. Example: EZFDB /m=MyMacros.MAC #970# A file error occured while trying to save your macro to a disk file. The macro file grows as you add new macros to it. If you redefine an existing macro, the space within the macro file is reused. When a file error occurs, it is typically due to one of the following: 1. You are out of hard disk space. 2. You specified an invalid filename or path for the macro file. 3. There is a bad area on your hard disk that can't be written to. If possible, remedy the problem and retry the operation. #1000# EZ-Forms DataBase ran out of memory while trying to perform the requested operation. Generally this will only happen if you have limited free system memory (RAM). It can also happen when the form memory is very large, or there are too many fields in your form and/or database. For certain commands, EZFDB will ask your computer for memory to perform the requested operation only when you use the command. That way, the drain on your system resources is kept to a minimum. However, if you have limited free memory, you may see this message. Possible corrective measures: 1. Limit the number of memory resident programs you load. 2. Upgrade your system RAM if you have less than 640K. 3. Minimize form memory with the Config - Memory command. 4. Try to eliminate some fields, or make some fields shorter. 5. Exit the program, restart and then try the same operation again. #1001# EZ-Forms DataBase could not run the external program. If swapping was selected, make sure that the SWAP.COM program is in your current directory or accessible via the DOS PATH variable. There must be at least 5K DOS memory available just to run SWAP. Also make sure that your swap drive has sufficient available space (up to 620K), unless there is sufficient available EMS memory and you choose to use it. If swapping was not selected, make sure that sufficient memory remains to run your program. To use the DOS Shell command (Ctrl X), the COMMAND.COM file must be accessible via the DOS PATH variable, which defaults to the root directory of the boot drive. If you're trying to edit a memo field, make sure that MEMO.COM or MEMO.EXE is in your current directory or accessible via the DOS PATH variable. If you want to use a batch file for your own memo editor, the file must be called MEMO.BAT and must reside in the current directory. If you still get this error after following the above advice, exit EZFDB and verify that you can run the command or batch file directly from DOS. #1002# This warning should only occur in the multi-user (network) version of EZ-Forms DataBase. Another user on the network is using one or more of the same files that you are using. Normally this is not a problem since EZFDB automatically arbitrates simultaneous file accesses via your LAN software. However, there are some rare instances where temporary hang-ups can occur. #1100# Config - Retain will save all configuration options to a file, and activate them. The configuration options consist of all the options that can be changed via any item under the Config pulldown menu. The file written here can be subsequently loaded by the Config - Install command. The configuration file can have any name or extension. NOTE: None of the configuration option changes will be in effect until the options are retained (saved to a file). Example: C:\EZX\EZX.CNF ƾÆÍ;ÆÍ; Æ; ³ ³ ³ ÔÍÍÍÍ Extension (optional, but recommended) ³ ³ ÔÍÍÍÍÍÍÍÍÍ File name ³ ÔÍÍÍÍÍÍÍÍÍÍÍÍÍ Directory name ÔÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Drive name A file or directory name consists of up to 8 characters, and the extension can be up to 3 characters. The following characters CANNOT be used in file or directory names: ."/\[]:|<>+=;, #1110# This menu allows you to change all the colors used in EZFDB. To change a default color - first use the up or down arrow key to select the color, then type in the new color. When you have changed all the colors, press Ctrl D to display these colors in a sample window. As with all configuration options, these changes will not be used until you choose the Retain option on the main menu. This allows you to experiment with the configuration options without losing your original defaults. Please keep in mind the foreground text colors can be 0-15, the background 0-7. If you choose a text color the same as a background color, then the text will disappear. You may notice some of your installed color combinations result in invisible lines on the Ctrl D popup window. Please be careful not to choose this color for one of your text colors!! Note: For many of the EZFDB configurable options and user inputs, you will see a prompt containing the characters . If you count the number of 's you will know the maximum number of characters that can be entered. Also, Escape is used throughout EZFDB to signal "I want out". Press Enter, up arrow, down arrow, or whatever is asked for, to enter the desired value. Escape will throw away any immediate changes and leave the current menu. #1111# Please note that the background color (0-7) is one digit long and the foreground color (0-15) is two digits long. That is why you will see the input prompt (the 's) change it's width as you go between the colors. #1115# This screen shows the possible combinations of colors in EZFDB. The top set (Main EZ-Forms DataBase colors) shows you what the various menus will look like. The Form colors are those used to display a form. These colors will show you what underline, block, protected, etc. will look like. If you are using a non-IBM display adapter, you may have to "play" with the colors to get a pleasing combination. EZFDB defaults to colors that work well with the IBM CGA, EGA, VGA, Monochrome boards, and boards that are fully compatible with these. On some monochrome display adapter clones you may need to alter a foreground text color to get the background to change intensity. The default combination of colors will work on any 100% IBM PC compatible display adapter! #1120# Config - Printer #1130# Config - Files allows you to configure some file-related options. 1) Database pathname - this is what directory comes up as the default in any filename dialog box. 2) dBASE IV Memo fields (Y/N) - this specifies whether you want the Memo files to be compatible with the new dBASE IV format or not. If you enter N, the Memo file format will be compatible with dBASE III and III+ instead. The dBASE IV format is preferred. 3) Include descriptions when listing files (Yes/No/Ask) - database and form files can have descriptions (comments) associated with them. Whenever form or database file listings are given, any associated descriptions can also be shown. Unfortunately, it takes time to read these descriptions from the files. When a directory contains many files, depending on the speed of the system, the descriptions may take too long to read. When this option is set to Yes, descriptions are always read and displayed. When set to Ask, EZFDB will ask if you want the descriptions, just before each file listing. This allows you to decide on a case by case basis. #1140# Config - Memory is necessary because of the infamous DOS "640K barrier". Thoughtful setup with this menu will allow you to strike a balance between memory usage and execution time. These options must be saved before they will take effect. 1) Max Form Height 2) Max Form Width These select the amount of memory allocated for the maximum allowable size form. Adjusting the maximum height and width in this manner allows you some control over EZFDB's memory usage, while maintaining quick form access. The minimum is 64x80. Maximum height is 999, and maximum width is 254, but height times width must be <= 65535. Due to memory fragmentation, it sometimes may not be possible to increase the maximum form size without reloading EZFDB. SWAPPING There are two features of EZFDB that don't require it to be in memory at the time: memo field edit and shell to DOS. For these cases, EZFDB can be taken out of main memory and placed into either expanded memory #1141# (EMS) or disk. Approximately up to 600K of space may be needed. This frees up most of the memory originally taken up by EZFDB, which allows you to run other programs even if they require a large amount of memory. When the function is complete, EZFDB is then restored back into main memory. To use extended memory, set it up as a RAM disk. The remaining options control various aspects of EZFDB's swapping. 3) Swap EZFDB out of memory before running memo editor (Y/N) - this controls the memory made available to the memo editor program. If yes, all of EZFDB will be swapped out before the memo editor program is run. 4) Swap EZFDB out of memory before running DOS shell (Y/N) - this controls the memory made available to the DOS shell. If yes, all of EZFDB will be swapped out before the DOS shell is run. CAUTION DO NOT run any TSR (Terminate and Stay Resident) programs from the DOS shell even if swap is not used. ALWAYS load TSR's before running EZFDB, then watch for potential conflicts. #1142# 5) Use Expanded Memory (EMS) for swapping (Y/N) - this controls whether or not to use EMS memory for swapping out EZFDB. If yes, EZFDB will try to use EMS first. If EMS isn't available, or doesn't have enough memory, EZFDB will be swapped to disk instead. If no, disk is always used. EMS V3.2 or newer is required. 6) Swap drive - this controls which drive is used to contain the swapped EZFDB. EZFDB is swapped to a temporary file called "SWAP.TMP", created in the current directory of this drive. For best performance, use the fastest drive that contains sufficient memory (approximately 600K max). RAM disks can be used. #1150# Config - Other allows you to change some miscellaneous EZ-Forms DataBase options. These options must be retained (saved to a file) before they will take effect. 1) Use deleted records (Y/N) - this controls whether delete-tagged records are used by the program or not. This affects display and multi-record operations such as Revise - Substitute. 2) Beep on error (Y/N) - this controls the beep given whenever an error occurs. 3) Beep on record save (Y/N) - this controls the beep given whenever a record is saved with the F10 function key, or a multi-record operation (index creation, purge, substitute, etc.) finishes. 4) Auto Recalc (Y/N) - this controls automatic calculation done on all Field Calculations, at time of record save with the F10 function key. When this is NO, the user must execute a specific command to calculate/recalculate. #1151# 5) Help level (1=least help, to 4=most help) - As you learn the program, you can change this to a smaller number, which will eliminate some helpful messages that may no longer be necessary. 6) Screen blank time (in minutes, 0=never) - when your monitor displays text that doesn't change for long periods of time, some portions of the screen may be damaged by "burn-in". To guard against this, EZFDB will blank the screen whenever the keyboard and mouse are not used for a specified period of time - the screen blank time. A setting of 0 will disable the screen protection. 7) User Date Format - this specifies the display and entry format for all Date fields, and the CTOD function. Date fields are always stored in the same format, so changing the User Data Format will not affect how dates are stored. The User Date Format can be any combination of non- alphanumeric symbols and the letters C, Y, M and D. Any occurrence of one of these significant letters will be replaced by its corresponding date part. During data entry, dates must match this format exactly and must be valid before acceptance. #1152# For October 1, 1942, the date parts are: Letter Description Number Examples ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ C Century 19 MM/DD/YY -> 10/01/42 Y Year 42 DD-MM-YY -> 01-10-42 M Month 10 (Oct) YY*MM&DD -> 42*10&01 D Day 01 CCYYMMDD -> 19421001 MMM,CCYY -> Oct,1942 8) Network: Display records even when locked (Y/N) - this controls record locking during display only. Database records are locked before a modification is made, and unlocked after the modification is complete. During the locked time, and with this option set to No, other users are prevented from even looking at the record. Users that are locked out receive a message indicating the condition. The only option is to either wait for the record to be unlocked, or to abort the current operation. When this option is set to Yes, locked records can be displayed, but they still cannot be modified until unlocked. #1160# Config - Install will load a configuration file and activate its contents. All parameters setup by the Colors, Printer, Files, Memory and Other commands in the Config pulldown menu can be saved into any file by using the Config - Retain command. The configuration file can have any name or extension. Enter the file name, including the extension (.cnf recommended). If you don't remember exactly what it's called, a list of files will be presented whenever you enter just the directory name and leave the filename blank, or whenever you enter a wildcard for the file name. Directory listings consist of files in the current directory, then subdirectories in the current directory, and then valid drives. Selecting a file will load it. Selecting a subdirectory will show a listing for that subdirectory. Selecting a drive will show a listing for the current directory on that drive. A file or directory name consists of up to 8 characters, plus 3 for an extension. The following characters CANNOT be used in file or directory names: ."/\[]:|<>+=;, #1161# Directory names are optional and if left blank, the current directory is assumed. The directory name can contain a drive name, a path name or both. A path name is a list of directories separated by backslash characters ('\'), that leads through the directory tree up to the directory of interest. The default file loaded at program startup is EZFDB.CNF. To override this default, you can enter a different configuration file name as the second parameter on the command line. Here is the effective default command line: EZFDB /M=EZFDB.MAC /C=EZFDB.CNF The '/M' switch selects the keyboard macro file, and the '/C' switch selects the configuration file. The switches can be specified in any order, but multiple switches must be separated by at least one space. The file extensions must be specified. #1170# Config - Lock will lock or unlock the form/database revise and create functions. Once locked with a password, the user will not be able to run any form or database create/edit/revise functions. Specifically these are: Database - New Form - New Revise - Fields Database - Build Form - Setup Database - Xport Form - Edit Database - Rename Form - Describe Database - Erase Database - Describe Once locked, the above functions and this help screen are unavailable. Be careful! DON'T forget your password. #1171# Config - Lock. This function is only available to your System Administrator. Please contact him/her for any further information. #1200# EZFDB supports virtually the entire IBM Extended ASCII Character Set. Your choice of what character to chose for borders, lines, boxes, etc. just became more complex. There are four basic graphic line sets or palettes to choose from: 1 ÚÄÄÄÄÂÄÄÄÄ¿ 2 ÕÍÍÍÍÑÍÍÍ͸ 3 ÖÄÄÄÄÒÄÄÄÄ· 4 ÉÍÍÍÍËÍÍÍÍ» ³ ³ ³ ³ ³ ³ º º º º º º ÃÄÄÄÄÅÄÄÄÄ´ ÆÍÍÍÍØÍÍÍ͵ ÇÄÄÄÄ×ÄÄÄĶ ÌÍÍÍÍÎÍÍÍ͹ ³ ³ ³ ³ ³ ³ º º º º º º ÀÄÄÄÄÁÄÄÄÄÙ ÔÍÍÍÍÏÍÍÍ; ÓÄÄÄÄÐÄÄÄĽ ÈÍÍÍÍÊÍÍÍͼ ° ± ² Û ÝÞ ß Ü à á â ã ä å æ ç è é ê ë ì í î reserved ³ ³ ³ ³ ÔÍÍÍÍÍÍÑÍÍÍÍÍÍÍ; ÔÍÍÍÍÍÍÑÍÍÍÍÍÍ; ³ ³ ÔÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍ Printer commands. The above boxes show you what the boxes and lines drawn with each palette look like. Below the boxes are some stand-alone characters which can be entered from the keyboard. The shaded block characters in palette 1 are useful in designing logos or just to emphasize a section of a form. The Greek characters in palettes 2 and 3 can be used to send commands to your printer during printing. #1210# Press G to start the graphics drawing. The default is N to prevent errors. You are now in a full screen graphics walk-around mode. Depending on the mode selected (see the characters in the lower right hand and upper right corner of the screen) different things will happen. Options are: G Graphics - A full screen walk-around mode where you use the cursor keys to draw figures. Whatever character is needed will be substituted to make the lines solid. N Neutral - You can walk around without affecting any characters. E Erase - Erase the character under where you move the cursor. D Drag - This mode will drag/repeat the character under the cursor as you move it around. Use N to position the cursor over the character to be repeated before using D. 1-4 Palette - Shorthand method to select the default graphics palette. P Pick - Pick a character from a table of supported characters. Press either G, N, E, D, 1-4, or P to select the function. The active mode is shown in the lower right corner of the screen. Note: P is valid only in modes D or N. In the other modes the inserted character is erased or overwritten and will not remain in your form. #1211# Set the graphics palette with Alt L. You can choose single line graphics, double line graphics, or a combination. As a short hand method, press 1-4. A sample character based on the palette selected will appear in upper right corner of your screen. Esc will return you to the editor. #1220# EZ-Forms DataBase will move the text in the marked block to the left side, to the right side, or center it within the block. If you would like an entire section of text centered, mark the block first then call up the justify text command. When a multi-line block is marked, you will be asked whether you would like to justify all the lines in the block. #1230# Several of the EZ-Forms DataBase commands support Extended ASCII symbols not found on your keyboard. This screen lists all supported characters and should make it easier for you to select them. Directions for use: Use the numeric keypad cursor keys to position the box over the desired character and press Enter. You can also move the box to a desired character by pressing the corresponding keyboard key, if any. #1240# The block attribute erase command erases/subtracts the attributes you specify at the prompt from each of the characters in the marked block. This is a selective erase, not a clearing of all character attributes. So if something is bold (B) and underline (U), and you specify underline at the prompt, then the character will become just bold. Character meanings: ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ U Underline B Bold (HP LaserJet printer type E and K - background shading) 1 User defined function 1. \ 2 User defined function 2. \ Use the Alt I command to see 3 User defined function 3. / the configured names for these. 4 User defined function 4. / F Font select for HP LaserJet using printer type E or K, and HPLJFGSP. P Pick a character from all possible characters. ~ Remove any field markers in the marked block. The bottom line of the editor screen shows the character attributes as you move the cursor over a character. #1250# The block attribute add command adds the attributes you specify at the prompt to each of the characters in the marked block. This is an add function, NOT a replace function. If something is already bold (B) and you specify underline (U), then it will become bold and underline. Character meanings: ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ U Underline B Bold (HP LaserJet printer type E and K - background shading) 1 User defined function 1. \ 2 User defined function 2. \ Use the Alt I command to see 3 User defined function 3. / the configured names for these. 4 User defined function 4. / F Font select for HP LaserJet using printer type E or K, and HPLJFGSP. P Pick a character from all possible characters. ~ Add field markers to blank locations in the marked block. The bottom line of the editor screen shows the character attributes as you move the cursor over a character. Please note that the operations are performed in the order you enter them. If you specify ~ then p, then your picked character will never show up in the form because ~s will be added first and there won't be any blank areas to insert your picked character. #1260# You can draw a box around the inside border of the marked block using this command. The default line drawing character palette (use Alt L to select) will be used. The inside characters all the around the marked block will be replaced by the graphic lines. Boxes may be drawn in almost any size and with a variety of border styles. #1270# Want to read a text file into an EZ-Forms form? This command allows you to load text created under almost any other software program. The only requirement is that the file must contain only ASCII characters. If you have a block marked, you will be given the option to load the file into only the marked section of your form. #1280# This screen provides basic information on the status of the EZ-Forms Editor, your printer defaults, etc. Under the "Current printer related defaults" you will find the user function names. If you take a close look at the bottom of the editor screen, you will notice a character attribute area. When you see a 1, 2, 3, or 4 pop up, this is what it is referring to. The user functions are defined to contain specific information for each printer and can be customized by the user. See the printer configuration area for more details. HP LaserJet specific information is listed on the next page. #1281# Fonts are specified for the HP LaserJet using printer type 'E' thru combinations of user defined functions attached to each character. Other sections of the documentation give details on font naming conventions. Font Attributes How the font is selected ÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Font 0 pub.... The default, no user defined functions. Font 1 pub1... Selected with Alt1. Font 2 pub.2.. Selected with Alt2. Font 3 pub..3. Selected with Alt3. Font 4 pub...4 Selected with Alt4. Font 5 pub1..4 Selected with Alt1+4. Font 6 pub.2.4 Selected with Alt2+4. Font 7 pub..34 Selected with Alt3+4. Font 8 pub1.34 Selected with Alt1+3+4. Font 9 pub.234 Selected with Alt2+3+4. Support for mutiple fonts requires: 1. An HP LaserJet Plus, HP LaserJet Series II, III, 4 or compatible 2. The EZX LaserJet Fonts and Graphics Support Pack ver 2.0 or greater 3. Configuration of EZ-Forms DataBase for the HP LaserJet - driver E or K #1290# Many of the editing commands have optional prompt messages to provide information and serve as a safety catch in case of mistakes. The extent of the user help/interference offered by EZFDB is tied to the message level. The more potentially harmful a command, the lower the message level has to be set, for the command's warning/prompt to disappear. Examples: Command Tied to Help/Message level ÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Patch form 4 (no message 3 and below) Block delete 1 (no message at level 0) Various other commands 1-4 (level varies) Most of the block operations and some of the other editing commands provide this feature. The default (unless configured otherwise) is to provide the maximum level of user help messages. #1300# EZ-Forms DataBase allows you to set up one auto number field within a form that will automatically increment each time the form is used to add a record to a database. Use this to generate invoice/purchase order numbers and control numbers. Each added record will have a unique number. If you need a starting number other than 1, simply type it into the form at the auto number position you have selected. EZ-Forms will use that number as the starting point. When the form is saved, EZ-Forms will read the auto number location and update all its pointers to contain your new number. The auto number will "roll over" from all 9s to 1 when you exceed the maximum number for the field. Any invalid character (non-numeric) will generate an error and cause the auto number to reset to 1. Example: auto number width is 5, the number 00A01, contains an invalid character (A) - auto number is reset to 00001. #1330# The clear form option allows you to start again with a clean slate. All characters, graphics and attributes are erased. #1350# The large character lookup allows you to easily create headings in large (8 by 8) characters. Simply type in the text and then select what character to use for the drawing. For other size characters, you can use the Notepad to move characters from the form 359-HIGH.FRM. Play with this command in a new form to get a feel for how it operates. This command places a lot of power (and potential for destruction) in your hands. The length of the allowable input text (shown as s) depends on your cursor position within the form and the width of the form. As you move the cursor to the left, there is more space to insert text so the prompt will get longer. Each of the large characters take up eight normal character spaces in both directions. That means an eighty column form can have at most ten large characters on a single line. The characters are entered into your form starting at the cursor position. They will be inserted with the cursor being the upper left point of the 8 by 8 character box. #1360# The marked block defines the area for the grid. All characters in the marked block will be erased. You will be asked for the vertical and horizontal spacing for the grid. If the desired spacing provides even spacing the grid will come out completely even. Otherwise you will be left with an off size block at the ends. See the examples below. Ú¿ ÚÄÂÄÂÄÂÄÂÄ¿ ÚÄÄÂÄÄÂÄÄ¿ ÚÄÄÄÂÄÄÄÂÄ¿ ÚÄÄÄÄÂÄÄÄÄ¿ Ú¿ ÃÅÅÅÅÅÅÅÅÅ´ ÃÄÅÄÅÄÅÄÅÄ´ ÃÄÄÅÄÄÅÄÄÅ´ ÃÄÄÄÅÄÄÄÅÄ´ ÃÄÄÄÄÅÄÄÄÄ´ ³³³³³³³³³³³ ÃÅÅÅÅÅÅÅÅÅ´ ÃÄÅÄÅÄÅÄÅÄ´ ÃÄÄÅÄÄÅÄÄÅ´ ÃÄÄÄÅÄÄÄÅÄ´ ÃÄÄÄÄÅÄÄÄÄ´ ÃÅÅÅÅÅÅÅÅÅ´ ÀÁÁÁÁÁÁÁÁÁÙ ÀÄÁÄÁÄÁÄÁÄÙ ÀÄÄÁÄÄÁÄÄÁÙ ÀÄÄÄÁÄÄÄÁÄÙ ÀÄÄÄÄÁÄÄÄÄÙ ÀÁÁÁÁÁÁÁÁÁÙ vert 1 vert 1 vert 1 vert 1 vert 1 vert 2 horz 1 horz 2 horz 3 horz 4 horz 5 horz 1 #1370# EZ-Forms DataBase will download to your HP LaserJet+ or compatible the fonts that you attach to the characters in your form. Fonts are specified on a character by character basis. That means you could have ten characters in a row on any line, each character with a different font. The font sizes listed are the defaults provided with the EZX Publishing HP LaserJet Fonts and Graphics Support Pack. Actual sizes may vary since all of the fonts can be modified by the user. This is accomplished by copying a different font to the font name EZ-Forms DataBase uses for that font (the downloading to your printer is done at print time). Combinations of the user defined functions (Alt1-4) are used to specify which font is attached to which character. We have tried to make the use of these combinations as easy as possible. Please note that even though you have to specify the font (0 thru 9) with up to four different user defined functions, the sum of the specific user defined functions is always the font number. The HP LaserJet supports up to 10 fonts at one time; we have provided full support for that maximum. The HP LaserJet supports up to 32 print macros; we have supported 15 print macros thru the Greek characters. #1371# Refer to the On-line Manual from the main menu for additional information on HP LaserJet support. The information is located under the Printing section of the On-line Manual. Font naming conventions, printing sequence, plus several other topics are covered. The Print - Preload command can speed up printing time by downloading the soft fonts, graphics and form only once. Subsequent printing only needs to send the information filled in to the fields. #1380# Erasing the font references from a block involves clearing all the user defined functions from the marked block. Answer yes if you would like the font references erased/cleared. This will default the text back to font 0. #1390# EZ-Forms DataBase allows you to use your computer's system clock to obtain the current date and time for use in your form. If you choose either date or time feed then the computer's clock will be checked for the current time or date and then inserted at the current cursor position. As much of the date or time as will fit will be inserted into the available space. Be careful if you are close to the right margin. Date formats: 0 mm/dd/yy 06/15/89 Time formats: 24 hour formats (Example 1 mm-dd-yy 06-15-89 (Example 0 hh:mm:ss 13:30:15 using 2 yy-mm-dd 89-06-15 using 1 hh:mm 13:30 15 Jun 1989) 3 mmddyy 061589 1:30:15 PM) 12 hour AM/PM formats 4 yymmdd 890615 2 hh:mm:ss 01:30:15 PM 5 dd mmm yy 15 Jun 89 3 hh:mm 01:30 PM (Military) 6 Julian 9166 (last digit of year & 001-365 day of year) 7 dd/mm/yy 15/06/89 8 dd:mm:yy 15:06:89 9 ddmmyy 150689 A yy/mm/dd 89/06/15 B yy:mm:dd 89:06:15 C mm:dd:yy 06:15:89 #1400# Field markers are used in two ways: ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ In forms, you insert field markers (the ~ character) to mark areas you want protected in the data entry screen. By filling the unused areas of a form with the field markers, you limit the area of the form that can be be filled-in later. Note: Field markers can be entered and deleted using the keyboard keys. #1410# After you input the text press Enter to insert it into your form. Press Escape if you want to exit without altering your form. The text will be inserted vertically into your form. The first character will be at the current cursor location. The next character will be on the same column but one line down. Etc. If you input text longer than the number of lines to the bottom of your form, inserting will stop at the last line of the form. The length of the prompt using 's will vary depending on the number of lines from your current cursor location to the bottom of your form. #1420# EZ-Forms DataBase allows you to easily generate form templates to be used with your pre-printed forms. To do this: 1. Answer yes to generate the overlay grid. Is this form the right size? 2. Insert your pre-printed form into your printer. 3. Call up the print menu (Alt P) and use the A (alignment dot) to print a dot in the corner of your form. Move your form around in the printer until the alignment dot prints EXACTLY on a known reference point. You may have to turn off the printer and move the printer head to see the alignment dot. Turn the printer back on before trying to print. 4. Print the CFO grid. It will overlay a numbered grid over your form. 5. Take note of the areas to be filled in on your pre-printed form and the line and column numbers from the CFO grid that overlay them. At this point you have two options: a. Try to design a form that looks like your pre-printed form with the blank areas in the correct spots. b. Forget about appearance and use the generated grid with erased areas in the correct areas for data entry. The next screen briefly describes CFO and gives tips on how to better adjust the line and column spacing for CFO. #1421# Using preprinted forms with EZ-Forms DataBase is easy. To use this feature, first create a form to act as the template. Make sure that all the "fields" match or align with those on your preprinted form. Create a new database with this form and enter a test record. When you print the test record, select C for clear forms overlay. This will ensure only the unprotected area (the text you just typed in) will be printed. The form outline is protected, so it doesn't print! Use the Add CFO Grid command (Alt Y) for a template. Tips for CFO: 1. Use the 6 lpi/8 lpi option along with the normal/small text options to adjust the vertical and horizontal spacing to match your field areas. 2. Make sure your form is sized large enough to generate a grid to cover your entire preprinted form. Use F2 to resize your form prior to generating the CFO grid. #1430# Usage for all printer drivers except for the HP LaserJet types E, J & K. Greek characters are user defined commands to direct the printer to do something. They are defaulted to spaces to maintain correct form spacing. Add any printer commands you want for these special characters. The first time EZ-Forms encounters the symbol in a form it will send the on sequence. The second time it will send the off sequence (they toggle states each time used). #1431# Usage for HP LaserJet with printer type E, J or K selected. The Greek characters are used to select print macros. These are predefined sequences of commands for your printer that can be triggered by sending a simple escape sequence (see your HP LaserJet technical reference manual for more info). These are used for printing things like logos for letterhead and for printing someone's signature. Unlike soft fonts, print macros have to be completely designed and defined with a macro ID (01-15) prior to you being able to reference them within a form. Print macros are selected within a form thru the use of the Greek characters. The first Greek character triggers print macro 01, the second Greek character print macro 02, etc. Use the Alt Z command to access them. #1440# The notepad is basically an enhanced block copy. You can copy any section of text from your form into the notepad. The text can be pasted into the same form at a different location or to another form. The cursor location defines where the text will be copied to. Use of this command with large blocks of text requires a lot of memory (up to 64K). Your computer may not have enough memory to allow this operation. If that occurs, you will be given an out of memory message. This in no way alters the functionality of any other portion of EZ-Forms DataBase. However, the amount of free memory shown on the bottom of the context sensitive help screens and the on-line manual may show 0K free. This means EZ-Forms DataBase at one point tried to use all of your RAM. If this occurs, try removing some of your memory resident software. Yes, memory resident programs really do decrease your computer's available RAM. #1450# This option gives you an easy way to draw a border around the outer edge of your form. The line will be solid, adding the correct characters at the corners of the form. Whatever was in the first character space around the outer edge of the form WILL be overwritten. The default line drawing palette will be used. Use Alt L to alter the default palette. #1460# This option allows you to remove the entire border from your form with a single keystroke. The first character position around the entire outer edge of the form will be erased. #1470# The delete block command deletes all text in the marked block. Please be careful with this command. Use the Ctrl V command if you want to alter the default help/message level and get rid of these prompts. See the copy block (Alt C) and move block (Alt M) commands for other options. #1480# The block move command moves the text from the marked block to your current cursor location. Your cursor location will be the upper left corner of where the text will be moved. This is a move (displace -- from one point to another) so all the text in the marked block will move. See the copy block (Alt C) and delete block (Alt D) commands for other options. #1490# The copy block command copies the text from the marked block to your current cursor location. Your cursor will be in the upper left of where the text will be copied. This is a copy (duplicate), so none of the text in the marked "source" block will be modified unless the blocks overlap. See the move block (Alt M) and delete block (Alt D) commands for other options. #1500# The patch function will try to connect any adjoining character graphics symbols. The symbols will be joined with one of the other character graphics symbols that best completes the form. ONLY the immediate four characters are scanned (characters left, above, right, and below). Based on these, a character out of ³ Ä Ú À ¿ Ù Ã ´  Á Å is picked. You MUST have already placed a character graphics symbol of some type in the scanned character space for it to be considered for patching. Example: ³ ³ ÄÄÄÄÄÄÄ will be patched to ÄÄÄÄÄÅÄ ³ ³ Please note the first example had a character graphics symbol in the area and needed to be patched. If it had not been there, EZ-Forms would have left the space blank instead of substituting the intersection symbol. EZ-Forms DataBase has to make a lot of assumptions when it is patching a form. Sometimes it won't choose the character you think it should. This command gives you a good start on the patching. You will sometimes have to add the final touches. #1510# EZ-Forms DataBase is not a word processor. It is a forms manager. Forms are fixed-length, unlike word-processor files. If you want to insert a line, something has to disappear, unless you use F2 to resize and lengthen the form first. EZFDB inserts lines by moving the line the cursor is on and every line below, down by one. Where does the line go? It disappears. #1520# Your form size will not decrease when you delete a line. The text is just moved up one line, overwriting any text on the cursor line. If you get tired of seeing these messages, set the default help/message level to zero (command is Ctrl V). #1600# The Form Pick List function allows you to specify multiple choice tables for specific areas of a form. While editing a record, Alt F2 brings up a list of items. Select an item, then press Enter to place the item into the current field. Form Pick List design: First mark a block in the form using the block operation commands, Alt S/Alt E. Press Alt F2 to display the Form Pick List menu. Now you can use the Insert key (Ins) to add more items to this Pick List. The order doesn't matter. The Pick List is sorted by starting line number and starting column number. When the user displays the Pick List, he will only see the items that were defined for the current block. Form Pick List items are saved as part of the master form. There is basically no limit to the number of Pick List items you can have. The maximum number is 65,536, assuming sufficient memory exists. Initially all Pick List items MUST be entered by marking a block in the form. We chose this method to provide you with a visually-oriented Pick List design process. #1610# You are editing one of the Pick List items. You will see two edit lines. The top line allows you to specify the block within the form. The bottom edit line contains the text for the Pick List item. The two sets of numbers for the block are: xx,xx - This defines the upper left corner of the rectangle in a line column format. xx,xx - This is the lower right corner of the rectangle you defined as a block. This like the other number pairs are in line,column format. After you edit the string and press enter, EZFDB will try to convert your input into four numbers. These two line,column pairs are all that is of importance in your input; the rest of the text will be ignored. Notes: You must enter Pick List items through the use of the block operation commands. That way you clearly see where the Pick List block is located. Once you have entered the Pick List item, the entry can be edited by pressing Enter and modifying it. All text after a ~ is treated as a comment. #1611# Please double check to ensure the block falls within the boundaries of your form. Since you can easily resize a form smaller, we have no way to strictly enforce the numbers. Any lines or columns which are outside of the form boundaries will be ignored when you are filling out the form. No damage will be done. However, the Pick List may not work exactly as you had planned. Notes: We have intentionally set up the Pick List so as to make the design process as visual as possible. Once you become comfortable with the Pick List design process, you can take shortcuts. For example, mark a block and go to the edit screen. Press Ins several times. You have just entered Pick List items that can easily be edited to provide a Pick List for the area you desire without going through the "mark a block" routine. All text after a ~ is treated as a comment. #1620# You can enter up to 70 characters to be available while filling out a form. All blocks that overlap the cursor position when the user presses Alt F2 in data entry, will be shown in a list box. The user will be able to select the desired Pick List item and press Enter to have it inserted into the form at the current cursor location. If you would like to have part of the entry be a comment, add a tilde (~) at any point in the entry. Only the portion to the left of the ~ will be inserted into the form. You can also use this to create a comment-only Pick List item. If you have a fixed length field and would like to have the inserted choice clear the entire field, pad the end of your input with spaces. This will make all Pick List items the same length. #1630# Highlight one of the displayed items and press Enter. The highlighted item will be inserted into the form at the current cursor location. You can also press the first character to select an item. Using this technique, EZFDB will first search for a case sensitive match then try for a case insensitive match. For example, if you press b for Bob - EZFDB will first look for a b then try for a match on either b or B. Use the Alt F2 command to see the Pick List items defined for the current field. Note that the list can only be modified when editing the master form with Form - Edit. All character attributes are left unchanged. For example, if you had an area of the form that was underlined and then inserted an entry from a Pick List, the inserted item will also be underlined. In a Pick List item, all text after a ~ is considered a comment, and is not placed into the form. #1700# The Form Help function allows you to specify up to ten lines of help for specific areas of a form. During data entry, the Alt F1 key brings up a help screen, which was designed during form creation/edit. Form Help design: First mark a block in the master form using the block operation commands, Alt S/Alt E. Press Alt F1 to bring up the help design menu. Now you can use the Insert key (Ins) to add the help entry. The order doesn't matter. The Form Help list is sorted by starting line number and starting column number. When you bring up the Form Help function, you will see only the first Form Help entry for the block that this current cursor location falls within. Form Help entries are saved as part of the master form. There is basically no limit to the number of Form Help entries you can have. The maximum number is 65,536 or when your computer runs out of memory. Form Help can be up to 10 lines long. However, during design, only the first line is displayed on the screen design list to show more entries. Initially all Form Help entries MUST be entered by marking a block in the form. We chose this method to provide you with a visually-oriented Form Help design process. #1701# Please double-check to ensure the block falls within the boundaries of your form. Since you can easily resize a form smaller, we have no way to strictly enforce the numbers. Any lines or columns which are outside of the form boundaries will be ignored when you are filling out the form. No damage will be done. However, the Form Help may not work exactly as you had planned. Notes: We have intentionally set up the Form Help so as to make the design process as visual as possible. Once you become comfortable with the Form Help design process you can take shortcuts. For example, mark a block and go to the edit screen. Press Ins several times. You have just entered Form Help entries that can easily be edited to provide a Form Help for the area you desire without going through the "mark a block" routine. #1710# You are editing one of the Form Help entries. You will see two sets of edit lines. The top line allows you to specify the block within the form. The bottom edit lines contain the text for the Form Help. The two sets of numbers for the block are: xx,xx - This defines the upper left corner of the rectangle in a line column format. xx,xx - This is the lower right corner of the rectangle you defined as a block. This like the other number pairs are in line,column format. After you edit the string and press enter, EZFDB will try to convert your input into four numbers. These two line,column pairs are all that is of importance in your input; the rest of the text will be ignored. Notes: You must enter Form Help entries through the use of the block operation commands. That way you clearly see where the field help block is located. Once you have entered the Form Help entry, the entry can be edited by pressing enter and modifying it. Press F10 when done editing. If you exit by pressing escape without pressing enter on the line you are editing, changes will be lost. #20050# EZ-Forms DataBase provides relational database capabilities using forms for data entry, printing and report formats. It can create and edit its own forms, as well as use forms created by other EZ-Forms programs. A form field is any horizontally contiguous, non-protected area of a form. A database field is one item of data that is part of a larger whole - the record. An analogy to a database is a file cabinet. The file cabinet represents the database, a file folder represents a database record, and items in the file folder represent database fields. The form represents how these items are placed and presented in the file folder. Form and database fields are named to provide documentation and placement capabilities. Every field in the form can be named separately from every field in the database. This is the key to flexible forms usage. The first field in the database can be displayed in the fourth field on the form by simply naming them the same. Database fields can be excluded by simply not having a form field name that matches that database field. Fields are limited to 1000 in count and 256 in width, and total record width cannot exceed 32000, depending on available memory. #20051# The first step to filling out forms and working with databases is to create a new form or select an existing one. The Form - Create command will guide you through making a new form. This leads into the form editor, which is very similar to the EZ-Forms editor. The form editor is similar to a word processing editor, but with important differences which make forms creation a breeze. The next step is to create a database from the form you select. The Database - New command will guide you through creation of a new database. You can choose an existing form, or even have it create one for you. Once created, you can enter records into the database by using the 'Add' command in the 'Revise' pull-down menu. Refer to other sections of the On-Line Manual for additional information. F1 is available to call up help while you are using EZ-Forms DataBase. #20052# ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º  Manual Database Form Revise View Index Print Config º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ The Main Menu options with descriptions are below. M On-Line Manual: This is a manual for EZ-Forms DataBase that you can view right on your screen, without leaving the program. D Database: This option allows you to select from various databases for use with EZ-Forms DataBase. You can choose field characteristics, create databases and rebuild databases to a new format. F Form: This option allows you to select from various form files for use with EZ-Forms DataBase. You can create, edit, set up, view, print and describe forms to use with databases. R Revise: The Revise option allows you to alter the contents of the currently selected database. You can add or edit records directly, or add records from another database. #20053# V View: With this option, you can look at database records in various ways, look at field definitions and status information, find records and change what records will display. I Index: Here you can alter the display order of the records. Create and manage multiple indexes for accessing your data in various ways. P Print: This option lets you print a single form or multiple forms. When printing multiple forms, you can specify a subset of records to print. C Config: Configuration of the EZ-Forms DataBase program. Select printer, colors and other parameters. Also allows you to save alternate configuration files for later restore. #20100# EZ-Forms DataBase provides relational database capabilities using forms for data entry, printing and report formats. It can create and edit its own forms, as well as use forms created by other EZ-Forms programs. EZ-Forms DataBase allows you to create and maintain a database, order its records, display the records in various ways, and do a multitude of other things while providing on-line help every step of the way. Here are some of its possible uses at home or at the office: Address Book Sales Leads Asset Management Invoices Expenses Disk Cataloging Inventory Time Logging Customer List Mailing List Bibliography Billing Example forms and databases for some of the above applications are provided on the system diskette. Feel free to use them as is, learn from them, or alter them to better suit your needs. #20101# If you already have a dBASE compatible database, you can use it as-is with EZ-Forms DataBase. You can even have it generate a form for you that will match the database. You can then alter this form to make it more suitable. If your data exists in another format, EZFDB supports 6 file types for importing data to an existing database. These same 6 file types are available for export too. For data entry by several different departments, you can define alternate forms that present the same database fields in different formats better suited to the needs of each department. For reporting, you can use the same form used for data entry, or you can use an alternate form. EZFDB allows you to print any subset of records easily, one record per form. Forms can be combined on a page or printed separately, one per page. There is even an Alternate Form command that will print the current record using a different form without changing the installed form. The label printing command works similarly, but can also suppress horizontal and vertical blank spaces for professional looking labels. You can even print labels that use any of the supported print attributes like bold, underline, superscript, etc. #20102# EZ-Forms DataBase requires an IBM PC (tm) or compatible with at least 640K of RAM. Direct screen memory access is used to provide high speed screen updates. This may make EZ-Forms DataBase unusable on some "not too close" IBM PC compatibles. IBM monochrome, CGA, EGA and VGA graphics adapters are known to work with EZ-Forms DataBase. If you are using an IBM color graphics card with a "green screen", then you must use the DOS MODE command on your DOS diskette to default to black and white (type MODE BW80 and then run EZ-Forms DataBase). If you are using a serial printer, use the DOS MODE command to route the serial printer to LPT1 (see your DOS manual for details). To be able to use all of the 12 maximum indexes, the DOS config.sys file must specify that at least 20 files can be open at a time. The config.sys command line for 20 files would be: 'FILES = 20' It is assumed that you understand DOS and how it deals with files, file names and directories. If you are confused, consult your computer manual or your local PC "guru" first, as we can only help you with EZFDB. #20200# ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Features and Commands ³ ³ Cross-Reference ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ This is a list of major features, each followed by one or more commands, indicating what commands control which features. Many features are also apparent in data entry (Revise - Add, Revise - Edit) but for brevity are not listed as such. - Unlimited relational lookups/updates (auto fill-in from/to other databases) (Revise - Fields) - dBASE III, III+ and IV .dbf, .ndx and .dbt file compatibility - For network version, network administration features including user/password entry, db file/record contention showing user name, create/revise function lockout control, network license management (ADMIN.EXE) - Automatic form creation from existing .dbf files (Database - Open) - Quickly create a database from an existing form (Database - New) - Full-featured Form Editor, complete with block and character functions, and graphics (Form - New, Form - Edit) #20201# - Easily match a database to any existing form (Form - Setup) - Fill in pre-printed forms - On-line manual and context sensitive help (Manual and F1) - Up to 12 indexes per database, continuously updated (Index) - Index on any field portion and/or combination (Index - Create) - Field Calculations (Revise - Fields) - Browse mode for viewing multiple records per screen (View - Browse) - Easily modify database format to add/delete fields and change field sizes and characteristics (Database - Build) - Print stylish reports with headers, footers, page numbers, etc. (Print - Report) - User defineable Form Help (Form - New, Form - Edit) - Form Pick List, provides simple multiple choice during data entry (Form - New, Form - Edit) - Field Sequence control, for data entry that doesn't follow normal left to right, top to bottom order (Form - Setup) - Relational Pick List, provides multiple choice selections from another database (Revise - Fields) - Word Wrap on any set of fields (Form - Setup) #20202# - Quick report feature for on-the-fly record counting, summing and averaging (View - Report) - Choose which fields show up on a form, and where (Form - Setup) - Duplicate record search (Index - Find Dup) - Create/revise function lockout for end-user applications (Config - Lock for single-user, ADMIN.EXE for network) - Unlimited databases per form (Form - Open) - Unlimited forms per database (Form - Open) - Append records from other .dbf database files (Revise - Merge) - Import records from other database file formats (Revise - Import) - Export records to other database file formats (Database - Xport) - Keyboard (100+) macros, each up to 1000 keystrokes long (Alt =) - Memo fields that allow meaningful comments of up to 5K characters (Database - New) - Field validations: Character, Numeric, Date and Logical (Database - New, Revise - Fields) - Repeat keys for repetitive data copy, date, time, etc. (Revise - Add, Revise - Edit) - Window fields for extra-long fields that fit anywhere (Form - New, Form - Edit) #20203# - Printing in "single-up" or "multi-up" label mode, with blank line and extra horizontal space suppression (Print - Labels) - Configurable screen colors (Config - Colors) - Supports over 500 dot matrix, ink jet, daisy wheel and laser printers (Config - Printer) #20300# DATABASES ÍÍÍÍÍÍÍÍÍ Data is entered into fields on a form, and the fields are stored as a record into a database file. EZ-Forms DataBase (EZFDB) works with dBASE compatible (III, III+ and IV) database and Memo files. The database file has an extension of '.dbf' and is where the records are stored. Each record can have one or more Memo fields and when it does, there is an associated Memo file that has an extension of '.dbt'. All Memo fields for the database are stored in this file. Whenever a database is selected for use with EZFDB, a form (.frm) file, a form/database (.fdb) file and a database definitions (.dbr) file is read in by default. The database file has field information in its header so if a form doesn't exist, EZFDB can create one for you. If no database exists, a form is required to create a database. For database selection, all these types of files must have the same name, with different extensions. For example, 'data' would have: #20301# - database file (data.dbf) Stores the actual data - memo file (data.dbt) Where memo fields are stored - database defs (data.dbr) Contains Index List, Field Calculations and Relational Pick Lists - form file (data.frm) Form for data entry,reports,labels - form/db file (data.fdb) Contains form field names and options - index files (data.ndx) Record ordering data (optional) Each field of a record has all of the following characteristics: Characteristic Description ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Name . . . . . . Can be up to 10 alphabetic, numeric or '_' characters. Type . . . . . . Character, Numeric, Date, Logical or Memo. Width . . . . . 1 through 256, depending on type. Decimals . . . . For Numeric fields only. Number of digits after decimal pt., 0 - 15. Must be at least 2 less than field width. Calculation . . Any expression that evaluates to the field's type. #20302# The field name is defined by the database creator for documentation and data placement purposes. The name is relatively short, but it should always reflect the meaning of the field. The database field name is matched up to a form field name to decide where to place its data on the form. During data entry, the field name and type is displayed on the bottom line. A help screen is available to explain the permissable entries for each field type. Examples ÍÍÍÍÍÍÍÍ FIRST_NAME LAST_NAME TOTAL YR_TO_DATE SERIAL_1 #20303# The field type indicates what kind of data the field contains. Type Can Contain Width ÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Character any ASCII character 1 - 256 (letters, numbers, symbols and spaces) Numeric '0' - '9', '.', '-' 0 - 19 Decimals 0 - 15 Date '0' - '9', '/' in MM/DD/YY format 8 Logical 'T','t','Y' or 'y' for logical true (.T.), 1 'F','f','N' or 'n' for logical false (.F.) Memo any ASCII character 10 (letters, numbers, symbols and spaces) (5000 in Memo file) #20304# Memo Fields ÍÍÍÍÍÍÍÍÍÍÍ A Memo field is very similar to a Character field, except that its data is stored in a separate Memo (.dbt) file and each Memo field's length can be variable and relatively long. The advantage is when an occasional elaboration is required for a certain record, there are no limits as to how long or short the elaboration can be. Only 10 bytes are used for each Memo field in a record to point to the corresponding data in the Memo file. When there is data in a Memo field, it is written to the Memo file in 512 byte blocks. When there is no data, nothing is written to the Memo file. Record and Field Sizes ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ The field width defines how many characters can be in the field. The field decimals is for Numeric-type fields only, and specifies how many digits can appear after the decimal point. #20305# The sum of the widths of all fields (10 for Memo fields) is the record length. The maximum width for a field is 256 characters. The maximum record length is 32000 characters. The total number of fields in the form or database cannot exceed 1000. Maximums are subject to available memory restrictions. Field Calculations ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Field Calculations are simply expressions which can be defined for any field. The expression is calculated at data entry time if the Auto Recalc option is turned on in the Config - Other menu. Field Calculations can include math, alphabetic case conversions, relations, conditional relations, and character manipulation. Field Calculations are directly associated to a database field, so even when multiple forms are used with a single database, all Field Calculations will apply even if some database fields are not present on the form. This allows you to use non-displayed fields in your Field Calculations. #20400# FORMS ÍÍÍÍÍ A form (.frm) file defines the data entry screen and/or the report format. You can read a form with or without prior selection of a database. Before a form can work with a database, a form/database (.fdb) file is required. This file defines the form field names and tells EZFDB where to place data on the form for printing or screen display. Reading a different form after a database is selected provides an alternate view to that database, assuming the form fields are named appropriately. Various commands can create this file. EZ-Forms DataBase can create and edit its own forms, as well as use forms created by other EZ-Forms programs. However, math formulas from other EZ-Forms are not supported. Math formulas are instead handled by database Field Calculations. EZ-Forms DataBase also supports the use of the HP LaserJet Font and Graphics Support Pack (HPLJFGSP) for printing. #20401# Form Field Names ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ The Form - Setup command allows you to enter field names directly into the form, so that you can see the form while you're deciding on names. If necessary, the Database - New command will automatically create form field names from the database field names. Field names consist of up to 10 characters with only alphabetic, numeric and '_' characters allowed. Alphabetic case is insignificant. When entering field names in the form, field windowing is used if the field is smaller than 10 characters. Until the database is created or attached, these field names only apply to the form. When a new database is created from a form that already has field names, the database field names are made identical to the form field names. When opening an existing database or loading an alternate form while a database is already open (active), the form field names are matched up to the database field names, in order to find out where to place data on the form. Any fields without a match always displays blanks, and any data entered into these fields will be lost, once the record is saved. #20402# Window Fields and Memo Fields ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ EZFDB will only place data into a form field when that field's name matches a database field name. Even so, the form field can be longer or shorter than the corresponding database field. When the form field is longer, all the data appears but data entry will be limited to the length of the database field. When the form field is shorter, the field is automatically windowed. A window field is a form field whose data is longer than its field length. All data is accessible, it's just not all shown in the form at the same time. During data entry, when the cursor approaches the end of the field, the remaining data will automatically scroll leftward into view, and the cursor will remain in the field until it reaches the end of the data. Similarly, when the cursor approaches the beginning of the field, the remaining data will automatically scroll rightward into view, and the cursor will remain in the field until it reaches the end of the data. #20403# All Memo fields are automatically Windowed fields since the permissable Memo field length (5000) is much longer than the longest possible form field. However, there is one exception: Memo fields cannot be changed within the form but the first part is displayed in the form. An external memo editor (MEMO.COM) must be invoked (with Alt E) during data entry to edit Memo fields. This allows for use of the full screen for editing. When you exit the editor, the Memo field will be updated. An intermediate file is used for the editing: MMxxxxxx, where xxxxxx is a random number. Alternate Forms ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ The main form is the form that was used to create the database, and/or has the same filename as the database. An alternate form has a different filename, and provides an alternate view to a database. It can contain any subset of database fields, in any order. You can create an unlimited number of alternate forms, to use with even more than one database. Alternate forms can be used for reports, labels, or even for an alternative data entry screen. #20404# Alternate Forms as Reports ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ A report differs from a form because more than one instance (record) of information can be presented on a single page. For example, with a database of customers, the data entry form shows only one customer. To print a report that lists customers by name, with many customers per page, you will need to create an alternate form that will lay out the data for one customer on that page. When printing a report, each page is filled with as many forms as will fit, one per customer. The report form might be 2 lines by 80 columns, and contain the customer's name and phone number on the first line, and nothing on the second line. The blank second line provides a blank line between customers on the printout, to improve readability. #20405# Alternate Forms as Labels ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Labels are very similar to reports. The only differences pertain to creating professional looking labels. The label printing commands are able to respace information on a label, thereby removing extraneous blanks and creating a natural appearance. In addition, the Print - Labels command can print labels 1, 2, or 3, etc. accross, for use with Cheshire or other similar labelling systems. #20500# INDEXES ÍÍÍÍÍÍÍ An index defines the record access order. Indexes can be defined with any combination or parts of fields. Up to 12 indexes can be retained in the database's Index List, assuming the DOS config.sys file contains a 'FILES=20' command. The Index List defines all indexes to be used with a database. Only 1 index can be active at any time, but all indexes in the Index List are updated whenever records are added or modified. The Index List is stored in the .dbr (database definitions) file. The index that automatically becomes active whenever the database is selected, is called the Default Index, and is delineated by an 'D' in the selection box. Index Creation ÍÍÍÍÍÍÍÍÍÍÍÍÍÍ The Index - Create command will create a new index file from a given expression. When complete, the index's file name will be added to the Index List. #20501# The expression must be the kind that evaluates to a Character or Numeric type. Logical expressions are only used for selection criteria. Memo fields cannot be used in an index expression. The result of the expression on a given record is the index key for that record. The result must be of proper type and cannot be longer than 100 characters. A filename for the index file is required. If the filename already exists in the Index List or in the specified directory, a warning is given before the file is overwritten. Index files can be setup to allow only unique keys. In this case, any duplicate keys encountered during index creation will halt the creation process, with an error, indicating what record contains the duplicate key. In addition, duplicate key values will cause an error after adding or revising a record. Records with key values already in the index file cannot be entered. For example, to create an index that will display records in the order indicated by the contents of a field named LAST_NAME, the expression would simply be: LAST_NAME #20502# Index Maintenance ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Index - Select allows you to select a new current index from the index list. The current index is the index that controls the order in which records are displayed. Index files can be added to the Index List by using the Index - Create or the Index - Include command. Index files can be deleted from the list by using the Index - Erase command. The Index - Default command will mark a new default index. If there is an error when initially accessing the default index file, no index is automatically active. Index - Off turns off all indexed record access. This allows the records to be displayed in chronological order. When a database is first created, no indexes exist for it and the Index List is empty. All displays show the records in chronological order, i.e., the order in which the records were entered. Once the first index is created, it becomes the default index. Whenever the database is selected via the Database - Open command, the default index is active. The only way to go back to a chronological index is either by using the Index - Erase command to erase the index or by using #20503# the Index - Off command to turn off all indexes. Turning off indexed record access is a way to speed up the Find command, since it normally searches using the active index. Index Integrity ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ If all indexes were created with EZFDB, files were never moved or deleted, and no disk errors occured during file updates, all would be fine. Dream on. Errors and mistakes will occur. EZFDB cannot always determine when an index file is invalid. Occasional checks are made where possible. Here are some examples of when the index file is partially checked for validity: 1) When a database is initially selected, the database file and all its Index List indexes are opened. When an index file is opened, the expression that was used to create the index file is checked against the database for valid field names and field types. #20504# 2) When an index is active, the index helps determine which record to display. A particular entry in the index file corresponds to a record in its database. If the corresponding record no longer exists or it has a different key value, an error will occur. 3) When a record is accessed by number, the index file is not needed. After the record is retreived however, the key is determined and found in the index file to setup the next indexed access. An error will occur when the key is not found in the index file, or when the key points to a different database record. The Index - Rebuild command will rebuild one or all of the index files that are in the Index List. Rebuilding the index files is usually only necessary when one of the files has been damaged or the database has been modified without the corresponding modification made to the index files. #20700# PRINTING ÍÍÍÍÍÍÍÍ EZ-Forms DataBase supports various laser, dot matrix, and daisy wheel printers such as the HP LaserJet, Epson, IBM, and compatibles. This support includes graphics and print attributes such as bold and underline. Most other printers can be used with the Generic printer driver, which uses plain ASCII instead of graphics characters. If EZFDB doesn't support your printer well-enough, you can edit the codes in one of the built-in drivers, and create a customized driver. You can print a form from the main menu by using one of the Print options, or by pressing Alt P while in a form display mode. EZ-Forms DataBase does not require you to define your printer type before you can print. The Generic printer driver is the automatic default. Here are some notes to help keep your association with EZ-Forms DataBase forms printing on a friendly basis. #20701# 1. Most printers can print 66 lines per page. To print a full-page form, we recommend using 64 lines x 80 columns, which allows a couple of extra lines at the end to compensate for paper alignment. Adjust your printer so the first line prints at the VERY top of the page. If you don't, some of the forms may spill over onto the next page. 2. Some printers have micro-justification (usually controlled by a switch inside the printer). Make sure this switch is off before using EZ-Forms DataBase (usually this means turning off the switch AND turning the printer off and back on). If your printer uses micro- justification, then the right border of the printed form will NOT line up vertically. 3. If you do not have an Epson, IBM, or LaserJet or compatible, then you can't use the compressed print mode. See the printer configuration area (Config-Printer) for a current list of printers. 4. The Config-Printer command will allow you to set up the codes needed for almost any printer. 5. Some laser printers may require you to first print the form to a file #20702# via the 'T' option in the Print Setup menu. Then after proper printer initialization, you can print the ASCII file from DOS with the command: COPY "filename" PRN: (or LPT1:, COM1:, ETC.). 6. EZ-Forms DataBase directly supports the HP LaserJet and compatible printers. Solid vertical and horizontal lines are printed. Multiple fonts and graphic images on form are available with the optional HP LaserJet Fonts and Graphics Support Pack (HPLJFGSP), explained on the next few screens. This pack also allows use of the Print - Preload command, which speeds up the printing process by loading the fonts, graphics and form to the printer only once. 7. Using preprinted forms: EZ-Forms DataBase has a Clear Forms Overlay (CFO) selection on the Print Setup menu, which allows you to easily use preprinted forms. To use this feature, first create a form to act as the template. Make sure that all of the fields match or align with those on your preprinted form. Create a new database with this form and enter a test record. When printing the test record, select C for Clear Forms Overlay. This will ensure only the unprotected area (text you just typed in) will be printed. The form outline is protected, so it doesn't print! #20703# HP LaserJet Fonts and Graphics Support Pack ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ EZX Publishing now offers fully integrated Soft Fonts for use with the HP LaserJet+, II, III and 4 series of laser printers. With this optional support package, EZ-Forms DataBase supports 16 groups of downloadable soft fonts. Though not necessary, the Print - Preload command will download all used soft fonts, graphics, and the form, in order to speed up subsequent printing. Each of the 16 groups is based on normal/small text, 6/8 lines per inch, normal/very dark text, and portrait/landscape orientation. Within each group you can have 10 fonts, 00 being the default font and 01-09 being additional fonts you can access within any given form. The naming convention is: Fnt00N6N.SFP ³³³³³ ³ ³ Ôµ³³³ ÔÍÏÍ Soft font portrait (SFP) or soft font landscape (SFL) ³³³ÔÍÍÍÍÍ Normal (N) or very dark (V) text/graphics ³³ÔÍÍÍÍÍÍ 6 or 8 lines per inch ³ÔÍÍÍÍÍÍÍ Normal (N) 10 cpi or small (S) 17 cpi text/graphics ÔÍÍÍÍÍÍÍÍ Font number (00 is default), range 00-09 #20704# This provides 16 possible font groups: Fnt00n6n.SFP 10 cpi, 6 lpi, normal darkness, portrait Fnt00s6n.SFP 17 cpi, 6 lpi, normal darkness, portrait Fnt00n6v.SFP 10 cpi, 6 lpi, very dark text/graphics, portrait Fnt00s6v.SFP 17 cpi, 6 lpi, very dark text/graphics, portrait Fnt00n8n.SFP 10 cpi, 8 lpi, normal darkness, portrait Fnt00s8n.SFP 17 cpi, 8 lpi, normal darkness, portrait Fnt00n8v.SFP 10 cpi, 8 lpi, very dark text/graphics, portrait Fnt00s8v.SFP 17 cpi, 8 lpi, very dark text/graphics, portrait Fnt00n6n.SFL 10 cpi, 6 lpi, normal darkness, landscape Fnt00s6n.SFL 17 cpi, 6 lpi, normal darkness, landscape Fnt00n6v.SFL 10 cpi, 6 lpi, very dark text/graphics, landscape Fnt00s6v.SFL 17 cpi, 6 lpi, very dark text/graphics, landscape Fnt00n8n.SFL 10 cpi, 8 lpi, normal darkness, landscape Fnt00s8n.SFL 17 cpi, 8 lpi, normal darkness, landscape Fnt00n8v.SFL 10 cpi, 8 lpi, very dark text/graphics, landscape Fnt00s8v.SFL 17 cpi, 8 lpi, very dark text/graphics, landscape Note: Each font group can have up to 10 fonts, 00-09. #20705# Each font may optionally have its horizontal and vertical motion index adjusted. EZ-Forms DataBase uses a file with the same name as the font except ending with HMP (portrait)/HML (landscape) to designate an ASCII file that contains an ASCII number for modifying the character spacing for a font. If no file exists then EZ-Forms DataBase assumes no motion modification is required. Refer to your HP LaserJet technical reference manual for details on horizontal (HMI) and vertical (VMI) motion indexes. Font 00, the default font, is used for the form outline and for all text that doesn't have another font specified thru the EZ-Forms character attribute functions. It also determines the inter-line spacing for any other (01-09) loaded font. With driver E, this font is loaded from disk. Driver K uses the internal LaserJet default fault with PC-8 symbol set for font 00 only. This symbol set is available in most LaserJets and compatibles, except for some of the older ones. Both E and K drivers load all other fonts from disk. Any font may be renamed to fit into the EZ-Forms DataBase naming conventions. However, most fonts don't provide the character graphics symbols that allow the lines in the form to be drawn. All of the EZX Soft Fonts in the font support package provide this capability. #20706# Print macros are also supported. Print macros are predefined sequences of commands for your printer that can be triggered by sending a simple escape sequence (see your HP LaserJet technical reference manual for more info). These are used for printing things like logos for letterhead and printing someone's signature. Unlike soft fonts, print macros have to be completely designed and defined with a macro ID (01-15) prior to you being able to reference them within a form. Print macros must be named MACROxxy.HPM where xx is the macro ID and y is either P (portrait) or L (landscape). Print macros are selected within a form thru the use of the Greek characters. The first Greek character triggers print macro 01, the second Greek character print macro 02, etc. The Alt-Z command during data entry allows selection of Greek characters. Print macros can't have a shaded background. This is intentional because a print macro is a graphic image of an item. The graphic image will already contain any shading desired when it is designed. #20707# BASIC OVERVIEW OF HOW TO USE THE SOFT FONTS FOR PRINTING ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ The following is an overview of printing when using the optional EZX Soft Fonts with driver E or K selected (HP LaserJet+, II, III, 4 or compatible). 1. EZFDB searches your form for "Greek characters"- àáâãäåæçèéêëìíî - and then downloads to your printer the print macro referenced by the Greek character. The first Greek character references the first print macro, the second Greek character references the second print macro, etc. 2. EZFDB searches your form for any fonts referenced. It then downloads to your printer Font 00 plus any additional fonts the form references. 3. EZFDB is now ready to start printing. It prints the outline using Font 00. Any other font is used on additional passes. EZFDB selects the Font 00 and goes to the line and column of the next text using a different font (other than 00). It will then print all the contiguous characters/text using that font. At the next font switch EZFDB again switches to Font 00, goes to the proper line/column within your form, and starts printing using the new font. This allows you to easily line up text vertically using a multitude of different fonts. Unless you are aware of this process, you could be a little confused over how multiple font printing is accomplished. #20708# 4. The background shading is now done. EZFDB uses the lightest character graphic symbol to add a shaded background (characters with a Alt B) attached. On printer drivers other than E, the Alt B allowed you to bold a character. This capability is still retained but you have to use a different font for bold text when using this printer driver. 5. Print macros are now printed. EZFDB goes thru your form line by line, directing your printer to print any print macros it finds. Please note that if you direct EZFDB to use a print macro and it wasn't available for downloading earlier in this process, nothing will print. Warning: EZFDB makes multiple passes to produce a composite, which is the printed form that comes out of your printer. Your printer can handle only a maximum number of characters per line and a maximum number of lines per page based on the fonts and orientation you select. If you try to print a form bigger than will fit on a single page, you may get multiple pages - each with a portion of one of the passes. To print correctly, your form MUST fit on a single page based on the fonts and orientation selected. Trial and error may sometimes be necessary. #20800# Unable to run the file EZXINFO.EXE. Exit to DOS, and run EZXINFO.EXE directly. If EZXINFO.EXE is not in your current directory, it can be copied from the original Full System Disk. Run EZXINFO.EXE from DOS for more product details and ordering information. If this product is older than 6 months, please call us for the latest information. EZX Publishing P.O. Box 58177 Webster, TX 77598 USA Voice: 1-713-280-9900 FAX: 1-713-280-0099 Info/OrderBBS: 1-713-280-8180 (2400-14.4K N81) EZ-HOST BBS TestDrive versions of all our programs are available from our EZ-HOST BBS. #20900# Unable to run the file SUPPORT.EXE. Exit to DOS, and run SUPPORT.EXE directly. If SUPPORT.EXE is not in your current directory, it can be copied from the original Full System Disk. The following screen contains information about technical support. Run SUPPORT.EXE from DOS for further details. EZX Publishing P.O. Box 58177 Webster, TX 77598 USA Voice: 1-713-280-9900 FAX: 1-713-280-0099 Info/OrderBBS: 1-713-280-8180 (2400-14.4K N81) EZ-HOST BBS TestDrive versions of all our programs are available from our EZ-HOST BBS. #20901# BASIC SUPPORT POLICY ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ We provide technical support to all registered users of our products. We provide the support to the INDIVIDUAL who filled out, signed, and sent in the original registration card. This applies even to copies of the program purchased by companies. Please read all of the information on the registration card (we provide 2 copies, 1 to send in, and 1 to keep) as to terms, length of support period, etc. Basically, registrations are not transferrable as we can only "train" one individual per program purchased. IF you have arranged for Extended or Priority Support, refer to the documents you received. EZX Publishing P.O. Box 58177 Webster, TX 77598 USA Voice: 1-713-280-9900 FAX: 1-713-280-0099 Info/OrderBBS: 1-713-280-8180 (2400-14.4K N81) EZ-HOST BBS #21100# Command menu: All the Form Editor commands can be entered directly within the editor. Many of the commands can also be entered thru this pulldown command menu. The pulldown command menu may be called up thru either Escape or F10. If you use the F10 key to call up the command menu, then the previous command or state of the menu is used. You will probably want a command in the general area of your last choice so this is saved between uses. You will notice the command menu has a help window at the bottom of the screen that expands on what will happen if you choose that option. Many of the commands can be entered without calling up the command menu. If there is a command sequence shown at the end of the help window, you could have entered it instead of calling up the command menu. Example: Help for BlockOps - Start block shows a (Alt S). That means you can press Alt S directly in the editor to mark the beginning of a block INSTEAD of going thru this menu. #21300# The block operations in the EZ-Forms DataBase Form Editor are laid out in four logical groups. These are: (1) Those dealing with moving text around in your form -- Alt M (move), Alt C (copy), and Alt D (delete) (2) Those dealing with attributes/fields -- Ctrl A (attribute add) and Ctrl E (attribute erase) (3) ASCII file read and write -- Ctrl R (read) and Ctrl W (write). (4) Block enable/disable -- make visible (Alt V) or hide a block (Alt H). These four groups allow you to work on the marked portion of the form. This marked portion (block) is laid out as a rectangle. You must mark the diagonal corners of the rectangle with the Alt S being the upper left corner (start) and the Alt E being the lower right corner (end). You will then be able to work with just this small section of the form for - Alt C, Alt M, Alt D, Ctrl A, etc. #21400# To write a form to an ASCII file, type Ctrl W (for write). With this command, you take the form you see in front of you and write it to a disk file, in a standard format that word processors and other packages can read. All special control codes that EZ-Forms uses are removed as the file is written. Many word processors can't handle character graphics like Å ² ± ¿ and ³. Because of this, EZFDB provides a translation capability that translates these characters into normal characters, which somewhat look like the character graphics symbols. Example: Å becomes a + after translation. #21401# To read an ASCII file, press Ctrl R (for read). This command reads a standard text file from disk into your form. Any strange characters like Œ, –, etc., will be automatically translated to spaces before they are inserted into your form. Many word processors put these strange characters into the file to keep track of paragraphs, new lines, etc. You have the option of loading the file at the current cursor location, or into the marked area. An area is marked with the block operations (Alt S and Alt E). The starting point is either the current cursor location, or the start of the marked area. For example, if the starting point is at line 2, column 2, then the file will be read into your form starting at this location. The second line will be read into line 3, column 2, etc. When reading into the marked area, nothing will be loaded outside of it. #21600# Fields allow you to "jump" between data entry areas in a form, and to protect areas of a form that don't contain any text. A special character, the tilde ~, is used to allow this. In the form, use the ~ key (yes, it really is on your keyboard) to fill all the areas where you DON'T want to enter data. You can fill areas by hand with the ~ key, or use the quick and easy block operations. To use the block operations, first mark a block with Alt S and Alt E. Then use Ctrl A to add field markers, or Ctrl E to erase field markers in the marked area. You can use F3 and F4 to insert and delete field markers for the entire form. Once you have field markers set up in the form, save it, and use the Database - New command to create a new database with it. Then use the Revise - Add command to enter a new record. Note how the Enter, Tab, Shift Tab (backtab) and cursor keys move between data entry fields. Note: The ~s won't appear when printing, so use them freely. #END#