home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / dbase / citys263.zip / EZFDB_HM.TXT < prev    next >
Text File  |  1991-06-04  |  204KB  |  4,084 lines

  1. #1#
  2.  
  3.                              EZ-Forms DataBase
  4.                             by Saje Enterprises
  5.                             and EZX Publishing
  6.  
  7.  
  8.   EZ-Forms DataBase gives you the capability to add, modify, sort, display
  9.   and print all kinds of information in various ways.
  10.  
  11.   Use the on-line manual (from the main menu) or the context sensitive help
  12.   (via F1) for detailed information.
  13.  
  14.  
  15.   Comments or suggestions for improving EZ-Forms DataBase will be
  16.   appreciated.
  17.  
  18.   EZ-Forms DataBase requires an IBM PC or compatible with at least 640K of
  19.   RAM.  Supported printers include the Epson graphics printers and
  20.   compatibles, and the HP Laserjet laser printers and compatibles.  Display
  21.   adapters known to work with EZ-Forms DataBase are the IBM monochrome, CGA,
  22.   EGA, VGA and compatibles.
  23. #20#
  24.  
  25.   General help for all menus:
  26.  
  27.   This menu is broken up into two basic windows.  The window at the top of
  28.   your screen shows several choices.  The window at the bottom of the screen
  29.   expands on what will occur if you choose the highlighted option (the one
  30.   that has a different background color).
  31.  
  32.   Options may be selected in one of two ways.  You can either press the
  33.   first letter key of the desired command, or move the highlight bar over the
  34.   desired option and press Enter.  To move the highlight bar, use one or any
  35.   combination of the space bar, up arrow, down arrow, left arrow, or right
  36.   arrow keys.  You can also use Home to move to the first top line item on
  37.   the menu.  This is very useful when you need a reference point on the main
  38.   menu to start a keystroke macro from.  The End key will move the highlight
  39.   bar to the last option.
  40.  
  41.   Using the first letter of a command only works in the  ACTIVE  window.  If
  42.   you don't have a pulldown, then the active window is the top window.  Once
  43.   you pulldown one of the options, that becomes the active window.  You must
  44.   use one of the commands in the pulldown once it is active.  You can always
  45.   use Escape to back out of the pulldown and return to the top menu.
  46. #21#
  47.  
  48.   In order to get help on specific areas, you must first select the command
  49.   as explained on the previous screen.  Then you can use F1 to get the
  50.   context-sensitive help for where you are in the program.
  51.  
  52.   KEYBOARD MACROS
  53.   ═══════════════
  54.   Keyboard macros will execute a sequence of keystrokes for you.  This can
  55.   be used to automate data entry, simplify command selection or automate
  56.   file selection.  The 'Alt =' key brings up the keyboard macro menu from
  57.   any point in the program.  Any macro assigned to the 'Shift F10' key is
  58.   an auto-start macro, which is automatically executed at program startup.
  59.   Over 100 keyboard macros can be saved to a macro file.  This file can be
  60.   automatically selected by entering it on the EZFDB command line with the
  61.   '/m' switch, or by using the Load Macro File command in the keyboard macro
  62.   menu.
  63.  
  64.   HINT:
  65.   To simplify access to a multitude of databases, create a keyboard macro
  66.   file for each database.  Define an auto-start macro to automatically load
  67.   the database and form files.  Define some other macros to simplify data
  68.   entry and command selection for that database.  Then whenever you want to
  69. #22#
  70.  
  71.   access that database, invoke EZFDB and specify it's associated keyboard
  72.   macro file on the command line.  For example:
  73.  
  74.         EZFDB /m=addrs.mac
  75.  
  76.  
  77.   NOTE
  78.   ════
  79.   In the on-line help and manual, commands are usually identified by using
  80.   a two part convention.  The first part is the item name from the main menu,
  81.   and the second part is the item name from its pull-down menu.  For example,
  82.   the Database - Open command is frequently mentioned.  This is the 'Open'
  83.   command item in the 'Database' pull-down menu.  From the main menu (with
  84.   no pull-downs shown), you can access the Database - Open command by
  85.   entering the 'D' key followed by the 'O' key, among other ways.
  86.  
  87.   DATA INTEGRITY
  88.   ══════════════
  89.   This stands for the accuracy and proper retention of your data
  90.   notwithstanding operator error.  It is imperative that you avoid certain
  91. #23#
  92.  
  93.   types of actions while EZFDB is running.  These include rebooting,
  94.   turning off or resetting your computer.  Whenever any file is updated
  95.   by EZFDB, it does not necessarily mean that all data has been properly
  96.   preserved on disk.  All data is properly saved whenever you exit the
  97.   program, load a new database, or execute the Database - Close command.
  98.  
  99.   BACKUPS
  100.   ═══════
  101.   The importance of backing up (making copies of) your database and
  102.   associated files can never be overstated.  Hardware and software is never
  103.   perfect, so backing up your files at least daily is the only way to assure
  104.   that any problems will be minimized.
  105.  
  106.   SUGGESTIONS
  107.   ═══════════
  108.   We have tried to design EZ-Forms DataBase to let you get your job done
  109.   quickly and easily.  Please feel free to forward any suggestions for
  110.   improvement to us at EZX Publishing, Attn: EZFDB Author.
  111. #50#
  112.                            Quick Expression Help
  113.                            ═════════════════════
  114.  
  115.   Expressions can be used for selection criteria, index creation or field
  116.   calculations.  The following screens explain expressions in more detail,
  117.   but first, here are some examples to give you an idea of what's going on.
  118.   To find (or print or delete) all records that have a LASTNAME field
  119.   starting with 'X', the selection criteria expression would be:
  120.         LASTNAME = 'X'
  121.   Alphabetic case is significant for data between quotes, but otherwise case
  122.   is insignificant.  The 'UPPER' function can be used to make the search
  123.   case insensitive:
  124.         upper(lastname) = 'X'
  125.   However, since the 'UPPER' function converts all characters to uppercase,
  126.   the characters in between the quotes must also be uppercase in order to
  127.   match.  The quotes can be either the single quotes (') or the double
  128.   quotes (").  Spaces anywhere except between quotes or within function
  129.   or field names are optional and insignificant.
  130.     Items can be combined to provide further specificity.  To find all
  131.   records that have a CITY field starting with 'DENVER' and STATE field
  132.   starting with 'CO':
  133.         CITY = 'DENVER'  .AND.  STATE = 'CO'
  134. #51#
  135.                           Detailed Expression Help
  136.                           ════════════════════════
  137.  
  138.   All expressions have the same structure, no matter where they're used.
  139.   They consist of combinations of field names, operators, functions and/or
  140.   constants.  All expressions evaluate to a Logical, Character, Numeric or
  141.   Date type.  Logical expressions have a True or False result and are used
  142.   for record selection, i.e., selection criteria.  Index key expressions can
  143.   have a Character, Numeric or Date result.  A field calculation can have any
  144.   result type, as long it matches its field type.  Evaluation to a specific
  145.   type means that all parts of the expression, whether they be fields,
  146.   functions or constants, must be appropriately combined to yield any one
  147.   type.  Any improperly mixed types will cause an error.
  148.  
  149.   Memo fields cannot be used in expressions because of the way Memo fields
  150.   are stored.
  151.  
  152.   A common form of an expression is the name of a field.  In this case, the
  153.   type of the expression is the type of the field.  A common Logical
  154.   expression is one that contains nothing.  This is the simplest way to
  155.   specify all records.
  156. #52#
  157.  
  158.   Constants are fixed values of any type.
  159.     - Character constants are letters with quote marks around them.  A
  160.       single (') or double (") quote can be used, but be sure to use the
  161.       same one on both sides of the constant.  "Ed", 'Edwardo' and "15515"
  162.       are all examples of Character constants.  If you wish to specify a
  163.       character constant with a single quote or a double quote contained
  164.       inside it, use the other type of quote to mark the Character constant.
  165.       For example, "Andy's" and '"OK"' are both legitimate Character
  166.       constants.
  167.     - A Numeric constant represents a number.  For example, 7, 82, 2.35 and
  168.       -22 are all Numeric constants.  To enter a number less than 1, precede
  169.       it with a zero.  E.g., enter .25 as 0.25, otherwise the number will not
  170.       be recognized.
  171.     - A Logical constant can only be '.TRUE.' or '.FALSE.'.  '.T.' and '.F.'
  172.       are legitimate abbreviations.  The '.' is used to distinguish it from
  173.       a field name.
  174.     - A Date constant must be specified using the Character to Date function
  175.       (CTOD) which converts a character string to a date constant.  For
  176.       example, assuming the default date format MM/DD/YY, February 5th, 1990
  177.       would be specified as CTOD('02/05/90'). The date format is specified
  178.       in the Config-Other menu.
  179. #53#
  180.  
  181.   Field names are entered directly or selected via the F2 key, which gives
  182.   you a window from which you can select the field and paste its name into
  183.   the expression with the Enter key.  The presence of a field name in an
  184.   expression will cause the value of that field from the current record to
  185.   replace the field name in the expression.  The value returned matches the
  186.   type of the field.
  187.  
  188.   Operators can relate one part of an expression to another (>, =), or they
  189.   can combine parts of an expression through a mathematical process (+, -).
  190.   The result of a relationship is either .TRUE. or .FALSE..  The result of a
  191.   mathematical process can be a value of any type.  Operators have a
  192.   precedence which specifies operator evaluation order.  The precedence of
  193.   each operator is specified in the following table.  The higher the
  194.   precedence, the earlier the operation will be performed.  For example,
  195.   Divide has a precedence of 6 and Plus has a precedence of 5 which means
  196.   Divide is evaluated before Plus.  Consequently, 7+8/2 is 11.  Evaluation
  197.   order can be made explicit by using parenthesis.  For example, 1+2*3
  198.   returns 7 and (1+2)*3 returns 9.
  199. #54#
  200.  
  201.   Operator      Symbol  Precedence    Type            Comments
  202.   ══════════════════════════════════════════════════════════════════════════
  203.   Add              +         5       Numeric,Date
  204.   Subtract         -         5       Numeric,Date
  205.   Multiply         *         6       Numeric
  206.   Divide           /         6       Numeric
  207.   Exponentiate     ** or ^   7       Numeric     X**Y means X to the Yth powr
  208.   Concatenate I    +         5       Character   Straight concatenate
  209.   Concatenate II   -         5       Character   Concatenate, spaces on end
  210.   Equal To         =         4       Logical     Any type
  211.   Not Equal To     <>        4       Logical     Any type
  212.   Less Than        <         4       Logical     Any type except Logical
  213.   Greater Than     >         4       Logical     Any type except Logical
  214.   Less Than or     <=        4       Logical     Any type except Logical
  215.     Equal To
  216.   Greater Than     >=        4       Logical     Any type except Logical
  217.     or Equal To
  218.   Contained in     $         4       Logical     Character only
  219.   Not              .NOT.     1       Logical
  220.   Or               .OR.      2       Logical
  221.   And              .AND.     3       Logical
  222. #55#
  223.  
  224.   Functions can be used as an expression or as part of an expression and
  225.   always return a value.  Functions always have a name and are followed by a
  226.   left and right parenthesis.  Values (parameters) may be inside the
  227.   parenthesis.  A list of functions follows.
  228.  
  229.   Function                      Description
  230.   ══════════════════════════════════════════════════════════════════════════
  231.   ABS(Numeric_Value)       Returns absolute value of Numeric_Value
  232.   CTOD(Char_Value)         Convert Character to Date
  233.   DTOC(Date_Value)         Convert Date to Character (in User Date Format)
  234.   DTOS(Date_Value)         Convert Date to String (CCYYMMDD)
  235.   DATE()                   Return the system Date
  236.   DEL()                    Returns "*" if current record deleted, else " "
  237.   DELETED()                Returns .TRUE. if current record deleted
  238.   DESCEND(Char_Value)      Returns "inverse", for creating descending indexes
  239.   IIF(Logical_Value,True_Result,False_Result)  Returns True_Result when
  240.                            Logical_Value is .TRUE., else returns False_Result
  241.   INSTR(Char_Value,Char_V) Returns position of substring in string
  242.   LOOKUP('Index_Field','Index_File','Database_File','Field_Name')  Get value
  243.         from Field_Name in other Database_File, via lookup using Index_File
  244.         and value in Index_Field.  Pick names (in quotes) with F3 -> F6.
  245. #56#
  246.   Function                      Description
  247.   ══════════════════════════════════════════════════════════════════════════
  248.   LOWER(Char_Value)        Converts Character string to lower case
  249.   LTRIM(Char_Value)        Removes preceding spaces from a Character string
  250.   PROPER(Char_Value)       Properizes (upper case first letter of each word)
  251.   RECCOUNT()               Returns the total number of records in the d/b
  252.   RECNO()                  Returns the current record number
  253.   RELATE(....)             Same as LOOKUP
  254.   RTRIM(Char_Value)        Removes trailing spaces from a Character string
  255.   STR(Numeric_Value,Length,Decimals)  Convert Numeric_Value to a Char. value
  256.   SUBSTR(Char_Value,Start_Position,Num_Chars)  Returns part of Char_Value
  257.   TIME()                   Returns system time as HH:MM:SS
  258.   TRUNC(Numeric_Value,Length,Decimals) Truncate Numeric_Value at Decimals
  259.   UPDATE('Index_Field','Index_File','Database_File','Field_Name',Value,Code)
  260.         Place Value into Field_Name field in related Database_File, via
  261.         lookup using Index_File and value in Index_Field. Code specifies non-
  262.         existant rec mode: 0:add but ask, 1:add w/o ask, 2:never add-ignore,
  263.         3:never add-error.  Add 4 to Code for update only when adding record
  264.         to the main database.  Pick names (in quotes) with F3 -> F6.
  265.   UPPER(Char_Value)        Convert Character string to upper case
  266.   VAL(Char_Value)          Convert Character value to Numeric value
  267.   ZS(Numeric_Value)        Zero Suppression - blanks field when Value = 0
  268. #57#
  269.  
  270.                             Expression Examples
  271.                             ═══════════════════
  272.  
  273.   city='CHICAGO' -> Returns .T. (the 'true' constant) when the 'city' field
  274.     of a record starts with 'CHICAGO'.
  275.  
  276.   'CHICAGO'$UPPER(city) -> Returns .T. when the 'city' field of a record
  277.     contains 'CHICAGO' in any case.
  278.   
  279.   state='TX'.AND.city='HOUSTON' -> Returns .T. when the 'state' field
  280.     starts with 'TX' and the 'city' field starts with 'HOUSTON'.
  281.  
  282.   qty1+qty2 > 100 -> Returns .T. when the 'qty1' field added to the 'qty2'
  283.     field is greater than 100.
  284.  
  285.   SUBSTR(zip,5,1)='3' -> Returns .T. when the fifth digit of the 'zip'
  286.     field contains a '3'.
  287.  
  288.   LOOKUP('cust_id','idx_cust','customer','lname') -> Use 'cust_id' field
  289.     from current database to search in 'idx_cust' index of 'customer'
  290.     database, to get contents of 'lname' field.
  291. #60#
  292.  
  293.   EZ-Forms DataBase Data Entry Commands:
  294.  
  295.   Movement Within a Field            Movement Between Fields
  296.   ══════════════════════════════     ═══════════════════════════════════════
  297.   HOME  - Beginning                  Ctrl HOME - First field of form
  298.   END   - Last character             Ctrl END  - Last field of form
  299.        - Cursor left                TAB or ENTER - Next field
  300.        - Cursor right               SHFT TAB  - Prev field
  301.   BKSP  - Delete char left           PAGE UP   - First field on prev page
  302.   DEL   - Delete under crsr          PAGE DOWN - First field on next page
  303.   Ctrl - Word left                           - Prev closest field up
  304.   Ctrl - Word right                          - Next closest field down
  305.  
  306.   Vertical Form Movement             Horizontal Form Movement
  307.   ══════════════════════════════     ═══════════════════════════════════════
  308.   Ctrl T- Top section                Ctrl L - Leftmost section
  309.   Ctrl B- Bottom section             Ctrl R - Rightmost section
  310.   Ctrl U- Up one line                Ctrl P - Left one character
  311.   Ctrl D- Down one line              Ctrl N - Right one character
  312.   Ctrl PAGE UP - Top first
  313.   Ctrl PAGE DOWN - Bottom rightmost
  314. #61#
  315.  
  316.   EZ-Forms DataBase Data Entry Commands (continued):
  317.  
  318.   Edit Functions
  319.   ══════════════════════════════════════════════════════════════════════════
  320.   Alt A - Alternate character lookup          Alt = - Keyboard macro menu
  321.   Alt C - Clear current field                 F9    - Edit field
  322.   Alt D - Place today's date into field       F10   - Save record
  323.   Alt E - Edit Memo field (same as F9)        Ctrl X- DOS shell
  324.   Alt F - Recall current field from Recall Buffer
  325.   Alt M - Execute all field calculations
  326.   Alt N - Recall from Recall Buffer and increment
  327.             number into current field     (Numeric fields only)
  328.   Alt O - Recall from Recall Buffer and decrement
  329.             number into current field     (Numeric fields only)
  330.   Alt P - Print form
  331.   Alt R - Recall entire record from Recall Buffer
  332.   Alt S - Save record (same as F10)
  333.   Alt T - Place current time into field
  334.   Alt V - Clear all fields
  335.   Alt Z - Greek Characters (printer commands)
  336. #62#
  337.  
  338.   Record Movement                    Record Movement via selection criteria
  339.   ══════════════════════════════     ═══════════════════════════════════════
  340.   HOME or F  - First record          Ctrl HOME or F - First matching rec
  341.   END or L   - Last record           Ctrl END or L  - Last matching rec
  342.   PGUP or P  - Prev record           Ctrl PGUP or P - Prev matching rec
  343.   PGDN or N  - Next record           Ctrl PGDN or N - Next matching rec
  344.  
  345.   Form Movement                      Display / Revise Functions
  346.   ══════════════════════════════     ═══════════════════════════════════════
  347.    - Left section                   Alt A - print with Alternate form
  348.    - Right section                  Alt D - load new Database
  349.    - Up section                     Alt F - load Form file
  350.    - Down section                   Alt I - select Index
  351.                                      Alt L - print Label
  352.                                      Alt O - index temporarily Off
  353.                                      Alt P - Print current form
  354.   Global Functions                   Alt R - Remember rec (load Recall)
  355.   ══════════════════════════════     Alt S - Save filled out form (.fof)
  356.   Ctrl X- DOS shell                  Alt T - expression Tutor
  357.   Alt = - Keyboard macro menu        Alt W - Write form as ASCII file
  358. #63#
  359.  
  360.   Permissable Entries
  361.   ═══════════════════
  362.  
  363.   As you move around the form to different fields, you will notice the
  364.   contents of the bottom line change.  The row and column numbers indicate
  365.   the cursor position within the form.  Whenever editing is started, row 1
  366.   column 1 of the form is positioned at the top left of the screen.
  367.  
  368.   The 'Field:' area of the bottom status line indicates the field name and
  369.   type for the current field the cursor is in.  For example,
  370.   'Field:    NAME/C' indicates that the cursor is in the field named 'NAME'
  371.   and it's a Character field type.  Some of the field types have limits on
  372.   what characters can be entered and how the characters can be structured.
  373.  
  374.     Type          Description
  375.   ═════════════════════════════════════════════════════════════════════════
  376.   C  Character    No limits
  377.   N  Numeric      Numbers, '-' (and decimal point if decimals>0)
  378.   D  Date         Numbers and characters specified in the Date Format
  379.   L  Logical      'Y','y','T','t' for True -OR- 'N','n','F','f' for False
  380.   M  Memo         No limits
  381. #64#
  382.  
  383.   Window Fields
  384.   ═════════════
  385.  
  386.   EZFDB will only place data into a form field when that field's name
  387.   matches a database field name.  Even so, the form field can be longer
  388.   or shorter than the corresponding database field.  When the form field
  389.   is longer, all the data appears but data entry will be limited to the
  390.   length of the database field.  When the form field is shorter, the field
  391.   is automatically windowed.
  392.  
  393.   A window field is a form field whose data is longer than its area length.
  394.   All data is accessible, it's just not all shown in the form at the same
  395.   time.  Initially, only as much of the data field as can fit in its form
  396.   field is displayed.  During data entry, when the cursor approaches the
  397.   end of the field, the remaining data will automatically scroll leftward
  398.   into view. The cursor will remain in the field until it reaches the end of
  399.   the data.  Similarly, when the cursor approaches the beginning of the
  400.   field, the remaining data will automatically scroll rightward into view.
  401.   Again, the cursor will remain in the field until it reaches the end of the
  402.   data.
  403. #65#
  404.  
  405.   Memo Fields
  406.   ═══════════
  407.  
  408.   All Memo fields are automatically Windowed fields since the permissable
  409.   Memo field length (5000) is much longer than the longest possible form
  410.   field.  However, there is one exception: Memo fields cannot be changed
  411.   within the form but the first part is displayed in the form.  An external
  412.   memo editor (MEMO.COM) must be invoked (with Alt E) during data entry to
  413.   edit Memo fields.  This allows for use of the full screen for editing.
  414.   When you exit the editor, the Memo field will be updated.  An intermediate
  415.   file is used for the editing: MMxxxxxx, where xxxxxx is a random number.
  416.  
  417.   EZFDB comes with a full screen editor program, MEMO.COM.  This simple
  418.   editor is a separate, stand-alone program with its own on-line help.
  419.   You are free to replace this with any other editor that can accept an edit
  420.   file on its command line.  To use another editor, either copy it into the
  421.   EZFDB directory as MEMO.COM or MEMO.EXE, or make a MEMO.BAT file that
  422.   calls it.  EZFDB searches for MEMO.BAT, then MEMO.COM, then MEMO.EXE, so
  423.   make sure no files exist that will be found before the one you want.
  424. #70#
  425.  
  426.                       Expression Tutor and Calculator
  427.                       ═══════════════════════════════
  428.  
  429.   This dialog box will show the results of any expression you enter.  Any
  430.   field names in the expression will be replaced by data from the current
  431.   record.  You can enter and re-enter expressions as long as you like, until
  432.   you've mastered the operation or function of interest.  The expression
  433.   can also be any numeric formula, so you can use this expression evaluator
  434.   as a calculator.  Expressions must evaluate to a specific type (Character,
  435.   Date, Numeric or Logical), so be sure to not mix types.
  436.  
  437.   The screens that follow give details on how to form expressions.
  438.  
  439.   Use the ESCape key to exit the Expression Tutor and Calculator when you
  440.   are done.
  441. #200#
  442.  
  443.   Database - Open will select an existing database for use.  If you want to
  444.   create a new database, you instead need to use the Database - New command.
  445.  
  446.   Enter the database name only, without the .dbf extension.  If you don't
  447.   remember exactly what it's called, a list of files will be presented
  448.   whenever you enter just the directory name and leave the filename blank,
  449.   or whenever you enter a wildcard for the file name.  Directory listings
  450.   consist of files in the current directory, then subdirectories in the
  451.   current directory, and then valid drives.  Selecting a file will load that
  452.   database.  Selecting a subdirectory will show a listing for that
  453.   subdirectory.  Selecting a drive will show a listing for the current
  454.   directory on that drive.
  455.  
  456.   A file or directory name consists of up to 8 characters.  The following
  457.   characters CANNOT be used in file or directory names: ."/\[]:|<>+=;,
  458.  
  459.   Directory names are optional and if left blank, the current directory
  460.   is assumed.  The directory name can contain a drive name, a path name or
  461.   both.  A path name is a list of directories separated by backslash
  462.   characters ('\'), that leads through the directory tree up to the
  463.   directory of interest.
  464. #201#
  465.  
  466.   Refer to your Disk Operating System (DOS) manual for detailed information
  467.   on directories and file names.
  468.  
  469.   The following files are read at this time:
  470.  
  471.   - database file  (.dbf)   Stores the actual data
  472.   - memo file      (.dbt)   Where memo fields are stored
  473.   - database defs  (.dbr)   Stores Index List and Field Calculations
  474.   - form file      (.frm)   EZ-Forms form for data entry or reports
  475.   - form/db file   (.fdb)   Contains field names (for form)
  476.   - index files    (.ndx)   Record ordering data (optional)
  477.  
  478.   The database file is always required for this command.  If the form file
  479.   does not exist, EZFDB can create one for you.  When the form file exists
  480.   without the form/db file, EZFDB can create the form/db file for you.  The
  481.   resulting form/db file may not place database fields into form fields
  482.   properly, since form field names are assigned from the database field names
  483.   by sequence.
  484. #210#
  485.  
  486.   Database - Close will flush all internal disk buffers to disk and terminate
  487.   access to selected files.  This is useful for saving data to a floppy
  488.   before its removal, or before powering down a system.
  489.  
  490.   This command is just as effective as exiting the program at preserving
  491.   data.
  492.  
  493.   On a network, this command is useful for freeing up a database so someone
  494.   else can make structural modifications.
  495. #230#
  496.  
  497.   Database - New can create a database using a currently loaded form, any
  498.   other existing form, or it can also create a new form.  Once a form is
  499.   available, a Field Setup menu is presented, which allows modification
  500.   of all field characteristics before the database is actually created.
  501.   Subsequent changes can be made with the Revise - Fields command, or the
  502.   Database - Build command.
  503.  
  504.   The Field Setup menu allows you to setup field width, type and name for all
  505.   fields.  In the first window (selection list), move the cursor with the up
  506.   and down arrow keys to select the field you want to change, then press the
  507.   'Enter' key.  This will bring up a second window (dialog box) that allows
  508.   you to change certain characteristics for the selected field.  Once in the
  509.   dialog box, the direct field selection keys PGUP (previous field), PGDN
  510.   (next field), Ctrl PGUP (first field) and Ctrl PGDN (last field) are
  511.   active. The F10 key will return back to the field selection list.  Field
  512.   Calculations can only be entered and modified with Revise - Fields.
  513.  
  514.   If a database with the same name already exists, you will be prompted
  515.   before it is overwritten.
  516. #231#
  517.  
  518.   Characteristic              Description
  519.   ════════════════  ══════════════════════════════════════════════════════
  520.   Name              Can be up to 10 alphabetic, numeric or '_' characters.
  521.  
  522.   Type              Character, Numeric, Date, Logical or Memo.
  523.  
  524.   Width             0 through 256, depending on type.
  525.  
  526.   Decimals          For Numeric fields only.  Number of digits after decimal
  527.                     pt., 0 - 15.  Must be at least 2 less than field width.
  528.  
  529.  
  530.   Limits
  531.   ══════
  532.  
  533.   The sum of the widths of all fields (10 for Memo fields) is the record
  534.   length.  The maximum record length is 32000 characters.
  535.   The total number of fields in the form or database cannot exceed 1000.
  536.   Limits are subject to available memory.
  537. #232#
  538.  
  539.   Type        Can Contain                                   Width
  540.   ══════════  ════════════════════════════════════════════  ═════════════════
  541.   Character   any ASCII character                           0 - 256
  542.               (letters, numbers, symbols and spaces)
  543.  
  544.   Numeric     '0' - '9', '.', '-'                           0 - 19
  545.                                                             Decimals 0 - 15
  546.  
  547.   Date        '0' - '9', and other chars in user format     8
  548.  
  549.   Logical     'T','t','Y' or 'y' for logical true (.T.)     1
  550.               'F','f','N' or 'n' for logical false (.F.)
  551.  
  552.   Memo        any ASCII character                           10
  553.               (letters, numbers, symbols and spaces)    (0-5000 in memo file)
  554.  
  555.   Data Entry Help
  556.   ═══════════════
  557.  
  558.   During data entry, the field name and type is displayed on the bottom
  559.   line.  A help screen is available to explain permissable entries by type.
  560. #233#
  561.  
  562.   Memo Fields
  563.   ═══════════
  564.  
  565.   A Memo field is very similar to a Character field, except that its data
  566.   is stored in a separate Memo (.dbt) file and each Memo field's length
  567.   can be variable and relatively long.  The advantage is that when an
  568.   occasional elaboration is required for a certain record, there are no
  569.   limits on how long or short the elaboration can be.  Only 10 bytes are
  570.   used for each Memo field in a record to point to the corresponding data in
  571.   the Memo file.  When there is data in a Memo field, it is written to
  572.   the Memo file in 512 byte blocks.  When there is no data, nothing is
  573.   written to the Memo file.
  574. #235#
  575.  
  576.   EZ-Forms DataBase will create a new form and database from answers
  577.   you place in this dialog box.  Fields names are automatically assigned,
  578.   and all field types and widths are the same, as specified.  Once the
  579.   default database definition is built, a Field Setup menu is presented,
  580.   which allows full control over all field characteristics.  Since defaults
  581.   have already been setup, the field definitions can be used as is.
  582.  
  583.   The Field Setup menu presents a list of fields.  Selecting one of the
  584.   fields will present a dialog box for modification of the default field
  585.   characteristics.  Once in a dialog box, the direct field selection keys
  586.   PGUP (previous field), PGDN (next field), Ctrl PGUP (first field) and
  587.   Ctrl PGDN (last field) are active.  The F10 key will return back to the
  588.   field selection list.
  589. #236#
  590.  
  591.   EZFDB imposes some limits on the form it automatically creates.  The form
  592.   width is fixed to 80 columns, and the height varies depending on the
  593.   number of desired fields.  Remember, the maximum height is 999 lines, but
  594.   this can be further limited by the Config - Memory settings.  EZFDB tries
  595.   to fit one field per line, but if there are too many fields, it will try
  596.   to fit two fields per line.  Depending on the actual field width and total
  597.   number of fields on the form, some fields may be shortened only in the
  598.   form, and therefore windowed.
  599.  
  600.   Of course, the Form - Edit command can then be used to edit the form and
  601.   make it more suitable.
  602.  
  603.   For full control over the form size and format, use the Form - Create
  604.   command to create a new form.  Then run Database - New and tell it you
  605.   want to create a database from an existing form.
  606. #240#
  607.  
  608.   Database - Build will rebuild (clone) the current database to a new one, or
  609.   create a new database that matches an alternate form.  When you choose a
  610.   new form, a copy of the current form is made.  The new database will then
  611.   be created using the new or alternate form's name.
  612.  
  613.   Once a form is available, the Field Setup menu will appear.  This allows
  614.   you to setup all field characteristics for the NEW database.  EZFDB can
  615.   add, delete or move fields only when creating a new form.  Whenever fields
  616.   are added, deleted, or moved, EZFDB will change the form accordingly.  When
  617.   building is done, you may want to edit the form to move new fields into
  618.   proper position, or to remove text relating to deleted fields.  However,
  619.   when editing the form, be careful about moving, adding, or deleting fields.
  620.   You can use Form - Setup to change the field names accordingly. When you're
  621.   finished making field changes, press the F10 key to continue to the next
  622.   window, which asks for selection criteria and index ordering.  By entering
  623.   an expression, you can select which records get copied to the new database.
  624.   Specifying index ordering will cause records to be written to the new
  625.   database in current index order.
  626.  
  627.   NOTE: After this command executes, the PRIOR database and form are still
  628.         active, not the new ones.
  629. #241#
  630.  
  631.   Database - Build is useful for making changes to your database structure,
  632.   after you have created the database.  You simply build to a new name, then
  633.   load the new database to verify any changes.  You can then use the
  634.   Database - Erase command to delete the old database.
  635.  
  636.   Field Setup Commands  NOTE: Only available when creating a new form.
  637.   ════════════════════
  638.  
  639.   Insert - insert a new field, before or after the current one, if room.
  640.   Delete - delete the current field.
  641.   Alt C  - copy field characteristics into paste buffer.
  642.   Alt D  - copy field characteristics into paste buffer, then delete field.
  643.   Alt P  - insert field, using field characteristics in paste buffer.  If
  644.            the original field from which the paste buffer was loaded was
  645.            not deleted, then make sure to change this field name.
  646.   Alt V  - view new form in its current state.
  647. #242#
  648.  
  649.   Using an alternate form to build a new database can be rather involved, but
  650.   in some situations it may be necessary.  For example, there may be times
  651.   when massive changes to the form are needed.  Or there may simply be no
  652.   room in a certain area to add more fields.  Here are the steps:
  653.  
  654.   1) Create the alternate form, either from new or by altering a form.
  655.   2) Use the Form - Setup command to assign form field names.  Remember,
  656.      these names must match the appropriate fields in the original database.
  657.   3) Load the original database.
  658.   4) Optional: use Form - Open to load the alternate form to verify proper
  659.      form setup and field naming.
  660.   5) Run Database - Build.
  661.   6) Load new database to verify results.
  662. #243#
  663.  
  664.   Database - Build is useful for creating a different database to be used by
  665.   a different department or person.  In this case, only some of the records
  666.   and fields are needed.  For example, a company has a master customer
  667.   database, which includes all domestic and foreign customers.  A new
  668.   domestic sales department is created, so the master customer database must
  669.   be split into two - one domestic, and one foreign.  Here are the steps:
  670.  
  671.   1) Load the master customer database.
  672.   2) Select the Database - Build command, and enter a name for the domestic
  673.      customer database.
  674.   3) When the Field Setup menu appears, make any necessary modifications,
  675.      then press F10 to the selection criteria dialog box.
  676.   4) For selection criteria, specify:
  677.         COUNTRY=' '.or.upper(COUNTRY)='USA'.or.upper(country)='U.S.A.'
  678.      This is simply an example, specific cases may vary.
  679.   5) Select index or non-index order, and press ENTER to start the build.
  680.   6) When complete, the original customer database will still be active.
  681.   7) Load the new domestic customer database and verify the results.  Since
  682.      you still have the original database, it's easy to redo the above steps
  683.      if there were any problems.  Redo until you are satisfied.
  684.   8) Repeat steps 1-7, with appropriate changes, for the foreign database.
  685. #250#
  686.  
  687.   Database - Export will export the current database to a seperate file, in
  688.   one of the 6 supported formats.  You can select which fields get exported,
  689.   field order, and what records get exported.  Records will be ordered based
  690.   on the currently active index.  EZFDB leads you through the following
  691.   steps:
  692.  
  693.   1. Select export file type.  Each of these types are fully documented in
  694.      the manual, and are also available for importing with Revise - Import.
  695.  
  696.   2. Fields to export.  Here you can control which fields get exported and
  697.      their sequence.
  698.  
  699.   3. Selection criteria.  Here you enter an expression which selects what
  700.      records get exported.
  701.  
  702.   4. Export file name.
  703. #260#
  704.  
  705.   Database - Rename will rename all files directly associated with a
  706.   database.  These files are identified by the following file extensions:
  707.         .frm - form
  708.         .fdb - form/database
  709.         .dbr - database definitions
  710.         .dbf - datbase
  711.         .dbt - memo
  712.  
  713.   As with Database - Erase, other files that may be associated with a
  714.   database are not affected.  These include:
  715.         .ndx - index
  716.         .cnf - configuration
  717.         .mac - keyboard macros
  718.   To rename one of these other files, you can exit or shell to DOS, and use
  719.   the DOS 'REN' command.  However, there is a problem with renaming an
  720.   index file using DOS, since the index file name is also present in the
  721.   database's Index List.  To rename an index file, you could:
  722.  
  723.   1) Use the Index - Erase command to erase the index file and then use
  724.      the Index - Create command to recreate it with the new name.
  725.   OR ...
  726. #261#
  727.  
  728.   2) Exit or shell to DOS, and rename the index file.  Then re-enter EZFDB,
  729.      tell it to eliminate invalid indexes from the Index List, then use
  730.      the Index - Include command to include the index under its new name.
  731.  
  732.   If any associated keyboard macros use an old file name, that macro must
  733.   be re-recorded using the new file name.
  734. #270#
  735.  
  736.   Database - Erase will erase all files directly associated with a database.
  737.   These files are identified by the following file name extensions:
  738.         .frm - form
  739.         .fdb - form/database
  740.         .dbr - database definitions
  741.         .dbf - datbase
  742.         .dbt - memo
  743.  
  744.   As with Database - Rename, all other files that may be associated with a
  745.   database are not affected.  These include:
  746.         .ndx - index
  747.         .cnf - configuration
  748.         .mac - keyboard macros
  749.  
  750.   To erase one of these other files, you can exit or shell to DOS, and use
  751.   the DOS 'DEL' command.
  752. #280#
  753.  
  754.   Database - Describe will change the descriptive comment that shows up
  755.   whenever you request a database directory listing.  This description is
  756.   first entered at time of database creation.  A similar description is also
  757.   maintained for each form, and can be changed with the Form - Describe
  758.   command.
  759.  
  760.   When listing a database directory, to get the database descriptions, EZFDB
  761.   must read part of each database .dbr file.  This can be rather time
  762.   consuming on slower machines, or on directories with very many databases.
  763.   The Config - Files menu contains an option to turn off descriptions when
  764.   listing database directories.  Initially, this is on.
  765. #300#
  766.  
  767.   Form - Open will load a form file (.frm) and its form/database file (.fdb)
  768.   if it exists.  A form defines the data entry screen and/or the report
  769.   format.  Before selecting a database, or after closing a selected database,
  770.   loading a form can be the first step towards creating a new database, or an
  771.   alternate view/report form.  To create an alternate form, create a master
  772.   form, then use Form - Setup to name the form fields appropriately.  To
  773.   create a database from a form, use Database - New.
  774.  
  775.   When a database is selected (with Database - Open), the corresponding form
  776.   and form/database files are also loaded.  Subsequent form loading will
  777.   provide an alternate view or report format for that database.
  778.  
  779.   Enter the form name only, without the .frm extension.  If you don't
  780.   remember exactly what it's called, a list of files will be presented
  781.   whenever you enter just the directory name and leave the filename blank,
  782.   or whenever you enter a wildcard for the file name.  Directory listings
  783.   consist of files in the current directory, then subdirectories in the
  784.   current directory, then valid drives.  Selecting a file will load that
  785.   form.  Selecting a subdirectory will show a listing for that subdirectory.
  786.   Selecting a drive will show a listing for the current directory on that
  787.   drive.
  788. #301#
  789.  
  790.   A file or directory name consists of up to 8 characters.  The following
  791.   characters CANNOT be used in file or directory names: ."/\[]:|<>+=;,
  792.  
  793.   Directory names are optional and if blank, the current directory is
  794.   assumed.  The directory name can contain a drive name, a path name or both.
  795.   A path name is a list of directories separated by backslash characters
  796.   ('\'), that leads through the directory tree up to the directory of
  797.   interest.
  798.  
  799.   The form file (.frm) must have been created by EZ-Forms DataBase or
  800.   Executive.  EZ-Forms DataBase supports all printing features, but not the
  801.   math formulas of EZFX.  Most math formulas can be rewritten as EZFDB
  802.   Field Calculations (see Revise - Fields).  EZ-Forms DataBase also supports
  803.   the use of the HP LaserJet Font and Graphics Support Pack (HPLJFGSP) for
  804.   printing.
  805. #310#
  806.  
  807.   Form - Print will print a form, with or without a database active.  If a
  808.   form is not already active, you can enter the name of one.  When a form is
  809.   read at this time, you are given a chance to view the form before the
  810.   full-screen Print Setup menu appears.
  811.  
  812.  
  813.   When the form is larger than the screen, the arrow keys will move the form
  814.   to allow viewing of other sections.
  815. #320#
  816.  
  817.   Form - View allows you to view a form, with or without a database active.
  818.   If a form is not already active, you can enter the name of one, or choose
  819.   one from a directory list.
  820.  
  821.  
  822.   When the form is larger than the screen, the arrow keys will move the form
  823.   to allow viewing of other sections.
  824. #340#
  825.  
  826.   You can create many different sizes of forms in EZ-Forms DataBase.  One
  827.   of the most common is 64 lines by 80 columns.  Text 80 columns wide at
  828.   10 cpi will just fill a 8 1/2" x 11" sheet of paper.  Most printers use
  829.   66 lines per page vertically.  So if you allow for a little leeway on
  830.   positioning the printer head at the VERY top of the page, things should
  831.   fit well.
  832.  
  833.   If you have a 80 column printer like the Epson MX80, you can print a form
  834.   as large as 88 lines by 132 columns by using compressed print and 8 lines
  835.   per vertical inch.
  836.  
  837.   Those of you lucky enough to have a wide carriage printer may be able to
  838.   print up to 130 columns normal size print or about 230/240 in the
  839.   compressed mode. The largest form you can print on a MX100 with wide paper
  840.   is 88 lines (if you use 8 lpi) by 230/240 columns.  This is a huge form!
  841.  
  842.   For multiple page forms, simply total up all the lines.  So for a 3 page
  843.   form where there are 66 lines per page, the total number of lines is 198.
  844.   The maximum EZFDB form height is 999 lines, and the maximum width is 254
  845.   columns.  This is dependent on the maximum settings in the Config - Memory
  846.   menu.
  847. #350#
  848.  
  849.   Form - Setup allows you to enter field names directly into the form, so
  850.   that you can see the form while you're deciding on names.  Form names can
  851.   also be assigned when creating a new database with Database - New, but the
  852.   form is not accessible there.  Use F2 to view/paste database field names.
  853.  
  854.   Field names consist of up to 10 characters with only alphabetic, numeric
  855.   and the '_' characters allowed.  Alphabetic case is insignificant.
  856.   Field windowing is used when the field is smaller than 10 characters.
  857.   The form field names are stored in the form/database (.fdb) file.
  858.  
  859.   Until the database is opened or created, these field names only apply to
  860.   the form.  When a new database is created, the database field names are
  861.   made identical to the form field names.  When a database is open and an
  862.   then an alternate form is opened (without closing the database), the form
  863.   field names are matched up to the database field names, in order to find
  864.   out where to place data on the form.  Any fields without a match always
  865.   display blanks and any data entered into these fields will be lost.
  866.  
  867.   F2 - View/paste database field names     F7 - Insert new field name
  868.   F8 - Delete field name at cursor         F9 - Edit name full size
  869. #360#
  870.  
  871.   EZ-Forms DataBase Form Editor Commands:
  872.  
  873.   FUNCTION KEYS              ALT FUNCTION KEYS        CTRL FUNCTION KEYS
  874.   ═════════════════════════  ═══════════════════════  ═══════════════════════
  875.   F1 - Help                  AF1 - ┌   ╒   ╓   ╔      CF1 - ┼   ╪   ╫   ╬
  876.   F2 - Resize Form           AF2 -  ┐   ╕   ╖   ╗     CF2 - N/A N/A N/A N/A
  877.   F3 - Insert Field Markers  AF3 - └   ╘   ╙   ╚      CF3 - ░   α   Φ   N/A
  878.   F4 - Delete Field Markers  AF4 -  ┘   ╛   ╜   ╝     CF4 -  ▒   ß   Θ  N/A
  879.   F5 - Draw Line             AF5 - ─   ═   ─   ═      CF5 - ▓   Γ   Ω   N/A
  880.   F6 - Erase Line            AF6 -  │   │   ║   ║     CF6 -  █   π   δ  N/A
  881.   F7 - Draw Border           AF7 - ├   ╞   ╟   ╠      CF7 - ▌   Σ   ∞   N/A
  882.   F8 - Erase Border          AF8 -  ┤   ╡   ╢   ╣     CF8 -  ▐   σ   φ  N/A
  883.   F9 - Clear Form            AF9 - ┬   ╤   ╥   ╦      CF9 - ▀   µ   ε   N/A
  884.   F10- Editor Menu           AF10-  ┴   ╧   ╨   ╩     CF10-  ▄   τ  N/A N/A
  885.                      Graphics set: 1   2   3   4            1   2   3   4
  886.  
  887.   NOTE:  The Alternate and Control Function Keys  have four  different  sets
  888.          of codes depending on the palette selected using Alt L.  The  Greek
  889.          characters in palette 2-4 in the control function keys are used  to
  890.          send special escape sequences to the printer.   See the manual  for
  891.          more details on this.  Keys labeled N/A return a space (" ").
  892. #361#
  893.  
  894.   Single keystroke commands (most of these can also be executed via F10):
  895.  
  896.   Alt A - Alternate Character Lookup  Ctrl A - Add Block Attributes
  897.   Alt B - Bold Text                   Ctrl B - Box Draw for Marked Block
  898.   Alt C - Copy Block                  Ctrl C - 
  899.   Alt D - Delete Block                Ctrl D -
  900.   Alt E - End Block                   Ctrl E - Erase Block Attributes
  901.   Alt F - Find Text                   Ctrl F - Feed Date/Time into form
  902.   Alt G - Graphics Walk-Around        Ctrl G - Delete Character
  903.   Alt H - Hide Block (disable block)  Ctrl H - (same as backspace)
  904.   Alt I - Information about Form      Ctrl I - (same as tab)
  905.   Alt J - Justify Text                Ctrl J - Insert a line at cursor
  906.   Alt K - Cross Hatch Generator       Ctrl K - WordStar-like ^K Commands
  907.   Alt L - Line Graphics Palette (1-4) Ctrl L - Large Character Lookup
  908.   Alt M - Move Block                  Ctrl M - (same as Enter)
  909.   Alt N - Notepad (use between forms) Ctrl N - Number (Auto Number Setup)
  910.   Alt O -                             Ctrl O - Kybd macro prefix (Global)
  911.   Alt P - Print Current Form          Ctrl P - Patch Form
  912.   Alt Q - Abort edit                  Ctrl Q -
  913.   Alt R - Replace Text                Ctrl R - Read ASCII file from disk
  914.   Alt S - Start Block                 Ctrl S - Save Form and Resume Edit
  915. #362#
  916.  
  917.   Single keystroke commands continued:
  918.  
  919.   Alt T - Text rotation (vertical)    Ctrl T -
  920.   Alt U - Underline                   Ctrl U -
  921.   Alt V - Visible block enable        Ctrl V - Verbose (Help Message Level)
  922.   Alt W -                             Ctrl W - Write ASCII file to Disk
  923.   Alt X - Save form then exit edit    Ctrl X - Exit to DOS Shell (Global)
  924.   Alt Y - Generate CFO Grid           Ctrl Y - Delete Line
  925.   Alt Z - Printer Cmds (Greek Chars)  Ctrl Z -
  926.   Alt = - Kybd macro Menu (Global)
  927.  
  928.  
  929.   Ctrl Enter - Inserts a line in the form at the current cursor line.
  930. #363#
  931.  
  932.   Most printers support printing of graphic characters.  EZ-Forms DataBase
  933.   provides printer drivers to handle most of them.  If you have a text only
  934.   printer, then EZ-Forms DataBase provides a translation of these characters
  935.   into something your printer can handle.
  936.  
  937.   Cursor movement commands:
  938.   ═════════════════════════
  939.   Use the keypad arrows to move        Home  Move to left side of form
  940.   left, right, up, and down.           End   Move to right side of form
  941.                                        Ctrl Home  Upper left of form
  942.   Use the Control key with the         Ctrl End   Lower left of form
  943.   keypad left and right arrows         Ctrl PgUp  Top of screen/form
  944.   to move to left and right of form.   Ctrl PgDn  Bottom of screen/form
  945.  
  946.   Note: Commands beginning with the Ctrl, Alt or Shift key, are selected by
  947.         holding down the  first key and then pressing the second key.  For
  948.         example: to use the Ctrl Home command, you would hold down the
  949.         Control key and then press the Home key once.
  950. #364#
  951.  
  952.  Note:  Auto numbering must be set up in the form.  During data entry, this
  953.         information is used to automatically insert the updated number into
  954.         the record.
  955.  
  956.  Special character oriented commands that only affect printing: 
  957.  
  958.     Alt U -- Underline the character at the cursor.  NOT on graphics!
  959.     Alt B -- Bold the character at the cursor.  NOT on graphics!
  960.     Alt 1 -- User defined function 1.   \
  961.     Alt 2 -- User defined function 2.    \  Use the Alt I command to see
  962.     Alt 3 -- User defined function 3.    /  the configured names for these.
  963.     Alt 4 -- User defined function 4.   /
  964.  
  965.     Note: These affect only the printed form.  A status of these commands is
  966.           shown on the bottom of the screen.  You can see the status updated
  967.           as you move the cursor.  Character status will toggle from U and B
  968.           if you press the key again.  The user defined functions can be
  969.           altered thru the configuration portion of EZ-Forms DataBase.
  970. #370#
  971.  
  972.   Form - Describe will change the descriptive comment that shows up whenever
  973.   you request a form directory listing.  This description is also entered
  974.   whenever a form is saved from the form editor.  A similar description is
  975.   also maintained for each database, and can be changed with the
  976.   Database - Describe command.
  977.  
  978.   When listing a form directory, to get the form descriptions, EZFDB must
  979.   must read part of each form (.frm) file.  This can be rather time
  980.   consuming on slower machines, or on directories with very many forms.  The
  981.   Config - Files menu contains an option to turn off descriptions when
  982.   listing form directories.  Initially, this is on.
  983. #400#
  984.  
  985.   Add Records
  986.   ═══════════
  987.  
  988.   Add new records to current database.  New records are concatenated onto
  989.   the end of the database file.  The new key values along with the database
  990.   record number will be inserted into all index files in the Index List.
  991.  
  992.   When you enter the F10 function key, the record will be added.  If no
  993.   error occurs, you will get a menu of options:
  994.  
  995.         A  Add another record       
  996.         R  Revise current record    
  997.         P  Print this form            Same as Print - Single
  998.         L  Print label              
  999.         F  Print with alternate form  Explained on next screen
  1000.         E  Exit or Escape           
  1001.                                      
  1002.         Your selection (ARPLFE)?    
  1003.  
  1004.  
  1005. #401#
  1006.  
  1007.   The 'L - Print label' and 'F - Print with alternate form' commands require
  1008.   a form file (.frm) and associated form/database (.fdb) file.  The
  1009.   form/database file must contain at least one form field name that matches
  1010.   a database field name.  After the files are read, the alternate form is
  1011.   matched to the database by field name and the appropriate data is inserted
  1012.   into the new form.  Then, the Print Setup menu allows you to print the
  1013.   alternate form with the current data.  Once printing is complete, the
  1014.   original form is re-loaded and the previous menu appears.
  1015.  
  1016.  
  1017.   Unique Indexes
  1018.   ══════════════
  1019.  
  1020.   If you've selected any of the indexes to have unique key values only,
  1021.   and the record you're adding contains a key value that is already in that
  1022.   index file, the record will not be added to the database or any of the
  1023.   index files.  Unique indexing is an option available at time of index
  1024.   creation with the Index - Create command.  This prevents adding of
  1025.   duplicate records.
  1026. #410#
  1027.  
  1028.   EZ-Forms DataBase Display Commands:
  1029.  
  1030.  
  1031.   FUNCTION KEYS
  1032.   ═════════════════════════════════════════════════════════════════════════
  1033.   F1 - Help
  1034.   F2 - Search for record matching given value, anywhere within record
  1035.   F3 - Find records via match of given mask against record
  1036.   F4 - Query database for records via index key and/or selection criteria
  1037.   F5 - Find next record containing duplicate key
  1038.   F6 - Select a record by entering its database record number
  1039.   F7 - Add a record
  1040.   F8 - Delete/undelete this record (can be purged later)
  1041.   F9 - Edit this record
  1042.   F10- Exit
  1043. #411#
  1044.  
  1045.   Edit Records
  1046.   ════════════
  1047.  
  1048.   At this point, you can browse through all records in the database by
  1049.   using the keys listed later in this help area.  To help find a particular
  1050.   record, you can use one of the movement keys described previously, or you
  1051.   can use one of the find commands, Search (F2), Match (F3) or Query (F4).
  1052.  
  1053.   The Search command is probably a good first choice, since all that is
  1054.   required is a string of sequential characters for which to look.  The
  1055.   Match command may be more accurate, if you know what field the characters
  1056.   are in.  Even though Search and Match are fairly simple, they may need
  1057.   a long time to find the record, since each record is searched one by one.
  1058.   The Query command has two parts, of which either or both can be used to
  1059.   help find records.  The first part deals with using the current index file
  1060.   to find a record.  As long as the character string of interest lies at the
  1061.   beginning of an index key, a matching record can be found in an instant.
  1062.   The second part of the Query command allows you to enter an expression
  1063.   for selecting certain records.  The expression query still must search
  1064.   record by record, but entering an index key to search for (first part) can
  1065. #412#
  1066.  
  1067.   speed this up by finding a record that matches the key before searching
  1068.   via the expression.
  1069.  
  1070.   To edit any record, use F9 to enter the edit mode on the currently
  1071.   displayed record.  Using the F8 key to delete a record will simply tag the
  1072.   record for later removal by the Revise - Purge command.  The Config -
  1073.   Misc command can change whether the delete-tagged records are displayed
  1074.   by any of the record display commands.  If you know the number of a
  1075.   particular record you want to see, you can use the F6 function to retrieve
  1076.   that record by number.
  1077.  
  1078.   A record's number is its position in the file relative to the beginning of
  1079.   the file.  The very first record is number 1 and they are numbered
  1080.   sequentially after that.  A database can contain up to 2,147,483,647
  1081.   records, assuming your disk is large enough.  Once a record is added, its
  1082.   record number is fixed until the record is deleted with the F8 function and
  1083.   purged with the Revise - Purge command.  After a record is purged, its
  1084.   record number and position in the file are reused by the next valid record.
  1085. #420#
  1086.  
  1087.   Revise - Delete allows you to delete all records that match the selection
  1088.   criteria you provide.  Once deleted, the records remain in the database
  1089.   until the database is purged.  The Config - Other command contains an
  1090.   option for selecting whether EZFDB displays deleted records or not.
  1091.  
  1092.   This command is useful for situations where you want to rid your database
  1093.   of some records that contain data that set them apart from the records you
  1094.   do want.  For example, let's say your database is getting too large for
  1095.   your disk and you want to delete all records that are older than a year.
  1096.   Assuming that today's date is 12/22/89 and the date field's name is 'DATE',
  1097.   you would enter this formula for the selection criteria:
  1098.  
  1099.   DATE < ctod('12/22/89')
  1100.  
  1101.   When this command finishes, it displays the number of records found and the
  1102.   number of records deleted.  If these numbers are different, its only
  1103.   because some of the records it found were already deleted.
  1104. #430#
  1105.  
  1106.   Revise - Undelete allows you to restore any set of previously deleted
  1107.   records.  It will not allow you to restore any deleted records that
  1108.   have already been purged by the Revise - Purge command.
  1109.  
  1110.   This command allows you to easily change your mind about records you've
  1111.   previously deleted.  For example, let's say that you normally delete
  1112.   invoices for orders that total less than $5.00.  Assuming that the total
  1113.   field is Numeric and it's name is 'TOTAL', you could enter this formula
  1114.   for the selection criteria:
  1115.  
  1116.   TOTAL < 5.00
  1117.  
  1118.   When this command finishes, it displays the number of records found and the
  1119.   number of records undeleted.  If these numbers are different, its only
  1120.   because some of the records it found were already not deleted.
  1121. #440#
  1122.  
  1123.   Revise - Purge will physically remove all deleted records from your
  1124.   database.  This allows you to reuse the space taken up by deleted records.
  1125.   You will probably want to make a backup of your database before running
  1126.   this command.
  1127.  
  1128.   CAUTION: Be  v e r y  careful, since no backup copy of the database is
  1129.            automatically made before the purge is carried out.  Once the
  1130.            purge is started, it may be impossible to restore the deleted
  1131.            records.
  1132.  
  1133.  
  1134.   NOTE: After the database is purged, any record numbers that you've noted
  1135.         may now be different.  Be careful when recalling records with these
  1136.         possibly obsolete numbers.
  1137. #450#
  1138.  
  1139.   Revise - Merge will add records to your database from another dBASE
  1140.   compatible file that has some matching field names.
  1141.  
  1142.   First, you select a database to merge.  Then EZFDB will check each field
  1143.   name in the merge database against each field in the current database.
  1144.   If there are no matches, an error is given.  If there is at least one
  1145.   match, one record is added to the current database from each record in
  1146.   the merge database.  Only the fields that match by name are copied into
  1147.   the new database record.  All unmatched fields are left blank.  Any size
  1148.   discrepencies between matched fields are handled by truncation or
  1149.   padding with spaces, whichever is appropriate.
  1150.  
  1151.   CAUTIONS: No field-type validation is performed on non-character fields.
  1152.             No field calculations are performed.
  1153.  
  1154.   Finally, one record is added to the current database from each record
  1155.   in the merge database.  Indexes are automatically updated.
  1156. #460#
  1157.  
  1158.   Revise - Import will add records from a non-dBASE compatible database.
  1159.  
  1160.   First, you select a database to import.  Then EZFDB asks you for a
  1161.   database file type, all of which are listed on the next screen.  These
  1162.   same file types are also available for export with Database - Export.
  1163.  
  1164.   The only way this command will work is if the fields in the import
  1165.   database are in the same order as the fields in the current database.
  1166.   Additionally, if there are no field separators, the fields must match
  1167.   up by size or translation errors will occur.  Also, for type 5 where
  1168.   there is no record delimiter, the record length must exactly match.
  1169.  
  1170.   CAUTIONS: No field-type validation is performed on non-character fields.
  1171.             No field calculations are performed.
  1172.  
  1173.   Finally, one record is added to the current database from each record
  1174.   in the import database.  Indexes are automatically updated.
  1175. #461#
  1176.  
  1177.   The following types are supported:
  1178.  
  1179.    Type  Field Sep  Rec Sep     Notes
  1180.    ══════════════════════════════════════════════════════
  1181.      1      CR LF     None     PeachText (field per line)
  1182.      2        ,       CR LF    MailMerge
  1183.      3        ,       CR LF    Lotus PRN
  1184.      4      None      CR LF    Fixed length packed 1
  1185.      5      None      None     Fixed length packed 2
  1186.      6      None      CR Only  File Express format
  1187. #470#
  1188.  
  1189.   Revise - Recalc will recalculate all field calculations in all records.
  1190.   If you've turned Auto Recalc on, this may not be needed, since all field
  1191.   calculations would be performed during data entry, and just prior to saving
  1192.   a record during an Add or Edit function.
  1193.  
  1194.   Here are some examples where Revise - Recalc may need to be run:
  1195.  
  1196.   1) After merging or importing records from another database.
  1197.  
  1198.   2) After changing some fields with the Revise - Substitute command.
  1199.  
  1200.   3) You normally leave Auto Recalc off, and now you do want to
  1201.      calculate everything.
  1202.  
  1203.   4) After changing some pertinent information in a database that is
  1204.      'related' to the current database via the Relate function in a field
  1205.      calculation.
  1206. #480#
  1207.  
  1208.   Revise - Substitute will set a certain field of selected records to a
  1209.   particular value.  An expression can be used to create the value.
  1210.  
  1211.   For example, assume the selection criteria expression is 'ZIP='606', the
  1212.   field name is 'STATE' and the substitute expression is '"IL"'.  This will
  1213.   place 'IL' into the 'STATE' field of all records with zip codes starting
  1214.   with '606'.
  1215.  
  1216.   This command achieves nearly the same result as the Replace command of
  1217.   any word processing program.  The search value in the word processor's
  1218.   Replace command is similar to the selection criteria expression in
  1219.   conjunction with the field name.  The replace value is similar to
  1220.   EZFDB's substitute expression.  The substitute expression can specify any
  1221.   value of the same type as the field to be substituted.  This allows the
  1222.   use of math, relations, properizations, etc.  When the replace is carried
  1223.   out, the entire field is set to the substitute expression's result, not
  1224.   just the portion found.  So, the entire field is replaced.
  1225. #490#
  1226.  
  1227.   Revise - Fields allows you to change any database characteristic, except
  1228.   for database field width.  To change field widths or field order, a
  1229.   rebuild with Database - Build will be necessary.  Field Calculation
  1230.   expressions are saved into the database-related (.dbr) file.  All other
  1231.   field characteristics are saved into the database (.dbf) file.
  1232.  
  1233.   A Field Calculation is an operation performed on a particular field.  This
  1234.   operation is specified by an expression, which evaluates to a result of
  1235.   the same type as its field.  Entry and modification of Field Calculations
  1236.   can only be done with the Revise - Fields command.  Since a database is
  1237.   active, the expressions can be checked for complete validity.  Data entry
  1238.   through an alternate form will have no affect on how Field Calculations
  1239.   are evaluated, even if some database fields are missing from the form.
  1240.  
  1241.   Revise - Fields presents a list of fields.  Selecting one of the fields
  1242.   will present a dialog box for modification of the field characteristics.
  1243.   Once in a dialog box, the direct field selection keys PGUP (previous
  1244.   field), PGDN (next field), Ctrl PGUP (first field) and Ctrl PGDN (last
  1245.   field) are active.  The F10 key will return back to the field selection
  1246.   list.  F10 from the selection list will save the changes.
  1247. #491#
  1248.  
  1249.   NOTE: All indexes are rechecked after the new characteristics are saved to
  1250.         the database.  If you change the name or type of a field whose old
  1251.         name or type is being used by an index, an error will result.
  1252.         Rebuild all index files which use old field names or types in their
  1253.         key expressions.
  1254. #500#
  1255.  
  1256.   View - Look
  1257. #510#
  1258.  
  1259.   Search for a record containing a given value, anywhere within that record.
  1260.   Alphabetic case is insignificant.
  1261.  
  1262.   This is the simplest method of searching, but it may find more records
  1263.   than you need, in which case you may have to specify a longer search
  1264.   string or use the Match or Query command instead.
  1265.  
  1266.   The 'index number of where to start search' allows you to speed up the
  1267.   search by specifying at what position in the file to start the search.
  1268.   The index number is very similar to the record number.  The index number
  1269.   represents the position of a record's index key within the active index
  1270.   file, relative to the beginning of that file.  When there is no active
  1271.   index, the index number is identical to the record number.
  1272. #520#
  1273.  
  1274.   Find records by applying the given mask to each record until a match
  1275.   results.  Any character position containing a '*' will be masked out
  1276.   of the search, essentially ignoring it.  The '*' represents a wild card,
  1277.   where it in effect matches any character.  All other characters are
  1278.   matched by position, ignoring alphabetic case.
  1279.   
  1280.   A Match is more powerful than a Search, but more information about the
  1281.   target record is required.  In some cases, Match may be too restrictive
  1282.   or too slow.  The Query command can utilize the index to speed up the
  1283.   search, or it can use a search expression for maximum accuracy.
  1284. #530#
  1285.  
  1286.   Query gives you the most power in finding records.  To accomplish this,
  1287.   Query is divided into two parts, either or both of which can be used.
  1288.   The first part, which is placed in the upper half of the entry box, is
  1289.   called the Seek, where the currently active index is used to find a record.
  1290.   The second part, which is placed in the lower half of the entry box, is
  1291.   called the Find, where an expression is used to find a set of records.
  1292.   The additional power comes from being able to combine the above two parts
  1293.   to speed up an otherwise slow Find.  When both parts are specified, a
  1294.   Seek is performed to find a matching index key, then the sequential Find
  1295.   is performed, record by record.  If there is no active index, the index
  1296.   key value is ignored.
  1297.  
  1298.   For example, assume we have a database of names and address indexed by zip
  1299.   code and we want to find 'John Brown' in zip code '99076'.  If we use the
  1300.   Find part by itself, the selection criteria expression would be:
  1301.  
  1302.     NAME = 'John Brown' .AND. ZIP = '99076'
  1303.  
  1304.   Since Find searches in index order and doesn't automatically notice that
  1305.   zip code is part of the expression, we must needlessly sit through the
  1306. #531#
  1307.  
  1308.   first part of the search.  For a large database, this can take quite some
  1309.   time.  All zip codes from 00000 to 99075 must be searched before it finds
  1310.   99076.  With the Seek part alone, we need just enter '99076' as the index
  1311.   value, and the first record with zip code 99076 is immediately found.  But
  1312.   still, we have to use the Find part to find 'John Brown'.  If both parts
  1313.   are used in conjunction, the responses would be:
  1314.  
  1315.     Index value:
  1316.     99076
  1317.  
  1318.     Selection criteria expression:
  1319.     NAME = 'John Brown'
  1320.  
  1321.   The first record for zip code 99076 is found immediately, and then the
  1322.   first John Brown record is found.  In many cases, the Query command will
  1323.   be faster than Search or Match, even for simple searches like the above
  1324.   one.  However some of this speed gain is offset by the extra time needed
  1325.   to enter an expression.  For the uninitiated, this can be considerable.
  1326.   You will need to judge, based on the situation, whether to use Search,
  1327.   Match or Query to achieve the quickest overall results.
  1328. #532#
  1329.  
  1330.   To further clarify, a Seek is almost always faster than a Find for two
  1331.   reasons:
  1332.  
  1333.     1) Since the index fields are already known, only a value need be
  1334.        entered instead of an entire expression.
  1335.     2) Find searches the database record by record, using the index to
  1336.        order the search.  Seek uses the index file only, and since the
  1337.        index file is maintained in the B+Tree format, the search is very
  1338.        fast.  Once the value is found in the index, the corresponding record
  1339.        is retrieved instantaneously.  Query essentially combines the above
  1340.        two operations - Seek followed by a Find.
  1341.  
  1342.   A Seek can result in one of the following conditions:
  1343.  
  1344.     1) The value was found.
  1345.  
  1346.     2) Inexact find.  The value was found but had fewer characters than the
  1347.        index file keys.  For example, if "Andy    " was the index file key
  1348.        value, seeking for "Andy" would yield an inexact find since there were
  1349.        8 characters in the index file key value and 4 characters in the seek
  1350. #533#
  1351.  
  1352.        value and the first 4 characters match.
  1353.  
  1354.     3) The value was not found, so the record with the key value that's just
  1355.        greater than the seek value will be displayed.
  1356.  
  1357.     4) The value was not found, and the end-of-file was reached during the
  1358.        search.  Therefore, the next greater value record can't be displayed.
  1359.  
  1360.   A Find can be sped up by turning off all indexes with the Index - Off
  1361.   command.  This will search the database record by record without using
  1362.   any index file and result in faster file accessing.  Turning off all
  1363.   indexes will of course disable the Seek operation.
  1364.  
  1365.   Case Sensitivity
  1366.   ════════════════
  1367.  
  1368.   The Search and Match functions are not sensitive to alphabetic case, but
  1369.   Query (Seek then Find) is.  To minimize Seek errors, the seek value is
  1370.   automatically converted to upper case whenever the 'upper' function
  1371.   appears at the beginning of the index expression.  Similarly, the 'lower'
  1372.   function will automatically convert the seek value to lower case.
  1373. #540#
  1374.  
  1375.   View - Browse will display 21 records per screen and allow you to browse
  1376.   through the entire database.  A Selection Criteria expression can select
  1377.   which records to display.  For example, by entering the expression
  1378.   'city="CHICAGO"', you can limit Browse to only display records for
  1379.   'CHICAGO'.  Once in the Browse screen, you can change the selection
  1380.   criteria by using a function key to select Search, Match or Query.
  1381.  
  1382.   First, enter the names of the fields you want to see on the screen,
  1383.   separated by '/'s.  If you choose less than can fit on the screen, the
  1384.   fields directly following the last one you list are used to fill it up.
  1385.   If you choose more than can fit on the screen, the remainder is truncated.
  1386.   Then, you can enter the selection criteria expression.  On the screen, one
  1387.   of the top lines is devoted to column titles, which are simply the names of
  1388.   the fields.
  1389.  
  1390.   When no fields are entered and the input line is blank, EZFDB
  1391.   automatically builds the screen starting with the first database field,
  1392.   and continuing in database field order until the screen is filled.
  1393.  
  1394.   View - Browse also allows you to delete/undelete records, search for
  1395.   duplicates, edit, add, and view the entire form.
  1396. #550#
  1397.  
  1398.   View - Report will display a summary of a set of records.  The summary
  1399.   consists of at least a count.  When a Numeric field is specified, the
  1400.   summary also includes a sum and average.  The count is the number of
  1401.   records that match the selection criteria.  This means that the expression
  1402.   is evaluated on every record of the database and the count is incremented
  1403.   by one for each record that yields a true result.  When the optional field
  1404.   is entered and its Numeric, a sum and average are computed on that field
  1405.   for each record that was counted.
  1406.  
  1407.   This command is useful for getting some quick overall information on your
  1408.   database.  For example, if you wanted to count the number of records that
  1409.   contained 'HOUSTON' in the city field, you could enter:
  1410.  
  1411.     Expression: 'HOUSTON' $ city
  1412.                                 
  1413.     Report Field:               
  1414.  
  1415.  
  1416.   After all records are accessed, a count would appear.  A sum and average
  1417.   is not computed since no Report Field was specified.  Also, now you can
  1418.   choose to run Report again or make a simple printout of it.
  1419. #560#
  1420.  
  1421.   View - Fields lets you browse through all the field definitions for the
  1422.   current database.  The display style is identical to the Revise - Fields
  1423.   command's display.
  1424.  
  1425.     Num   - field's order number
  1426.  
  1427.     Name  - field name, used in expressions
  1428.  
  1429.     Type  - C)haracter, N)umeric, D)ate, L)ogical or M)emo
  1430.  
  1431.     Width - A.B, where A is the total width and B is the number of places
  1432.                 after the decimal point for Numeric fields
  1433.  
  1434.     Field Calculation - expression used for field's data
  1435.                 (truncates at end with '...' if too long)
  1436. #570#
  1437.  
  1438.   View - Info displays a single screen of pertinent information regarding
  1439.   the current status of EZ-Forms DataBase.
  1440.  
  1441.   The screen is divided into four parts:
  1442.  
  1443.  
  1444.   Database - info on currently loaded, open database
  1445.  
  1446.   Form - info on currently loaded form
  1447.  
  1448.   Indexes - info on current index and Index List
  1449.  
  1450.   DOS - memory statistics
  1451.  
  1452.  
  1453.   Blank parts signify no available information.
  1454. #600#
  1455.  
  1456.   Index - Select allows you to select a new current index from the index
  1457.   list.  The current index is the index that controls the order in which
  1458.   records are displayed.  The Index List is a list of index files that are
  1459.   valid for the current database.  The Index List is stored in the .dbr
  1460.   (database definitions) file.  Index files can be added to the Index List
  1461.   by using the Index - Create or the Index - Include command.  Index files
  1462.   can be deleted from the list by using the Index - Erase command.  To select
  1463.   an index, a list of valid index files in the Index List is given.  The
  1464.   cursor initially highlights the current index.  The columns are as follows:
  1465.  
  1466.     Name - index file name
  1467.     D - This letter stands for 'Default'.  A 'D' in this column indicates
  1468.         that this index is the default current index.  That means that this
  1469.         index will be the current index whenever this database is selected
  1470.         via the Database - Open command.
  1471.     U - This letter stands for 'Unique'.  A 'U' in this column indicates that
  1472.         this index was created with the 'unique' option.  Anytime a record
  1473.         is added or revised with an index key identical to one that already
  1474.         exists, an error will result.
  1475.     Expression - The expression that was used to create the index file.
  1476. #610#
  1477.  
  1478.   Index - Off turns off all indexed record access.  This allows the records
  1479.   to be displayed in chronological order.  When a database is first created,
  1480.   no indexes exist for it and the Index List is empty.  All displays show the
  1481.   records in chronological order, i.e., the order in which the records were
  1482.   entered.  Once the first index is created, it becomes the default index.
  1483.   Whenever the database is selected via the Database - Open command, the
  1484.   default index is active.  The only way to go back to a chronological index
  1485.   is either by using the Index - Erase command to erase the index or by using
  1486.   this command to turn off all indexes.
  1487.  
  1488.   Even after indexed record access has been turned off, all indexes are
  1489.   still updated whenever a record is added or modified.
  1490.  
  1491.   Turning off indexed record access is a way to speed up the Find command,
  1492.   since it normally searches using the active index, which takes more time.
  1493. #620#
  1494.  
  1495.   Index - Find Dup will find any records that have the same index key values.
  1496.   This command will only work on the current index so be sure to select
  1497.   the appropriate index for your duplicate search.  Duplicates cannot be
  1498.   found when there is no index selected, since no key is defined.
  1499.  
  1500.   Once the first duplicate is found, all record movement functions are
  1501.   available.  This allows you to move between the duplicates to help decide
  1502.   which duplicate needs to be modified, deleted or whatever.  To continue
  1503.   the duplicate search, or to restart the search at any time, use the F5
  1504.   function.
  1505.  
  1506.   NOTE: When you delete a record, and the Use Deleteds option in
  1507.         Config - Other is off, the next record in the list is automatically
  1508.         displayed.  If the next record is another duplicate, it may not be
  1509.         found as such, since the F5 function starts duplicate searching from
  1510.         the current record.  The solution is to move to the previous record
  1511.         after deleting one.
  1512.  
  1513.   The View - Browse screen also has an F5 - Find Duplicate function.  This
  1514.   can be more useful when more than one duplicate exists for any record.
  1515. #630#
  1516.  
  1517.   Index - Create will create a new index file from a given expression.  When
  1518.   complete, the index's file name will be added to the Index List.  There is
  1519.   a limit of 12 indexes in the Index List.
  1520.  
  1521.   The expression must be the kind that evaluates to a Character or Numeric
  1522.   type.  Logical expressions are only used for selection criteria.  Memo
  1523.   fields cannot be used in an index expression.  The result of the expression
  1524.   on a given record is the index key for that record.  The result must be of
  1525.   proper type and cannot be longer than 100 characters.
  1526.  
  1527.       UPPER(last_name+first_name)
  1528.  
  1529.   This expression will create an index ordered by each record's last_name
  1530.   then first_name fields, all converted to upper case.  For example, if
  1531.   last_name='Smith          ' and first_name='Andrea         ', the index
  1532.   key is 'SMITH          ANDREA         ', which is of Character type.
  1533.  
  1534.   A filename for the index file is required.  If the filename already exists
  1535.   in the Index List or in the specified directory, a warning is given before
  1536.   the file is overwritten.
  1537. #631#
  1538.  
  1539.   The 'Require unique key values' question requires a yes or no response.
  1540.   When yes, any duplicate keys encountered during index creation will halt
  1541.   the creation process with an error indicating what record contains the
  1542.   duplicate key.  In addition, duplicate key values will cause an error after
  1543.   adding or revising a record.  Records with key values already in the index
  1544.   file cannot be entered.  A 'no' response allows any keys, and therefore
  1545.   allows possibly duplicate records.
  1546.  
  1547.   To create a descending index, use the DESCEND function.  For example, to
  1548.   create a descending index using the previous example, enter:
  1549.  
  1550.       DESCEND(UPPER(last_name+first_name))
  1551.  
  1552.   To create a descending index with a date value or numeric value, first
  1553.   convert it to a character value with the DTOS or VAL functions.  For
  1554.   example, to create a descending index using a date field, enter:
  1555.  
  1556.       DESCEND(DTOS(date))
  1557.  
  1558.   For a numeric field, enter:  DESCEND(VAL(number))
  1559. #640#
  1560.  
  1561.   Index - Rebuild will rebuild any one index file or all index files listed
  1562.   in the Index List.  Rebuilding an index file is usually only necessary when
  1563.   one of the files has been damaged or the database has been modified without
  1564.   the corresponding modification made to the index files.  EZFDB cannot
  1565.   always determine when an index file is invalid.  Occasional checks are
  1566.   made where possible.  Here are some examples of when the index file is
  1567.   partially checked for validity:
  1568.  
  1569.     1) When a database is initially selected, the database file and all its
  1570.        Index List indexes are opened.  When an index file is opened, the
  1571.        expression that was used to create the index file is checked against
  1572.        the database for valid field names and field types.
  1573.     2) When an index is active, the index helps determine which record to
  1574.        display.  A particular entry in the index file corresponds to a
  1575.        record in its database.  If the corresponding record no longer exists
  1576.        or it has a different key value, an error will occur.
  1577.     3) When a record is accessed by number, the index file is not needed.
  1578.        After the record is retreived however, the key is determined and
  1579.        found in the index file to setup the next indexed access.  An error
  1580.        will occur when the key is not found in the index file, or when the
  1581.        key points to a different database record.
  1582. #650#
  1583.  
  1584.  
  1585.   Index - Erase will delete an index file and remove its entry from the Index
  1586.   List.  This may be necessary when you decide that you no longer need an
  1587.   index you've previously created.
  1588.  
  1589.   If an index file is deleted by any other method, you will get an error
  1590.   when the database is opened with Database - Open, since the index file name
  1591.   is still present in the Index List.  At that time, you can choose to delete
  1592.   the index from the Index List, thereby eliminating future error messages.
  1593. #660#
  1594.  
  1595.   Index - Include will add an existing index file to the Index List.  This
  1596.   is only needed when the database and its index files were created by
  1597.   another program and you're setting it up for use with EZFDB.
  1598.  
  1599.   Enter the index name only, without the .ndx extension.  If you don't
  1600.   remember exactly what it's called, a list of files will be presented
  1601.   whenever you enter just the directory name and leave the filename blank,
  1602.   or whenever you enter a wildcard for the file name.  Directory listings
  1603.   consist of files in the current directory, then subdirectories in the
  1604.   current directory, then valid drives.  Selecting a file will load that
  1605.   index.  Selecting a subdirectory will show a listing for that subdirectory.
  1606.   Selecting a drive will show a listing for the current directory on that
  1607.   drive.
  1608.  
  1609.   A file or directory name consists of up to 8 characters.  The following
  1610.   characters CANNOT be used in file or directory names: ."/\[]:|<>+=;,
  1611.   Directory names are optional and if left blank, the current directory
  1612.   is assumed.  The directory name can contain a drive name, a path name or
  1613.   both.  A path name is a list of directories separated by backslash
  1614.   characters ('\'), that leads through the directory tree up to the
  1615.   directory of interest.
  1616. #670#
  1617.  
  1618.  
  1619.   Index - Default will select a default index.  This is the index that will
  1620.   be active whenever the database is selected using the Database - Open
  1621.   command.  The default index is identified by a 'D' in the Index - Select
  1622.   command's index listing.  The View - Info command will also indicate the
  1623.   default index.
  1624. #680#
  1625.  
  1626.  
  1627.   Index - Test will completely test the accuracy of all indexes.  In
  1628.   most cases, this will not execute much faster than rebuilding the index,
  1629.   but it is useful for finding certain problems.  If an error is found,
  1630.   a description is displayed and testing is aborted.
  1631. #700#
  1632.   Config - Printer options are:
  1633.  
  1634.    U  Select a printer by pressing U and specifying a predefined printer
  1635.       type.  This must be done before you can customize a printer driver.
  1636.       This first step sets up the basic printer defaults.
  1637.  
  1638.    M  Modify a predefined printer type.  This allows you to customize the
  1639.       printer driver for things such as initialization string, user defined
  1640.       functions, etc.  You should first choose a basic printer type with the
  1641.       U option.
  1642.  
  1643.    C  Change the default printer and user defined function names.
  1644.  
  1645.    S  Show the configured printer defaults. This screen will display a number
  1646.       on the left side to number each string.  These numbers correspond to
  1647.       the numbers in the "Modify predefined printer type" section.
  1648.    
  1649.    L  Select printer port number, LPT1 through LPT4.
  1650.  
  1651.   EZ-Forms DataBase will support almost any printer on the market.  Some of
  1652.   the printers, such as the Epson, are so numerous that we have taken the
  1653.   time to customize EZ-Forms DataBase to provide many print options.
  1654. #701#
  1655.  
  1656.   Look for your printer in this list and choose it.  The list is in
  1657.   alphabetical order by manufacturer name.  If you cannot find your specific
  1658.   printer, try one that may be similar to it.  Please notify us if your
  1659.   printer is not listed, and you have found a driver that works properly with
  1660.   it, so that we can provide it in our printer list for future releases.
  1661.   Some printers in the list are followed by mode or emulation
  1662.   information, such as Epson or LaserJet.  If yours does, make sure your
  1663.   printer is setup in this mode.
  1664.  
  1665.   The left column of the printer list is a type code, which identifies
  1666.   which printer driver EZFDB is to use.  If your printer is not in the
  1667.   list, or does not work properly, here is a description of each driver.
  1668.   After reading this, you may be able to choose a driver that is more
  1669.   suitable.  All of these drivers are available at the end of the printer
  1670.   list.
  1671.  
  1672.   A. Plain generic dot matrix  This type should work with ANY printer.
  1673.      Plain dot matrix/daisywheel.  Only standard ASCII (like 1,2,Z,-, etc.)
  1674.      are sent to this printer.  No control codes.  ALL character graphics
  1675.      symbols are translated to a standard symbol like -, |,  and +.
  1676. #702#
  1677.  
  1678.   B. IBM Extended ASCII No ESC Sequences
  1679.      IBM Graphics printer compatible codes (ASCII codes above 127 like ┌ ┼ ┐
  1680.      etc).  EZ-Forms DataBase sends the same character graphics symbols as
  1681.      you see on the screen to the printer.  NO escape sequences are used,
  1682.      therefore no special print attributes are supported.
  1683.   C. IBM ASCII with ESC Sequences
  1684.      Same as above, but uses IBM Proprinter escape sequences to provide some
  1685.      of the special print attributes.
  1686.   D. HP LaserJet Font Cartridge Y
  1687.      This driver requires the Y font cartridge (or any other cartridge with
  1688.      the IBM character set) to be inserted into the printer.
  1689.   E. HP LaserJet with Optional Soft Fonts
  1690.      This is for use with the EZX optional HP LaserJet Fonts and Graphics
  1691.      Support Pack (HPLJFGSP).  It can be used to display up to 10 different
  1692.      fonts and 15 different graphic images, with unlimited repetition
  1693.      throughout the form.  Any printer that supports PCL 4 or higher, and
  1694.      has at least 1MB of internal memory can be used.  Printers with less
  1695.      memory can can still work, but total number of fonts and graphic images
  1696.      will be limited.  The HPLJFGSP also works in conjunction with the
  1697.      Printer - Preload command, to speed up printing by loading all fonts,
  1698. #703#
  1699.  
  1700.      graphic images and the form only one time.  Subsequent printing only
  1701.      sends the filled-in portions of the form.
  1702.   F. HP LaserJet with HPGraph
  1703.      For older LaserJets without a Y font cartridge or the IBM character set,
  1704.      such as the LaserJet II series, this driver can be used.  It requires
  1705.      the HPGraph program to be loaded prior to running EZFDB.  The font
  1706.      is fixed to portrait, at 10cpi (80 col, 66 lines).
  1707.   G. Okidata Plus Series (Utility mode)
  1708.      For older Okidata printers without Epson compatibility, this driver
  1709.      will print the graphics and attributes on your forms.
  1710.   H. HP LaserJet with Basic Soft Fonts
  1711.      As an alternative to the type F driver, this driver can print
  1712.      compressed and landscape forms.  Refer to HPLJFNTS.EXE for more info.
  1713.   I. HP LaserJet/DeskJet with PC-8 Symbol Set
  1714.      This driver is the simplest and quickest LaserJet driver to use, but
  1715.      requires that the printer support the IBM character set, PC-8.  Of
  1716.      course, these printers can also use driver type E, with the HPLJFGSP.
  1717.   1. Epson 9 pin dot matrix
  1718.      Uses Epson escape sequences for print attributes and to generate high
  1719.      quality graphics.
  1720. #704#
  1721.  
  1722.   2. HP ThinkJet (Epson mode)
  1723.      Similar to driver type 1, but uses different resolution for graphics,
  1724.      as required.
  1725.   3. Epson LQ 24 pin SW selected font
  1726.      Same as driver type 1, but for 24 pin printers.  Also selects the
  1727.      basic draft font.  To use the front panel or switches to select any
  1728.      other font, use driver type 4.
  1729.   4. Epson LQ 24 pin HW selected font
  1730.      Same as above, but uses default font.
  1731.   L2. HP LaserJet/DeskJet Series
  1732.       This is a family of drivers.  When selected, it shows a list which
  1733.       allows a choice of driver types I, H, E, F or D.  Refer to the above
  1734.       descriptions for further information.
  1735.   PS. Postscript with PSFX
  1736.       This is for any Postscript printer.  PSFX is a TSR program that
  1737.       converts Epson 9 pin codes into Postscript.  PSFX must be loaded prior
  1738.       to running EZFDB.  Refer to PSFX-DOC.EXE for further information.
  1739.       Driver type 1 is used.  Superscript and subscript are not supported.
  1740. #705#
  1741.  
  1742.   The printer control codes are broken into five basic groups.
  1743.  
  1744.   1. Codes 1-8: Printer initialization/exit, form initialization/exit, and
  1745.                 and the 6 lines per inch (6 lpi) and 10 characters per inch
  1746.                 (10 cpi) codes.  The drawing below shows you how they are
  1747.                 used.
  1748.  
  1749.                 ╒═════ Printer Initialization
  1750.                 │ ╒═══ Form Initialization
  1751.                 │ │ ╒═ Print one line
  1752.                 │ │ │    -- Send text quality codes to printer (see 19 & 20)
  1753.                 │ │ │    -- If 6 lpi use 6 lpi codes else use 8 lpi codes
  1754.                 │ │ │    -- If 10 cpi use 10 cpi codes else use 17 cpi codes
  1755.                 │ │ ╘═ End printing line and loop back to print another line
  1756.                 │ ╘═══ Form Exit
  1757.                 ╘═════ Printer Exit
  1758.  
  1759.   2. Codes 9-16: User defined character attributes.  These codes are used
  1760.                  for EZ-Forms character attribute functions.
  1761.  
  1762.   3. Codes 19-20: Selects either high quality or draft quality text.
  1763. #706#
  1764.   4. Codes 21-68: Character graphics symbols. If you are using a text driver
  1765.                   this string will be sent to the printer to print the
  1766.                   the character shown.  On some printers you can get them
  1767.                   to print character graphics symbols but they aren't in the
  1768.                   same order as the IBM Extended ASCII Symbols.  These codes
  1769.                   allow you to translate the order to match your printer.
  1770.                   Also, you can configure an escape sequence for each one of
  1771.                   these symbols to get your printer into graphics, draw the
  1772.                   character,  then return to normal text mode.  These
  1773.                   translate strings offer you a means to really customize
  1774.                   EZ-Forms DataBase.  These codes do not affect the graphics
  1775.                   drivers.  In the bit-image graphics drivers, a graphics
  1776.                   escape sequence is used to draw the entire line at one
  1777.                   time instead of using these translate strings.
  1778.  
  1779.   5. Codes 69-98: Greek characters.  These are user defined commands to
  1780.                   direct the printer to do something.  They are defaulted to
  1781.                   spaces to maintain correct form spacing.  Add any printer
  1782.                   commands you want for these special characters. The first
  1783.                   time EZFDB encounters the symbol in a form it will send the
  1784.                   the On sequence.  The second time it will  send the Off
  1785.                   sequence (they toggle states each time used).
  1786. #707#
  1787.  
  1788.   EZ-Forms DataBase allows you to customize the "translate strings" it uses
  1789.   to work with your printer.  These printer command strings consist of up to
  1790.   18 (24 decimal) characters to be sent to the printer plus a length
  1791.   character you use to tell EZ-Forms DataBase how many of the characters to
  1792.   send.
  1793.  
  1794.   All codes are displayed in hex (base 16).  If you are changing codes in
  1795.   this area, you probably are already used to working in hex.  If not, then
  1796.   most computer books provide a quick tutorial on working with hex and may
  1797.   even provide a conversion table between decimal and hex.
  1798.  
  1799.   Please be careful when modifying these codes.   You can easily enter
  1800.   codes that have your printer doing all sorts of strange things.
  1801. #710#
  1802.  
  1803.   This menu gives you complete control over the way you print a form. It
  1804.   also places a lot of responsibility on you to know how your printer
  1805.   works.  In particular, you need to know how wide the form is and whether it
  1806.   will fit on the width of paper in your printer.  Most Epson series
  1807.   printers can only print 80 characters per line normally or 132 characters
  1808.   per line using compressed print.  This is the type of information you will
  1809.   need to refer to your printer manual for or see a PC Guru in your area.
  1810.  
  1811.   Warnings:
  1812.   ═════════
  1813.   Epson series printers can't print both compressed and bold at the same
  1814.   time.  Because of this conflict, EZFDB disables bold when printing a
  1815.   compressed form.
  1816. #715#
  1817.   High level problem description:
  1818.  
  1819.   EZFDB has sensed an error while trying to initialize your printer.  The
  1820.   perceived error may or may not be real.  The most common problem here is
  1821.   forgetting to turn on the printer.   The second most common
  1822.   problem is that the printer is off-line.  If you are fairly sure that
  1823.   everything is all right with your printer, then tell EZFDB to NOT abandon
  1824.   printing (Ignore) and to try printing anyway.  If there really is an
  1825.   error/problem in your system, then it may lock up when you print anyway!
  1826.  
  1827.   Technical problem description:
  1828.  
  1829.   Interupt 24 (Abort, Retry, Ignore) checking has been vectored thru the
  1830.   EZFDB code disabling that message.  The result of an interrupt call
  1831.   indicates that there is a serious printer problem in your system.  You will
  1832.   no longer have the option to abort thru the Int 24 handler.  If you choose
  1833.   to proceed  with printing, ALL further error messages will be disabled.
  1834.   This will cause one of three things to happen.  One - if there is no
  1835.   problem, then printing will work as normal.  Two - you may be able to
  1836.   "print thru" the error with EZFDB continually ignoring the errors (nothing
  1837.   to the printer).  Three - your system locks up forever, there really is
  1838.   a serious problem!
  1839. #717#
  1840.  
  1841.   Did you press one of the keyboard keys?  That is the signal to EZ-Forms
  1842.   DataBase that you would like to abandon printing.
  1843.  
  1844.   If you pressed a key by accident and would like to continue printing, tell
  1845.   EZ-Forms DataBase, N for no, you don't want to abandon printing.
  1846.   Otherwise, press Y for yes to abandon printing.
  1847. #720#
  1848.  
  1849.   The "Status" on the left reflects the selected options for printing. These
  1850.   options can be changed by pressing the key shown under "Select" heading.
  1851.  
  1852.   Some combinations of the options are not valid.  That is why some of the
  1853.   selected options under "Status" switch their condition.  For example,
  1854.   when you press 8 for 8 lines per vertical inch - the 6 will be deleted
  1855.   from the "Status" area.  You can't have both 6 and 8 lines per inch
  1856.   selected at the same time.
  1857.  
  1858.   Many printers do not support the full range of options shown.  A summary 
  1859.   of printer capability by driver type is shown below.
  1860.  
  1861.   Driver Types           Options NOT Supported
  1862.   ════════════════════════════════════════════
  1863.   A, B . . . . . . . . . . 6, 8, S, V, F, U
  1864.   F. . . . . . . . . . . . S, V, F, U
  1865.   I, E . . . . . . . . . . U
  1866.   C, D, G, 1, 2, 3, 4. . . F, U
  1867.   H  . . . . . . . . . . . 6, 8, S, V, F
  1868.  
  1869.   NOTE: Not all 24 pin printers support the Double Tall attribute.
  1870. #721#
  1871.  
  1872.   To change the default printer type, use the Config command of
  1873.   EZ-Forms DataBase located in the main menu.  Don't forget to tell
  1874.   EZ-Forms DataBase to retain the new printer type.
  1875.  
  1876.   Filling out Pre-printed Forms
  1877.   ═════════════════════════════
  1878.  
  1879.   EZ-Forms DataBase has a Clear Forms Overlay selection on this menu, which
  1880.   allows you to easily use most preprinted forms.  To use this feature,
  1881.   first create a form to act as the template.  Make sure that all the
  1882.   fields match or align with those on your preprinted form.  When you go to
  1883.   print, select C for Clear Forms Overlay.  This will ensure only the
  1884.   unprotected area (the form fields) will be printed.  The form outline is
  1885.   not printed.  See the form CFO-GRID.FRM for a template.
  1886. #725#
  1887.  
  1888.   Orientation ONLY applies to HP LaserJet drivers type E and I.
  1889.  
  1890.   EZ-Forms DataBase allows you to print your form in the landscape (sideways)
  1891.   orientation if you are using an HP LaserJet with driver type I, or driver
  1892.   type E with our optional font support disk.  For type E, EZFDB will
  1893.   download the landscape fonts (they have a .sfl extension) and use them for
  1894.   printing.  Please ensure the landscape fonts are in your default directory.
  1895.  
  1896.   You must also have a landscape version of your print macros.  The print
  1897.   macros have an L or P as the last letter of the macro name to denote the
  1898.   orientation they were drawn in and when EZFDB should use them.
  1899.  
  1900.   Examples: macro01p.hpm (portrait) and macro01l.hpm (landscape)
  1901.  
  1902.   When using printer driver type H, the orientation will automatically match
  1903.   the orientation of the font that is downloaded.
  1904. #730#
  1905.  
  1906.   You  are being asked to input in HEX, the byte you would like to enter  at
  1907.   this location.   Don't forget the length byte has to contain the number of
  1908.   characters you want to send to the printer.  The length byte doesn't count
  1909.   against the total so the maximum is 18 (24 in decimal).
  1910.  
  1911.   These codes are sent to the printer during printing.
  1912. #735#
  1913.  
  1914.   EZ-Forms DataBase allows you to download custom fonts to your printer
  1915.   before printing a form.
  1916.  
  1917.   Steps in the process:
  1918.   ═════════════════════
  1919.   1. You select any font other than 0.  For example, Font 1.
  1920.   2. Tell EZFDB to print.
  1921.   3. EZFDB will run a DOS shell to execute FONT1.BAT (place the commands
  1922.      for downloading your font in FONT1.BAT).
  1923.   4. For landscape printing, specify a landscape font.
  1924.   5. After FONT1.BAT executes, normal printing of your form will take place.
  1925.  
  1926.   The batch file's name is built up of 'FONT' plus the 'font number you
  1927.   select' with Print Setup option U, plus '.BAT'.
  1928.  
  1929.   Example:  You select font 27, then EZFDB will execute FONT27.BAT before
  1930.             printing your form.
  1931. #740#
  1932.  
  1933.   This option refers to the actual number of lines on the paper in your
  1934.   printer.  Normally a 8 1/2 by 11 inch sheet of paper using 6 lines per inch
  1935.   contains 66 lines (6x11=66) or 88 lines using 8 lines per inch (8x11=88).
  1936.  
  1937.   EZ-Forms DataBase will print blank lines at the end of your form to advance
  1938.   the paper to the top of the next page.  Examples:
  1939.  
  1940.   Form length       L setting        Additional line feeds
  1941.   ═══════════       ═════════        ═════════════════════
  1942.       64               66                     2
  1943.       80               80                     0
  1944.  
  1945.   Formula for additional line feeds (ALF):   ALF = Form length - L setting.
  1946.   If ALF is 0 or negative, no additional line feeds will be printed.
  1947.  
  1948.   A few printers may require "tweeking" of these numbers to compensate for
  1949.   nonstandard paper or unusual print size.
  1950.  
  1951.   The default minimum lines per page setting is the length of your form.
  1952.   The maximum is set to the maximum lines supported by EZFDB (999 lines max).
  1953. #745#
  1954.  
  1955.   EZ-Forms DataBase allows you to print more than one copy at a time.  Enter
  1956.   the number of copies desired at the prompt.
  1957.  
  1958.   Please ensure you have the "lines per page" option set for the correct
  1959.   value to advance your printer after printing a form to the top of the next
  1960.   page.  The default value will work for most printers.  A few printers may
  1961.   require the number of lines under "lines per page" option to be modified.
  1962.  
  1963.   You may abandon the printing of multiple copies just like a single copy.
  1964.   By pressing a key on your keyboard you can signal EZFDB to give you
  1965.   this option.  If selected, all further copies will be abandoned.
  1966.  
  1967.   EZ-Forms allows you to store the print attributes into a form.  During
  1968.   printing, these attributes are used.  The attributes include: the number
  1969.   of copies, whether to compress the printed form, etc.
  1970. #770#
  1971.  
  1972.   EZ-Forms DataBase allows you to customize the name of the printer and user
  1973.   defined print functions/attributes.  When you choose a basic printer type
  1974.   (under Use Predefined), EZFDB loads a generic set of text labels.  As you
  1975.   customize the printer driver, you should modify these names to document
  1976.   the changes.  Example: If you customize user function 4 to switch your
  1977.   printer into double high, then install the user function 4 name to say
  1978.   "Double High Character".
  1979.  
  1980.   Use the modify printer driver option to modify the command codes sent to
  1981.   your printer when a user defined function is attached to a character.
  1982. #775#
  1983.  
  1984.   This  very  confusing  screen  shows you the codes contained  in  the  user
  1985.   configurable printer command strings.   These strings control many  of  the
  1986.   operations during printing.  See the modify option on the printer selection
  1987.   menu for a breakdown of what each command string does.
  1988.  
  1989.   The format for the information is:
  1990.  
  1991.   Location:      1                         2          3-26
  1992.   What it is:    [Command string number]   [length]   [printer commands]
  1993.   Number base:    (in decimal)              (in hex)   (in hex)
  1994.  
  1995.   The first byte of the command tells EZ-Forms DataBase how many of the
  1996.   possible 24 bytes to send to the printer.
  1997.  
  1998.   Hex (base 16) was chosen for the commands to reduce the display space  and
  1999.   to allow more commands per string  (example: 255 is hex FF).
  2000. #800#
  2001.  
  2002.   Print - Multiple will print all records that match the given selection
  2003.   criteria, using the current form.  The first dialog box is very similar
  2004.   to the Query command's.
  2005.  
  2006.   For each matching record, the form is filled out and printed.  The next
  2007.   form will be printed immediately after the previous one.
  2008.  
  2009.   If you answer 'Y' to the 'Break form across page?' question, a form that
  2010.   appears at the end of a page may have its last part printed on the
  2011.   beginning of the next page.  A 'N' answer will cause the form to be
  2012.   printed on the new page if all of it can't fit in the remainder of the
  2013.   current page.  If the form itself is larger than a page, it will be broken
  2014.   across a page boundary, but each form will start on a new page.
  2015.  
  2016.   When a Window field or a Memo field is printed, only the first part of its
  2017.   data will appear on the form.
  2018. #810#
  2019.  
  2020.   Print - Single will print the current record, and then move the paper in
  2021.   the printer to the top of a new page.
  2022.  
  2023.   Be sure to have your printer aligned to the top of the first page before
  2024.   printing.
  2025. #820#
  2026.  
  2027.   Print - Labels will print all records that match the given selection
  2028.   criteria, using an alternate form.  This command differs from Print -
  2029.   Multiple by being able to print forms 1, 2, or 3, etc. accross, and remove
  2030.   multiple blanks between fields (auto label spacing) and lines.  This allows
  2031.   use of 2x, 3x, or 4x, etc. labels and laser printer label sheets.  With
  2032.   label spacing, labels look more natural.
  2033.  
  2034.   Label Spacing
  2035.   ═════════════
  2036.  
  2037.   The width of fields on a form are fixed, but sometimes the data within
  2038.   them is not.  This can lead to an unnatural-looking label.  For example,
  2039.   consider 2 fields on the same line, for first and last name, each 20
  2040.   characters wide.  Without label printing, the label would look like:
  2041.  
  2042.   DAWN                DAVIS
  2043.  
  2044.   12212 Pasadena Ct.
  2045.  
  2046.   Pasadena,           CA 99999
  2047. #821#
  2048.  
  2049.   A label looks more natural with automatic label spacing and blank line
  2050.   removal, thereby bringing all information close together, like:
  2051.  
  2052.   DAWN DAVIS
  2053.   12212 Pasadena Ct.
  2054.   Pasadena, CA 99999
  2055.  
  2056.   With label spacing, both protected (~) and non-protected extra blank spaces
  2057.   are considered blank and are candidates for removal.  Automatic Label
  2058.   Spacing only makes sense when the start of a field is not significant.  To
  2059.   prevent a field from being moved, simply place a non-blank, protected
  2060.   character in front of it, in the form.  To prevent a blank line from being
  2061.   moved, simply place a non-blank, protected character on that line, in the
  2062.   the form.
  2063.  
  2064.   After printing, the current form is automatically reloaded.
  2065.  
  2066.   Be sure to have your printer aligned to the top of the first label before
  2067.   printing.
  2068. #822#
  2069.  
  2070.   Limitations on Label Size
  2071.   ═════════════════════════
  2072.  
  2073.   For processing while printing labels, EZ-Forms DataBase utilizes unused
  2074.   portions of the maximum form area.  The size of this maximum form area is
  2075.   defined by the maximum form row and column numbers in the Config - Memory
  2076.   dialog box.  This imposes some limitations on the size of a label and how
  2077.   many can be printed across.
  2078.  
  2079.   ∙ The maximum number of labels that can be printed across, is equal to
  2080.     the maximum form width divided by the current form width.  For a
  2081.     typical label of 40 columns in width, a maximum form width of 132
  2082.     columns will allow for printing 3 labels accross.
  2083.  
  2084.   ∙ A label form can be no taller (number of rows) than half the maximum
  2085.     form area height.  This is rarely a problem, and only becomes a
  2086.     consideration when the label has more than 66 rows.
  2087.  
  2088.   For example, when the form area is set to 248 columns by 132 lines, a 40
  2089.   column by 6 line label can be printed up to 6 across.
  2090. #830#
  2091.  
  2092.   Print - Alternate will print all records that match the given selection
  2093.   criteria, using an alternate form.  First select the alternate form, then
  2094.   enter the selection criteria.  After printing, the current form is
  2095.   automatically reloaded.
  2096.  
  2097.   For each matching record, the form is filled out and printed.  The next
  2098.   form will be printed immediately after the previous one.
  2099.  
  2100.   If you answer 'Y' to the 'Break form across page?' question, a form that
  2101.   appears at the end of a page may have its last part printed on the
  2102.   beginning of the next page.  A 'N' answer will cause the form to be
  2103.   printed on the new page if all of it can't fit in the remainder of the
  2104.   current page.  If the form itself is larger than a page, it will be broken
  2105.   across a page boundary, but each form will start on a new page.
  2106.  
  2107.   When a Window field or a Memo field is printed, only the first part of its
  2108.   data will appear on the form.
  2109. #840#
  2110.  
  2111.   A report is a detailed listing of some or all of a database.  Sometimes
  2112.   this can be accomplished by printing the main form for each record with
  2113.   Print-Multiple, or an alternate form with Print-Alternate, or an alternate
  2114.   form used as a label with Print-Labels.  To print page titles, page
  2115.   headers, column titles, etc., a report is used.  Similar to labels, an
  2116.   alternate form called a "report form" defines the report layout.  Before
  2117.   creating a new report, you must first create a new form to be used as the
  2118.   report form.  If you have not done so already, exit this command and run
  2119.   Form-New to create a report form first.
  2120.  
  2121.   ∙ A report form is usually the size of a page, and contains a page header,
  2122.     detail and footer to use for the report.  It is very similar to any other
  2123.     alternate form, but the fields on the form must group together to form a
  2124.     detail section, which is then repeated throughout the form.
  2125.  
  2126.   ∙ The detail section is assumed to start on the first line that contains a
  2127.     field, and to end on the last line that contains a field.  Blank lines
  2128.     can be added between detail instances.
  2129.  
  2130.   ∙ The portion of the report form above the detail section is the page
  2131.     header.
  2132. #841#
  2133.  
  2134.   ∙ The non-blank (protected) portion of the form below the detail section is
  2135.     the page footer.
  2136.  
  2137.   ∙ Any one of the indexes created for this database can be used to control
  2138.     record ordering.
  2139.  
  2140.   ∙ A selection criteria expression can select which records to print.
  2141.  
  2142.   ∙ All of the above information is stored into a report file, which has a
  2143.     .rpt extension.  The next time you print a report, you simply select this
  2144.     report file.
  2145.  
  2146.   The following diagram represents a general report form, divided into all
  2147.   possible sections.  Header and footer are optional.
  2148. #842#
  2149.  
  2150.   ┌─────────────────┐
  2151.   │     Header      ├─── Can contain text, graphics, or even be empty.
  2152.   ├─────────────────┤    NO FIELDS.
  2153.   │     Detail      ├─── Must contain at least one field. Can also contain
  2154.   ├─────────────────┤    text, graphics, blank lines, etc.
  2155.   │     Detail      │
  2156.   │    repeated     ├─── This area must be completely filled with protected
  2157.   │      here       │    blanks (tildes, ~).  It must be large enough to hold
  2158.   │                 │    at least one more detail section.
  2159.   ├─────────────────┤
  2160.   │     Footer      ├─── Similar to header. NO FIELDS.
  2161.   └─────────────────┘
  2162.  
  2163.   To print page number, date and time, a series of repeating characters is
  2164.   placed into the header or footer at the desired position.
  2165.  
  2166.   PPP      - page number  (3 char sequence minimum, maximum 10)
  2167.   DDDDDDDD - current date (8 char sequence required)
  2168.   TTTTTTTT - current time (8 char sequence required)
  2169. #843#
  2170.  
  2171.   EZ-Forms DataBase will recognize any of the above sequences, and replace it
  2172.   with the appropriate information at report printing time.  For page number,
  2173.   a minimum of 3 characters in a row is required, with no intervening
  2174.   characters.  Date and time require 8 characters in a row.  Date and time
  2175.   can occur more than once, and will be the same throughout the report.  Page
  2176.   number can only occur once.
  2177.  
  2178.   To define a new report, first create a report form using the above
  2179.   guidelines.  Then select the Print-Report command, which also allows you to
  2180.   edit and/or print an existing report.  EZFDB guides you through report
  2181.   creation, editing and printing.  The end result is simply the report form,
  2182.   with as many records as can be printed in the detail areas.
  2183.  
  2184.   EZFDB comes with an example report called CITIES.RPT.  This is a report of
  2185.   US cities, listed alphabetically by name, using data from the CITIES
  2186.   database.  The report form is CITIESRP.FRM.  To help clarify the above
  2187.   concepts, first open the CITIES database, then open CITIESRP.FRM as an
  2188.   alternate form, without closing the database.  Now view the records via
  2189.   this report form to get a feel for what a report form should look like.
  2190.   Then re-open the original CITIES form, and print the CITIES report.
  2191. #850#
  2192.  
  2193.   Print - Fields will print a report of all the field definitions for the
  2194.   current database.  Only simple ASCII characters are sent to the printer.
  2195.  
  2196.   The report can serve as documentation of your database structure.  It can
  2197.   also be a reference for when you are modifying the form, creating an
  2198.   alternate form, or rebuilding the database.
  2199. #860#
  2200.  
  2201.   Print - Preload is only available when you have the optional EZX HP
  2202.   LaserJet Fonts and Graphics Support Pack (HPLJFGSP) loaded, and you are
  2203.   using a LaserJet compatible printer with printer driver type E, and your
  2204.   printer has enough memory.
  2205.  
  2206.   Normally, when printing 1 or more forms, the soft fonts and graphic images
  2207.   are sent to the printer, followed by the form and the filled-in fields.
  2208.   Whenever you print a relatively small number of forms at a time, you must
  2209.   wait for all of this to be sent to your printer, each time you print.
  2210.  
  2211.   Print - Preload will send the soft fonts, graphic images and form to your
  2212.   LaserJet printer, and set it all up as an Automatic Overly Macro.  This
  2213.   means that whenever you print a form, none of this has to be re-sent.
  2214.   Only the information in the filled-in fields has to be sent to the printer.
  2215.   This can tremendously speed up the printing of even complex forms.
  2216. #861#
  2217.  
  2218.   NOTES:
  2219.  
  2220.   1) When the form length is greater than the page length, i.e., the form
  2221.      is comprised of multiple pages, then the form is not sent during
  2222.      preload, but sent during every print.  This is because a LaserJet
  2223.      Automatic Background Macro is limited to 1 page in size.
  2224.  
  2225.   2) When running Preload on a form and then starting printing with an
  2226.      alternate form, EZFDB will ask if the printer should be unloaded.
  2227.      Usually the answer to this question is yes, but if the alternate form is
  2228.      identical, you could say no.  This prevents the original form from being
  2229.      printed on top of your alternate one, if its different.  Also, run
  2230.      Print - Preload again after loading a new database or form.
  2231. #870#
  2232.  
  2233.   Print - Unload is only available when you have the optional EZX HP
  2234.   LaserJet Fonts and Graphics Support Pack (HPLJFGSP) loaded, and you are
  2235.   using a LaserJet compatible printer with printer driver type E, and your
  2236.   printer has enough memory.
  2237.  
  2238.   This command simply sends a reset to the printer, which unloads anything
  2239.   that was previously loaded with Print - Preload.  See Print - Preload for
  2240.   complete details.
  2241. #900#
  2242.  
  2243.   Macros allow you to record a keystroke sequence for later playback.
  2244.   EZ-Forms DataBase maintains a general buffer to record your keystrokes.
  2245.   Once you have recorded a keystroke sequence, you can write it to a disk
  2246.   file for later playback.  Over 100 macro keys are supported.  The shifted
  2247.   function keys 1 thru 10 are  supported directly  (just press one of them).
  2248.   The other macros are available by  pressing Control O then the second key.
  2249.   Be sure to take advantage of the descriptive text label for your macro
  2250.   when you write it to disk.
  2251.  
  2252.   Use Ctrl Q to flush the keyboard buffer if your macro gets out of control.
  2253.  
  2254.   Macros can contain virtually any keystroke that you can enter from the
  2255.   keyboard.  Here are some suggestions to make using macros easier.
  2256.  
  2257.   1.  If you start a macro from the main menu, use the numeric keypad Home
  2258.       key to reset the menu to a known starting position.
  2259.  
  2260.   2.  Be aware of the keystroke limit.  As you enter each keystroke you will
  2261.       see a small box in the center of your screen that shows which keystroke
  2262.       you are entering and the maximum allowable keystrokes.
  2263. #901#
  2264.  
  2265.   3.  You can execute a keyboard macro at any point.  However, the macro
  2266.       attached to  Shift+F10 will automatically execute  when you start
  2267.       running EZ-Forms DataBase, or when you load a new macro file.
  2268.  
  2269.  
  2270.   Once you have recorded a macro, write it to disk.  This allows you to
  2271.   select the macro's key and give it a description.  This will be written to
  2272.   your current macro file.  You can choose any macro file name.  This allows
  2273.   you to have multiple sets of macros defined.  At startup, EZ-Forms DataBase
  2274.   will automatically load the macro file EZFDB.MAC if it exists on the
  2275.   default drive and directory.  You will probably want your most useful set
  2276.   of macros as the default.  To specify a name other than EZFDB.MAC for the
  2277.   macros at program startup, use the command line 'EZFDB /m=macrofile'.
  2278.  
  2279.   Hint:  Macros emulate you at the keyboard.  As you record a macro, try to
  2280.          start at a known position and enter the keystrokes just as you
  2281.          would like the macro to be played back.  Don't try to design a macro
  2282.          in one area of the program and play it back in another area. It may
  2283.          work but the macro will be harder to visualize and enter.
  2284. #910#
  2285.  
  2286.   EZ-Forms DataBase allows the default macro file name to be changed from
  2287.   within the program.  Normally the name EZFDB.MAC is used.  To tell EZFDB
  2288.   to default to another macro file at program load time, use the command
  2289.   line:  EZFDB /m=MyMacros.MAC
  2290.  
  2291.   You are being asked for the name of the macro file to load.  You may have
  2292.   several macro files saved under different names.
  2293.  
  2294.   Make sure that the macro file you are asking EZFDB to use is really an
  2295.   EZ-Forms DataBase macro file!
  2296.  
  2297.   Remember you can always press ESC if you got into this area by accident.
  2298. #920#
  2299.  
  2300.   Sorting large macro files may take a while.  We have gone to great lengths
  2301.   to minimize the requirement for additional disk space during the sorting
  2302.   process.  The macro file can be over 200K in size.  Creating and managing
  2303.   backup files would require a lot of extra program code and disk space.  We
  2304.   have opted for a disk based sort that sorts the macro file without
  2305.   creating a backup.  If you would like an unsorted backup, copy the macro
  2306.   file to another name prior to sorting it.
  2307.  
  2308.   The sorting may take a while for a large macro file.  Please be patient.
  2309. #930#
  2310.  
  2311.   Each of the over 100 macros can have a descriptive text label.  This
  2312.   description serves as a reminder of its function.  As you create macros,
  2313.   use a long description of the macro's function.  You will find the
  2314.   description extremely important both to yourself and to other people who
  2315.   also use the macros you create.
  2316.  
  2317.   The macro file is built as you define the macros.  This ensures the macro
  2318.   file is as small as possible, but the macros may be out of order.  Use the
  2319.   Change Macro Order option to sort the macros back into key order.  The
  2320.   maximum file size with all macros defined is over 200K (102 macros with
  2321.   each having 1000 keystrokes of two bytes each - 102*1000*2 plus overhead).
  2322.  
  2323.   We have defined S+F10 to be the "Autostart" keyboard macro since it will
  2324.   be automatically executed when you run EZ-Forms DataBase.
  2325. #960#
  2326.  
  2327.   EZ-Forms DataBase allows you to write the defined macros to disk for later
  2328.   use.  If you would like for your macros to automatically load, then use
  2329.   the default name EZFDB.MAC, or use the '/m' command line switch.
  2330.  
  2331.   EZ-Forms DataBase is asking you for two pieces of information before it
  2332.   saves your macros to disk.  The first is which key you want to use to
  2333.   call up the macro at a future time.   The second piece of information is
  2334.   the textual label or comment that will be shown when you ask to see all
  2335.   the recorded macros.  This piece of information is optional, but its use is
  2336.   strongly recommended, since at a future time you may need to figure out
  2337.   what the macro is supposed to do.
  2338.  
  2339.   You may have multiple sets of macro commands defined.  Save each set under
  2340.   a different file name and use the Load Macro command to read it from disk
  2341.   or specify a  different macro file when you call up EZ-Forms DataBase.
  2342.  
  2343.   Example:  EZFDB /m=MyMacros.MAC
  2344. #970#
  2345.  
  2346.   A file error occured while trying to save your macro to a disk file.  The
  2347.   macro file grows as you add new macros to it.  If you redefine an existing
  2348.   macro, the space within the macro file is reused.
  2349.  
  2350.   When a file error occurs, it is typically due to one of the following:
  2351.  
  2352.   1.  You are out of hard disk space.
  2353.   2.  You specified an invalid filename or path for the macro file.
  2354.   3.  There is a bad area on your hard disk that can't be written to.
  2355.  
  2356.   If possible, remedy the problem and retry the operation.
  2357. #1000#
  2358.  
  2359.  EZ-Forms DataBase ran out of memory while trying to perform the requested
  2360.  operation.  Generally this will only happen if you have limited free system
  2361.  memory (RAM).  It can also happen when the form memory is very large, or
  2362.  there are too many fields in your form and/or database.
  2363.  
  2364.  For certain commands, EZFDB will ask your computer for memory to perform the
  2365.  requested operation only when you use the command.  That way, the drain on
  2366.  your system resources is kept to a minimum.  However, if you have limited
  2367.  free memory, you may see this message.
  2368.  
  2369.  Possible corrective measures:
  2370.  
  2371.  1.  Limit the number of memory resident programs you load.
  2372.  2.  Upgrade your system RAM if you have less than 640K.
  2373.  3.  Minimize form memory with the Config - Memory command.
  2374.  4.  Try to eliminate some fields, or make some fields shorter.
  2375.  5.  Exit the program, restart and then try the same operation again.
  2376. #1001#
  2377.  
  2378.   EZ-Forms DataBase could not run the external program.
  2379.  
  2380.   If swapping was selected, make sure that the SWAP.COM program is in your
  2381.   current directory or accessible via the DOS PATH variable.  There must be
  2382.   at least 5K DOS memory available just to run SWAP.  Also make sure that
  2383.   your swap drive has sufficient available space (up to 620K), unless there
  2384.   is sufficient available EMS memory and you choose to use it.  If swapping
  2385.   was not selected, make sure that sufficient memory remains to run your
  2386.   program.  To use the DOS Shell command (Ctrl X), the COMMAND.COM file must
  2387.   be accessible via the DOS PATH variable, which defaults to the root
  2388.   directory of the boot drive.
  2389.  
  2390.   If you're trying to edit a memo field, make sure that MEMO.COM or MEMO.EXE
  2391.   is in your current directory or accessible via the DOS PATH variable.
  2392.   If you want to use a batch file for your own memo editor, the file must
  2393.   be called MEMO.BAT and must reside in the current directory.
  2394.  
  2395.   If you still get this error after following the above advice, exit EZFDB
  2396.   and verify that you can run the command or batch file directly from DOS.
  2397. #1002#
  2398.  
  2399.   This warning should only occur in the multi-user (network) version of
  2400.   EZ-Forms DataBase.
  2401.  
  2402.   Another user on the network is using one or more of the same files that
  2403.   you are using.  Normally this is not a problem since EZFDB automatically
  2404.   arbitrates simultaneous file accesses via your LAN software.  However,
  2405.   there are some rare instances where temporary hang-ups can occur.
  2406. #1100#
  2407.  
  2408.   Config - Retain will save all configuration options to a file, and
  2409.   activate them.  The configuration options consist of all the options that
  2410.   can be changed via any item under the Config pulldown menu.  The file
  2411.   written here can be subsequently loaded by the Config - Install command.
  2412.   The configuration file can have any name or extension.
  2413.  
  2414.   NOTE: None of the configuration option changes will be in effect until
  2415.         the options are retained (saved to a file).
  2416.  
  2417.   Example: C:\EZFDB\EZFDB.CNF
  2418.            ╞╛╞═════╛╞═══╛ ╞═╛
  2419.            │ │      │     ╘═══ Extension (optional, but recommended)
  2420.            │ │      ╘═════════ File name
  2421.            │ ╘════════════════ Directory name
  2422.            ╘══════════════════ Drive name
  2423.  
  2424.   A file or directory name consists of up to 8 characters, and the extension
  2425.   can be up to 3 characters.  The following characters CANNOT be used in
  2426.   file or directory names: ."/\[]:|<>+=;,
  2427. #1110#
  2428.    
  2429.   This menu allows you to change all the colors used in EZFDB.  To change
  2430.   a default color - first use the up or down arrow key to select the color,
  2431.   then type in the new color.  When you have changed all the colors, press
  2432.   Ctrl D to display these colors in a sample window.  As with all
  2433.   configuration options, these changes will not be used until you choose the
  2434.   Retain option on the main menu.  This allows you to experiment with the
  2435.   configuration options without losing your original defaults.
  2436.  
  2437.   Please keep in mind the foreground text colors can be 0-15, the
  2438.   background 0-7.  If you choose a text color the same as a background color,
  2439.   then the text will disappear.  You may notice some of your installed color
  2440.   combinations result in invisible lines  on  the  Ctrl D  popup window.
  2441.   Please be careful not to choose this color for one of your text colors!!
  2442.  
  2443.   Note: For many of the EZFDB configurable options and user inputs, you will
  2444.   see a prompt containing the characters .  If you count the number
  2445.   of 's you will know the maximum number of characters that can be
  2446.   entered.  Also, Escape is used throughout EZFDB to signal "I want out".
  2447.   Press Enter, up arrow, down arrow, or whatever is asked for, to enter the
  2448.   desired value.  Escape will throw away any immediate changes and leave
  2449.   the current menu.
  2450. #1111#
  2451.  
  2452.   Please note that the background color (0-7) is one digit long and the
  2453.   foreground color (0-15) is two digits long.   That is why you will see the
  2454.   input prompt (the 's) change it's width as you go between the colors.
  2455.  
  2456. #1115#
  2457.  
  2458.   This screen shows the possible combinations of colors in EZFDB.  The
  2459.   top set (Main EZ-Forms DataBase colors) shows you what the various menus
  2460.   will look like.  The Form colors are those used to display a form.
  2461.   These colors will show you what underline, block, protected, etc.
  2462.   will look like.
  2463.  
  2464.   If you are using a non-IBM display adapter, you may have to "play" with the
  2465.   colors to get a pleasing combination.  EZFDB defaults to colors that
  2466.   work well with the IBM Color Graphics Adapter, IBM Enhanced Graphics
  2467.   Adapter, and IBM Monochrome Display Adapter.
  2468.  
  2469.   On some monochrome display adapter  clones  you may need to alter a
  2470.   foreground text color to get the background to change intensity.
  2471.  
  2472.   The default combination of colors will work on any 100% IBM PC compatible
  2473.   display adapter!
  2474. #1120#
  2475.  
  2476.   Config - Printer
  2477. #1130#
  2478.  
  2479.   Config - Files allows you to configure some file-related options.
  2480.  
  2481.   1) Database pathname - this is what directory comes up as the default in
  2482.      any filename dialog box.
  2483.   2) Help/manual path - this is the directory that contains the EZFDB
  2484.      help/manual files, EZFDB_HM.TXT and EZFDB_HM.INX.
  2485.   3) dBASE IV Memo fields (Y/N) - this specifies whether you want the Memo
  2486.      files to be compatible with the new dBASE IV format or not.  If you
  2487.      enter N, the Memo file format will be compatible with dBASE III and
  2488.      III+ instead.  The dBASE IV format is preferred.
  2489.   4) Include descriptions when listing files (Yes/No/Ask) - database and
  2490.      form files can have descriptions (comments) associated with them.
  2491.      Whenever form or database file listings are given, any associated
  2492.      descriptions can also be shown.  Unfortunately, it takes time to read
  2493.      these descriptions from the files.  When a directory contains many
  2494.      files, depending on the speed of the system, the descriptions may take
  2495.      too long to read.  When this option is set to Yes, descriptions are
  2496.      always read and displayed.  When set to Ask, EZFDB will ask if you want
  2497.      the descriptions, just before each file listing.  This allows you to
  2498.      decide on a case by case basis.
  2499. #1140#
  2500.  
  2501.   Config - Memory is necessary because of the infamous DOS "640K barrier".
  2502.   Thoughtful setup with this menu will allow you to strike a balance between
  2503.   memory usage and execution time.  These options must be saved before they
  2504.   will take effect.
  2505.  
  2506.   1) Max Form Height
  2507.   2) Max Form Width
  2508.  
  2509.      These select the amount of memory allocated for the maximum allowable
  2510.      size form.  Adjusting the maximum height and width in this manner
  2511.      allows you some control over EZFDB's memory usage, while maintaining
  2512.      quick form access.  The minimum is 64x80.  Maximum height is 999,
  2513.      and maximum width is 254, but height times width must be <= 65535.
  2514.  
  2515.      Due to memory fragmentation, it sometimes may not be possible to
  2516.      increase the maximum form size without reloading EZFDB.
  2517.  
  2518.   SWAPPING
  2519.      There are two features of EZFDB that don't require it to be in memory
  2520.      at the time: memo field edit and shell to DOS.  For these cases, EZFDB
  2521.      can be taken out of main memory and placed into either expanded memory
  2522. #1141#
  2523.  
  2524.      (EMS) or disk.  Approximately up to 600K of space may be needed.  This
  2525.      frees up most of the memory originally taken up by EZFDB, which allows
  2526.      you to run other programs even if they require a large amount of memory.
  2527.      When the function is complete, EZFDB is then restored back into main
  2528.      memory.  To use extended memory, set it up as a RAM disk.  The remaining
  2529.      options control various aspects of EZFDB's swapping.
  2530.  
  2531.   3) Swap EZFDB out of memory before running memo editor (Y/N) - this
  2532.      controls the memory made available to the memo editor program.  If yes,
  2533.      all of EZFDB will be swapped out before the memo editor program is run.
  2534.  
  2535.   4) Swap EZFDB out of memory before running DOS shell (Y/N) - this controls
  2536.      the memory made available to the DOS shell.  If yes, all of EZFDB will
  2537.      be swapped out before the DOS shell is run.
  2538.  
  2539.   CAUTION
  2540.      DO NOT run any TSR (Terminate and Stay Resident) programs from the DOS
  2541.      shell even if swap is not used.  ALWAYS load TSR's before running EZFDB,
  2542.      then watch for potential conflicts.
  2543. #1142#
  2544.  
  2545.   5) Use Expanded Memory (EMS) for swapping (Y/N) - this controls whether
  2546.      or not to use EMS memory for swapping out EZFDB.  If yes, EZFDB will try
  2547.      to use EMS first.  If EMS isn't available, or doesn't have enough
  2548.      memory, EZFDB will be swapped to disk instead.  If no, disk is always
  2549.      used.  EMS V3.2 or newer is required.
  2550.  
  2551.   6) Swap drive - this controls which drive is used to contain the swapped
  2552.      EZFDB.  EZFDB is swapped to a temporary file called "SWAP.EZX", created
  2553.      in the current directory of this drive.  For best performance, use the
  2554.      fastest drive that contains sufficient memory (approximately 600K max).
  2555.      RAM disks can be used.
  2556. #1150#
  2557.  
  2558.   Config - Other allows you to change some miscellaneous EZ-Forms DataBase
  2559.   options.  These options must be retained (saved to a file) before they
  2560.   will take effect.
  2561.  
  2562.   1) Use deleted records (Y/N) - this controls whether delete-tagged
  2563.      records are used by the program or not.  This affects display and
  2564.      multi-record operations such as Revise - Substitute.
  2565.  
  2566.   2) Beep on error (Y/N) - this controls the beep given whenever an
  2567.      error occurs.
  2568.  
  2569.   3) Beep on record save (Y/N) - this controls the beep given whenever a
  2570.      record is saved with the F10 function key, or a multi-record operation
  2571.      (index creation, purge, substitute, etc.) finishes.
  2572.  
  2573.   4) Auto Recalc (Y/N) - this controls automatic calculation done on
  2574.      all Field Calculations, at time of record save with the F10 function
  2575.      key. When this is NO, the user must execute a specific command to
  2576.      calculate/recalculate.
  2577. #1151#
  2578.  
  2579.   5) Help level (1=least help, to 4=most help) - As you learn the program,
  2580.      you can change this to a smaller number, which will eliminate some
  2581.      helpful messages that may no longer be necessary.
  2582.  
  2583.   6) Screen blank time (in minutes, 0=never) - when your monitor displays
  2584.      text that doesn't change for long periods of time, some portions of the
  2585.      screen may be damaged by "burn-in".  To guard against this, EZFDB will
  2586.      blank the screen whenever the keyboard and mouse are not used for a
  2587.      specified period of time - the screen blank time.  A setting of 0 will
  2588.      disable the screen protection.
  2589.  
  2590.   7) User Date Format - this specifies the display and entry format for all
  2591.      Date fields, and the CTOD function.  Date fields are always stored in
  2592.      the same format, so changing the User Data Format will not affect how
  2593.      dates are stored.  The User Date Format can be any combination of non-
  2594.      alphanumeric symbols and the letters C, Y, M and D.  Any occurrence of
  2595.      one of these significant letters will be replaced by its corresponding
  2596.      date part.  During data entry, dates must match this format exactly and
  2597.      must be valid before acceptance.
  2598. #1152#
  2599.  
  2600.   For October 1, 1942, the date parts are:
  2601.  
  2602.      Letter  Description  Number                          Examples
  2603.      ═══════════════════════════                    ════════════════════
  2604.        C     Century       19                       MM/DD/YY -> 10/01/42
  2605.        Y     Year          42                       DD-MM-YY -> 01-10-42
  2606.        M     Month         10 (Oct)                 YY*MM&DD -> 42*10&01
  2607.        D     Day           01                       CCYYMMDD -> 19421001
  2608.                                                     MMM,CCYY -> Oct,1942
  2609.  
  2610.  
  2611.   10) Network: Display records even when locked (Y/N) - this controls
  2612.      record locking during display only.  Database records are locked
  2613.      before a modification is made, and unlocked after the modification is
  2614.      complete.  During the locked time, and with this option set to No, other
  2615.      users are prevented from even looking at the record.  Users that are
  2616.      locked out receive a message indicating the condition.  The only option
  2617.      is to either wait for the record to be unlocked, or to abort the current
  2618.      operation.  When this option is set to Yes, locked records can be
  2619.      displayed, but they still cannot be modified until unlocked.
  2620. #1160#
  2621.  
  2622.   Config - Install will load a configuration file and activate its contents.
  2623.   All parameters setup by the Colors, Printer, Files, Memory and Other
  2624.   commands in the Config pulldown menu can be saved into any file by using
  2625.   the Config - Retain command.  The configuration file can have any name or
  2626.   extension.
  2627.  
  2628.   Enter the file name, including the extension (.cnf recommended).  If you
  2629.   don't remember exactly what it's called, a list of files will be presented
  2630.   whenever you enter just the directory name and leave the filename blank,
  2631.   or whenever you enter a wildcard for the file name.  Directory listings
  2632.   consist of files in the current directory, then subdirectories in the
  2633.   current directory, and then valid drives.  Selecting a file will load it.
  2634.   Selecting a subdirectory will show a listing for that subdirectory.
  2635.   Selecting a drive will show a listing for the current directory on that
  2636.   drive.
  2637.  
  2638.   A file or directory name consists of up to 8 characters, plus 3 for an
  2639.   extension.  The following characters CANNOT be used in file or directory
  2640.   names: ."/\[]:|<>+=;,
  2641. #1161#
  2642.  
  2643.   Directory names are optional and if left blank, the current directory
  2644.   is assumed.  The directory name can contain a drive name, a path name or
  2645.   both.  A path name is a list of directories separated by backslash
  2646.   characters ('\'), that leads through the directory tree up to the
  2647.   directory of interest.
  2648.  
  2649.   The default file loaded at program startup is EZFDB.CNF.  To override this
  2650.   default, you can enter a different configuration file name as the second
  2651.   parameter on the command line.  Here is the effective default command line:
  2652.  
  2653.   EZFDB /M=EZFDB.MAC /C=EZFDB.CNF
  2654.  
  2655.   The '/M' switch selects the keyboard macro file, and the '/C' switch
  2656.   selects the configuration file.  The switches can be specified in any
  2657.   order, but multiple switches must be separated by at least one space.
  2658.   The file extensions must be specified.
  2659. #1170#
  2660.  
  2661.   Config - Lock will lock or unlock the form/database revise and create
  2662.   functions.  Once locked with a password, the user will not be able to
  2663.   run any form or database create/edit/revise functions.  Specifically
  2664.   these are:
  2665.  
  2666.   Database - New           Form - New           Revise - Fields
  2667.   Database - Build         Form - Setup
  2668.   Database - Xport         Form - Edit
  2669.   Database - Rename        Form - Describe
  2670.   Database - Erase
  2671.   Database - Describe
  2672.  
  2673.   Once locked, the above functions and this help screen are unavailable.
  2674.  
  2675.   Be careful!  DON'T forget your password.
  2676. #1171#
  2677.  
  2678.   Config - Lock.
  2679.  
  2680.   This function is only available to your System Administrator.
  2681.  
  2682.   Please contact him/her for any further information.
  2683. #1200#
  2684.   EZ-Forms supports virtually  the entire  IBM Extended ASCII Character Set.
  2685.   Your choice  of what character to chose for borders,  lines,  boxes,  etc.
  2686.   just  became more complex.   EZ-Forms has four basic graphic line sets  or
  2687.   palettes to choose from:
  2688.                                                                             
  2689.   1 ┌────┬────┐      2 ╒════╤════╕      3 ╓────╥────╖     4 ╔════╦════╗     
  2690.     │    │    │        │    │    │        ║    ║    ║       ║    ║    ║     
  2691.     ├────┼────┤        ╞════╪════╡        ╟────╫────╢       ╠════╬════╣     
  2692.     │    │    │        │    │    │        ║    ║    ║       ║    ║    ║     
  2693.     └────┴────┘        ╘════╧════╛        ╙────╨────╜       ╚════╩════╝     
  2694.     ░ ▒ ▓ █ ▌▐ ▀ ▄     α ß Γ π Σ σ µ τ    Φ Θ Ω δ ∞ φ ε     reserved        
  2695.                       │               │  │              │                   
  2696.                       ╘══════╤════════╛  ╘══════╤═══════╛                   
  2697.                              │                  │                           
  2698.                              ╘══════════════════╧═══ Printer commands.
  2699.  
  2700.   The above boxes show you what the boxes and lines drawn with each palette
  2701.   look like.  Below the boxes are some stand-alone characters which can  be
  2702.   entered from the keyboard.  The shaded block characters in palette 1  are
  2703.   useful in designing logos or just to emphasize a section of a form.   The
  2704.   Greek characters in palettes 2 and 3 can be used to send commands to your
  2705.   printer during printing.
  2706. #1210#
  2707.  
  2708.   Press G to start the graphics drawing. The default is N to prevent errors.
  2709.   You are now in a full screen graphics walk-around mode.   Depending on the
  2710.   mode selected (see the characters in the lower right hand and upper  right
  2711.   corner of the screen) different things will happen.  Options are:
  2712.  
  2713.      G   Graphics - A full screen walk-around mode where you use the  cursor
  2714.                     keys to draw figures.  Whatever character is needed will
  2715.                     be substituted to make the lines solid.
  2716.      N   Neutral  - You can walk around without affecting any characters.
  2717.      E   Erase    - Erase the character under where you move the cursor.
  2718.      D   Drag     - This mode  will  drag/repeat  the  character  under  the
  2719.                     cursor as you move it around.   Use N  to  position  the
  2720.                     cursor over the character to be repeated before using D.
  2721.      1-4 Palette  - Shorthand method to select the default graphics palette.
  2722.      P   Pick     - Pick a character from a table of supported characters.
  2723.  
  2724.   Press either G, N, E, D, 1-4, or P to select the function. The active mode
  2725.   is shown in the lower right corner of the screen.
  2726.   
  2727.   Note:  P is valid only in modes D or N.   In the other modes the  inserted
  2728.   character is erased or overwritten and will not remain in your form.
  2729. #1211#
  2730.  
  2731.   Set the graphics palette with Alt L.  You can choose single line graphics,
  2732.   double line graphics,  or a combination.    As a short hand  method, press
  2733.   1-4.   A  sample character based on the palette selected  will  appear  in
  2734.   upper right corner of your screen.  Esc will return you to the editor.
  2735. #1220#
  2736.  
  2737.   EZ-Forms DataBase will move the text in the marked block to the left side,
  2738.   to the right side, or center it within the block.  If you would like an
  2739.   entire section of text centered, mark the block first then call up the
  2740.   justify text command.  When a multi-line block is marked, you will be
  2741.   asked whether you would like to justify all the lines in the block.
  2742. #1230#
  2743.  
  2744.   Several of the EZ-Forms DataBase commands support Extended ASCII symbols
  2745.   not found on your keyboard.  This screen lists all supported characters
  2746.   and should make it easier for you to select them.
  2747.  
  2748.   Directions for use:
  2749.  
  2750.   Use the numeric keypad cursor keys to position the box over the desired
  2751.   character and press Enter.
  2752.  
  2753.   You can also move the box to a desired character by pressing the
  2754.   corresponding keyboard key, if any.
  2755. #1240#
  2756.  
  2757.   The block attribute erase  command  erases/subtracts  the  attributes  you
  2758.   specify  at the prompt  from each of the characters in the  marked  block.
  2759.   This is a selective erase, not a clearing of all character attributes.  So
  2760.   if something is bold (B) and underline (U),  and you specify  underline at
  2761.   the prompt, then the character will become just bold.
  2762.  
  2763.   Character meanings:
  2764.   ═══════════════════
  2765.   U  Underline
  2766.   B  Bold (HP LaserJet printer type E with Soft Fonts - background shading)
  2767.   1  User defined function 1.   \
  2768.   2  User defined function 2.    \  Use the Alt I command to see
  2769.   3  User defined function 3.    /  the configured names for these.
  2770.   4  User defined function 4.   /
  2771.   F  Font select for HP LaserJet using printer type E and EZX Soft Fonts
  2772.   P  Pick a character from all possible characters.
  2773.   ~  Remove any field markers in the marked block.
  2774.  
  2775.   The bottom line of the editor screen  shows the  character  attributes  as
  2776.   you move the cursor over a character.
  2777. #1250#
  2778.  
  2779.   The block attribute add command  adds the  attributes you specify  at  the
  2780.   prompt to each of the characters  in the marked block.   This  is  an  add
  2781.   function, NOT a replace function. If something is already bold (B) and you
  2782.   specify underline (U), then it will become bold and underline.
  2783.  
  2784.   Character meanings:
  2785.   ═══════════════════
  2786.   U  Underline
  2787.   B  Bold (HP LaserJet printer type E with Soft Fonts - background shading)
  2788.   1  User defined function 1.   \
  2789.   2  User defined function 2.    \  Use the Alt I command to see
  2790.   3  User defined function 3.    /  the configured names for these.
  2791.   4  User defined function 4.   /
  2792.   F  Font select for HP LaserJet using printer type E and EZX Soft Fonts
  2793.   P  Pick a character from all possible characters.
  2794.   ~  Add field markers to blank locations in the marked block.
  2795.  
  2796.   The bottom line of the editor screen  shows the  character  attributes  as
  2797.   you move the cursor over a character.  Please note that the operations are
  2798.   performed in the order you enter them.  If you specify ~ then p, then your
  2799.   picked character will never show up in the form because ~s will  be  added
  2800.   first and there won't be any blank areas to insert your picked character.
  2801. #1260#
  2802.  
  2803.   You can draw a box around the inside border of the marked block using this
  2804.   command.  The default line drawing character palette (use Alt L to select)
  2805.   will be used.  The inside characters all the around the marked block  will
  2806.   be replaced by the graphic lines.
  2807.  
  2808.   Boxes may be drawn in almost any size and with a variety of border styles.
  2809. #1270#
  2810.  
  2811.   Want to read a text file into an EZ-Forms form?  This command allows you
  2812.   to load text created under almost any other software program.  The only
  2813.   requirement is that the file must contain only ASCII characters.
  2814.  
  2815.   If you have a block marked, you will be given the option to load the file
  2816.   into only the marked section of your form.
  2817. #1280#
  2818.  
  2819.   This screen provides basic information on the status of the EZ-Forms
  2820.   Editor, your printer defaults, etc.
  2821.  
  2822.   Under the "Current printer related defaults" you will find the user
  2823.   function names.  If you take a close look at the bottom of the editor
  2824.   screen, you will notice a character attribute area.  When you see a 1, 2,
  2825.   3, or 4 pop up, this is what it is referring to.  The user functions are
  2826.   defined to contain specific information for each printer and can be
  2827.   customized by the user.  See the printer configuration area for more
  2828.   details.
  2829.  
  2830.   HP LaserJet specific information is listed on the next page.
  2831. #1281#
  2832.   Fonts  are  specified  for the HP LaserJet  using  printer type  'E'  thru
  2833.   combinations of user defined functions attached to  each character.  Other
  2834.   sections of the documentation give details on font naming conventions.
  2835.  
  2836.    Font    Attributes         How the font is selected
  2837.   ══════   ══════════  ══════════════════════════════════════════
  2838.   Font 0    pub....    The default, no user defined functions.
  2839.   Font 1    pub1...    Selected with Alt1.
  2840.   Font 2    pub.2..    Selected with Alt2.
  2841.   Font 3    pub..3.    Selected with Alt3.
  2842.   Font 4    pub...4    Selected with Alt4.
  2843.   Font 5    pub1..4    Selected with Alt1+4.
  2844.   Font 6    pub.2.4    Selected with Alt2+4.
  2845.   Font 7    pub..34    Selected with Alt3+4.
  2846.   Font 8    pub1.34    Selected with Alt1+3+4.
  2847.   Font 9    pub.234    Selected with Alt2+3+4.
  2848.  
  2849.   Support for mutiple fonts requires:
  2850.  
  2851.   1. An HP LaserJet Plus, HP LaserJet Series II, III, or compatible
  2852.   2. The EZX LaserJet Fonts and Graphics Support Pack ver 2.0 or greater
  2853.   3. Configuration of EZ-Forms DataBase for the HP LaserJet - type E printer
  2854. #1290#
  2855.  
  2856.   Many of the editing commands have optional prompt messages to provide
  2857.   information and serve as a safety catch in case of mistakes.  The extent
  2858.   of the user help/interference offered by EZ-Forms is tied to the message
  2859.   level.  The more potentially harmful a command, the lower the message
  2860.   level has to be set, for the command's warning/prompt to disappear.
  2861.  
  2862.   Examples:
  2863.  
  2864.   Command                  Tied to Help/Message level
  2865.   ═══════                  ══════════════════════════
  2866.   Patch form               4 (no message 3 and below)
  2867.   Block delete             1 (no message at level 0)
  2868.   Various other commands   1-4 (level varies)
  2869.  
  2870.  
  2871.   Most of the block operations and some of the other editing commands
  2872.   provide this feature.
  2873.  
  2874.   The default (unless configured otherwise) is to provide the maximum level
  2875.   of user help messages.
  2876. #1300#
  2877.  
  2878.   EZ-Forms DataBase allows you to set up one auto number field within a form
  2879.   that will automatically increment each time the form is used to add a 
  2880.   record to a database.  Use this to generate invoice/purchase order numbers
  2881.   and control numbers.  Each added record will have a unique number.
  2882.  
  2883.   If you need a starting number other than 1, simply type it into the form at
  2884.   the auto number position you have selected.  EZ-Forms will use that
  2885.   number as the starting point.  When the form is saved, EZ-Forms will read
  2886.   the auto number location and update all its pointers to contain your new
  2887.   number.
  2888.  
  2889.   The auto number will "roll over" from all 9s to 1 when you exceed the
  2890.   maximum number for the field.
  2891.  
  2892.   Any invalid character (non-numeric) will generate an error and cause the
  2893.   auto number to reset to 1.  Example: auto number width is 5, the number
  2894.   00A01, contains an invalid character (A) - auto number is reset to 00001.
  2895. #1330#
  2896.  
  2897.  
  2898.   The clear form option allows you to start again with a clean slate.
  2899.  
  2900.   All characters, graphics and attributes are erased.
  2901. #1350#
  2902.  
  2903.   The large character lookup  allows you to easily create headings in  large
  2904.   (8 by 8)  characters.   Simply  type  in the text  and  then  select  what
  2905.   character to use for the drawing.   For other size characters, you can use
  2906.   the Notepad to move characters from the form 359-HIGH.FRM.
  2907.  
  2908.   Play  with this command in a new form to get a feel for how  it  operates.
  2909.   This command places a lot of power (and potential for destruction) in your
  2910.   hands.
  2911.  
  2912.   The  length  of  the allowable input text (shown as s)  depends  on  your
  2913.   cursor position within the form and the width of the form.   As  you  move
  2914.   the cursor to the left,  there is more space to insert text so the  prompt
  2915.   will  get  longer.   Each  of the large characters take  up  eight  normal
  2916.   character spaces in both directions.  That means an eighty column form can
  2917.   have at most ten large characters on a single line.
  2918.  
  2919.   The characters are entered into your form starting at the cursor position.
  2920.   They will be inserted with the cursor being the upper left  point  of  the
  2921.   8 by 8 character box.
  2922. #1360#
  2923.  
  2924.   The marked block defines the area for the grid.   All  characters  in  the
  2925.   marked block will be erased.   You will be  asked  for  the  vertical  and
  2926.   horizontal spacing for the grid.   If  the desired spacing  provides  even
  2927.   spacing the grid will come out completely even.   Otherwise  you  will  be
  2928.   left with an off size block at the ends.  See the examples below.
  2929.  
  2930.   ┌┬┬┬┬┬┬┬┬┬┐ ┌─┬─┬─┬─┬─┐ ┌──┬──┬──┬┐ ┌───┬───┬─┐ ┌────┬────┐ ┌┬┬┬┬┬┬┬┬┬┐
  2931.   ├┼┼┼┼┼┼┼┼┼┤ ├─┼─┼─┼─┼─┤ ├──┼──┼──┼┤ ├───┼───┼─┤ ├────┼────┤ │││││││││││
  2932.   ├┼┼┼┼┼┼┼┼┼┤ ├─┼─┼─┼─┼─┤ ├──┼──┼──┼┤ ├───┼───┼─┤ ├────┼────┤ ├┼┼┼┼┼┼┼┼┼┤
  2933.   └┴┴┴┴┴┴┴┴┴┘ └─┴─┴─┴─┴─┘ └──┴──┴──┴┘ └───┴───┴─┘ └────┴────┘ └┴┴┴┴┴┴┴┴┴┘
  2934.   vert 1      vert 1      vert 1      vert 1      vert 1      vert 2
  2935.   horz 1      horz 2      horz 3      horz 4      horz 5      horz 1
  2936. #1370#
  2937.  
  2938.   EZ-Forms DataBase will download to your HP LaserJet+ or compatible the
  2939.   fonts that you attach to the characters in your form.  Fonts are specified
  2940.   on a character by character basis.  That means you could have ten
  2941.   characters in a row on any line, each character with a different font.
  2942.  
  2943.   The font sizes listed are the defaults provided with the EZX Publishing
  2944.   HP LaserJet Fonts and Graphics Support Pack.  Actual sizes may vary since
  2945.   all of the fonts can be modified by the user.  This is accomplished by
  2946.   copying a different font to the font name EZ-Forms DataBase uses for that
  2947.   font (the downloading to your printer is done at print time).
  2948.  
  2949.   Combinations of the user defined functions (Alt1-4) are used to specify
  2950.   which font is attached to which character.  We have tried to make the use
  2951.   of these combinations as easy as possible.  Please note that even though
  2952.   you have to specify the font (0 thru 9) with  up to four different user
  2953.   defined functions, the sum of the specific user defined functions is
  2954.   always the font number.
  2955.  
  2956.   The HP LaserJet supports up to 10 fonts at one time; we have provided full
  2957.   support for that maximum.  The HP LaserJet supports up to 32 print macros;
  2958.   we have supported 15 print macros thru the Greek characters.
  2959. #1371#
  2960.  
  2961.   Refer to the On-line Manual from the main menu for additional information
  2962.   on HP LaserJet support.  The information is located under the Printing
  2963.   section of the On-line Manual.  Font naming conventions, printing
  2964.   sequence, plus several other topics are covered.
  2965.  
  2966.   The Print - Preload command can speed up printing time by downloading
  2967.   the soft fonts, graphics and form only once.  Subsequent printing only
  2968.   needs to send the information filled in to the fields.
  2969. #1380#
  2970.  
  2971.   Erasing the font references from a block involves clearing all the user
  2972.   defined functions from the marked block.
  2973.  
  2974.   Answer yes if you would like the font references erased/cleared. This will
  2975.   default the text back to font 0.
  2976. #1390#
  2977.   EZ-Forms DataBase allows you to use your computer's system clock to
  2978.   obtain the current date and time for use in your form.  If you choose
  2979.   either date or time feed then the computer's clock will be checked for
  2980.   the current time or date and then inserted at the current cursor position.
  2981.  
  2982.   As much of the date or time as will fit will be inserted into the
  2983.   available space.  Be careful if you are close to the right margin.
  2984.  
  2985.   Date formats: 0 mm/dd/yy   06/15/89  Time formats:   24 hour formats
  2986.   (Example      1 mm-dd-yy   06-15-89  (Example      0 hh:mm:ss  13:30:15
  2987.    using        2 yy-mm-dd   89-06-15   using        1 hh:mm     13:30
  2988.    15 Jun 1989) 3 mmddyy     061589     1:30:15 PM)    12 hour AM/PM formats
  2989.                 4 yymmdd     890615                  2 hh:mm:ss  01:30:15 PM
  2990.                 5 dd mmm yy  15 Jun 89               3 hh:mm     01:30 PM
  2991.   (Military)    6 Julian     9166 (last digit of year & 001-365 day of year)
  2992.                 7 dd/mm/yy   15/06/89
  2993.                 8 dd:mm:yy   15:06:89
  2994.                 9 ddmmyy     150689
  2995.                 A yy/mm/dd   89/06/15
  2996.                 B yy:mm:dd   89:06:15
  2997.                 C mm:dd:yy   06:15:89
  2998. #1400#
  2999.  
  3000.  
  3001.   Field markers are used in two ways:
  3002.   ═══════════════════════════════════
  3003.  
  3004.   In forms, you insert field markers (the ~ character) to mark areas you
  3005.   want protected in the data entry screen.  By filling the unused areas of a
  3006.   form with the field markers, you limit the area of the form that can be
  3007.   be filled-in later.
  3008.  
  3009.   Note: Field markers can be entered and deleted using the keyboard keys.
  3010. #1410#
  3011.  
  3012.   After  you input the text press Enter to insert it into your form.   Press
  3013.   Escape if you want to exit without altering your form.
  3014.  
  3015.   The text will be inserted vertically into your form.   The first character
  3016.   will be at the current cursor location.  The next character will be on the
  3017.   same column but one line down.  Etc.
  3018.  
  3019.   If  you  input text longer than the number of lines to the bottom of  your
  3020.   form,  inserting will stop at the last line of the  form.
  3021.  
  3022.   The length of the prompt using 's will vary depending on the number of
  3023.   lines from your current cursor location to the bottom of your form.
  3024. #1420#
  3025.   EZ-Forms DataBase allows you to easily generate form templates to be used
  3026.   with your pre-printed forms.  To do this:
  3027.  
  3028.   1.  Answer yes to generate the overlay grid.  Is this form the right size?
  3029.   2.  Insert your pre-printed form into your printer.
  3030.   3.  Call up the print menu (Alt P) and use the A (alignment dot) to print
  3031.       a dot in the corner of your form. Move your form around in the printer
  3032.       until the alignment dot prints EXACTLY on a known reference point.
  3033.       You may have to turn off the printer and move the printer head to see
  3034.       the alignment dot.  Turn the printer back on before trying to print.
  3035.   4.  Print the CFO grid.  It will overlay a numbered grid over your form.
  3036.   5.  Take note of the areas to be filled in on your pre-printed form and
  3037.       the line and column numbers from the CFO grid that overlay them.  At
  3038.       this point you have two options:
  3039.  
  3040.       a.  Try to design a form that looks like your pre-printed form with
  3041.           the blank areas in the correct spots.
  3042.       b.  Forget about appearance and use the generated grid with erased
  3043.           areas in the correct areas for data entry.
  3044.  
  3045.   The next screen briefly describes CFO and gives tips on how to better
  3046.   adjust the line and column spacing for CFO.
  3047. #1421#
  3048.  
  3049.   Using preprinted forms with EZ-Forms DataBase is easy.  To use this
  3050.   feature, first create a form to act as the template.  Make sure that all
  3051.   the "fields" match or align with those on your preprinted form.  Create a
  3052.   new database with this form and enter a test record.  When you print the
  3053.   test record, select C for clear forms overlay.  This will ensure only
  3054.   the unprotected area (the text you just typed in) will be printed.  The
  3055.   form outline is protected, so it doesn't print! Use the Add CFO Grid
  3056.   command (Alt Y) for a template.
  3057.  
  3058.   Tips for CFO:
  3059.  
  3060.   1.  Use the 6 lpi/8 lpi option along with the normal/small text options to
  3061.       adjust the vertical and horizontal spacing to match your field areas.
  3062.   2.  Make sure your form is sized large enough to generate a grid to cover
  3063.       your entire preprinted form.  Use F2 to resize your form prior to
  3064.       generating the CFO grid.
  3065. #1430#
  3066.  
  3067.   Usage for all printer drivers except for the HP LaserJet type E.
  3068.  
  3069.   Greek characters  are  user defined  commands  to direct the printer to do
  3070.   something.  They are defaulted to spaces to maintain correct form spacing.
  3071.   Add any printer commands you want for these special characters.  The first
  3072.   time  EZ-Forms  encounters  the  symbol  in a  form  it  will send  the on
  3073.   sequence.   The second time  it will  send the off sequence  (they  toggle
  3074.   states each time used).
  3075.  
  3076. #1431#
  3077.  
  3078.   Usage for HP LaserJet with printer type E selected.
  3079.  
  3080.   The Greek characters are used to select print macros.  These are predefined
  3081.   sequences of commands for your printer that can be triggered by sending a
  3082.   simple escape sequence (see your HP LaserJet technical reference manual
  3083.   for more info).  These are used for printing things like logos for
  3084.   letterhead and for printing someone's signature.  Unlike soft fonts, print
  3085.   macros have to be completely designed and defined with a macro ID (01-15)
  3086.   prior to you being able to reference them within a form.
  3087.  
  3088.   Print macros are selected within a form thru the use of the Greek
  3089.   characters.  The first Greek character triggers print macro 01, the second
  3090.   Greek character print macro 02, etc.  Use the Alt Z command to access them.
  3091. #1440#
  3092.  
  3093.   The notepad is basically an enhanced block copy.  You can copy any section
  3094.   of text from your form into the notepad.  The text can be pasted into the
  3095.   same form at a different location or to another form.
  3096.  
  3097.   The cursor location defines where the text will be copied to.
  3098.  
  3099.   Use of this command with large blocks of text requires a lot of memory (up
  3100.   to 64K). Your computer may not have enough memory to allow this operation.
  3101.   If that occurs, you will be given an out of memory message.  This in no
  3102.   way alters the functionality of any other portion of EZ-Forms DataBase.
  3103.   However, the amount of free memory shown on the bottom of the context
  3104.   sensitive help screens and the on-line manual may show 0K free. This means
  3105.   EZ-Forms DataBase at one point tried to use all of your RAM. If this
  3106.   occurs, try removing some of your memory resident software.  Yes, memory
  3107.   resident programs really do decrease your computer's available RAM.
  3108. #1450#
  3109.  
  3110.  
  3111.   This option gives you an easy way to draw a border around the outer edge
  3112.   of your form.  The line will be solid, adding the correct characters at
  3113.   the corners of the form.  Whatever was in the first character space around
  3114.   the outer edge of the form WILL be overwritten.  The default line drawing
  3115.   palette will be used.  Use Alt L to alter the default palette.
  3116. #1460#
  3117.  
  3118.  
  3119.   This option allows you to remove the entire border from your form with a
  3120.   single keystroke.   The first character position around the entire outer
  3121.   edge of the form will be erased.
  3122. #1470#
  3123.  
  3124.   The delete block command deletes all text in the marked block.  Please be
  3125.   careful with this command.
  3126.  
  3127.   Use the Ctrl V command if you want to alter the default help/message level
  3128.   and get rid of these prompts.
  3129.  
  3130.   See the copy block (Alt C) and move block (Alt M) commands for other
  3131.   options.
  3132. #1480#
  3133.  
  3134.   The block move command moves the text from the marked block to your current
  3135.   cursor location.  Your cursor location will be the upper left corner of
  3136.   where the text will be moved.  This is a move (displace -- from one point
  3137.   to another) so all the text in the marked block will move.
  3138.  
  3139.   See the copy block (Alt C) and delete block (Alt D) commands for other
  3140.   options.
  3141. #1490#
  3142.  
  3143.   The copy block command copies the text from the marked block to your
  3144.   current cursor location.  Your cursor will be in the upper left of where
  3145.   the text will be copied.  This is a copy (duplicate), so none of the text
  3146.   in the marked "source" block will be modified unless the blocks overlap.
  3147.  
  3148.   See the move block (Alt M) and delete block (Alt D) commands for other
  3149.   options.
  3150. #1500#
  3151.  
  3152.   The patch function will try to connect any adjoining character graphics
  3153.   symbols.  The symbols will be joined with one of the other character
  3154.   graphics symbols that best completes the form.  ONLY the immediate four
  3155.   characters are scanned (characters left, above, right, and below).  Based
  3156.   on these, a character out of │ ─ ┌ └ ┐ ┘ ├ ┤ ┬ ┴ ┼ is picked. You MUST have
  3157.   already placed a character graphics symbol of some type in the scanned
  3158.   character space for it to be considered for patching.  Example:
  3159.  
  3160.            │                                     │
  3161.       ───────          will be patched to   ─────┼─
  3162.            │                                     │
  3163.  
  3164.   Please note the first example had a character graphics symbol in the area
  3165.   and needed to be patched.  If it had not been there, EZ-Forms would
  3166.   have left the space blank instead of substituting the intersection symbol.
  3167.  
  3168.   EZ-Forms DataBase has to make a lot of assumptions when it is patching a
  3169.   form.  Sometimes it won't choose the character you think it should.  This
  3170.   command gives you a good start on the patching.  You will sometimes have
  3171.   to add the final touches.
  3172. #1510#
  3173.  
  3174.   EZ-Forms is not a wordprocessor.  It is a forms manager.  Forms are a
  3175.   fixed length unlike wordprocessing files.  If you want to insert a line
  3176.   something has to disappear (unless you use F2 to resize and lengthen the
  3177.   form first).  EZ-Forms inserts lines by moving the line the cursor is on
  3178.   and every line below down by one.  Where does the line go?  It disappears.
  3179. #1520#
  3180.  
  3181.   Your form size will not decrease when you delete a line.  The text is just
  3182.   moved up one line, overwriting any text on the cursor line.
  3183.  
  3184.   If you get tired of seeing these messages, set the default help/message
  3185.   level to zero (command is Ctrl V).
  3186. #20050#
  3187.  
  3188.   EZ-Forms DataBase provides relational database capabilities using forms
  3189.   for data entry, printing and report formats.  It can create and edit its
  3190.   own forms, as well as use forms created by other EZ-Forms programs.  A
  3191.   form field is any horizontally contiguous, non-protected area of a form.
  3192.   A database field is one item of data that is part of a larger whole -
  3193.   the record.
  3194.  
  3195.   An analogy to a database is a file cabinet.  The file cabinet represents
  3196.   the database, a file folder represents a database record, and items in the
  3197.   file folder represent database fields.  The form represents how these
  3198.   items are placed and presented in the file folder.
  3199.  
  3200.   Form and database fields are named to provide documentation and placement
  3201.   capabilities.  Every field in the form can be named separately from every
  3202.   field in the database.  This is the key to flexible forms usage.  The
  3203.   first field in the database can be displayed in the fourth field on the
  3204.   form by simply naming them the same.  Database fields can be excluded by
  3205.   simply not having a form field name that matches that database field.
  3206.   Fields are limited to 1000 in count and 256 in width, and total record
  3207.   width cannot exceed 32000, depending on available memory.
  3208. #20051#
  3209.  
  3210.   The first step to filling out forms and working with databases is to
  3211.   create a new form or select an existing one.  The Form - Create command
  3212.   will guide you through making a new form.  This leads into the form editor,
  3213.   which is very similar to the EZ-Forms Executive editor.  The form editor
  3214.   is similar to a word processing editor, but with important differences
  3215.   which make forms creation a breeze.
  3216.  
  3217.   The next step is to create a database from the form you select.  The
  3218.   Database - New command will guide you through creation of a new database.
  3219.   You can choose an existing form, or even have it create one for you.
  3220.  
  3221.   Once created, you can enter records into the database by using the 'Add'
  3222.   command in the 'Revise' pull-down menu.
  3223.  
  3224.   Refer to other sections of the On-Line Manual for additional information.
  3225.   F1 is available to call up help while you are using EZ-Forms DataBase.
  3226. #20052#
  3227.                        ┌────────────────────────────┐
  3228.                        │ EZ-Forms DataBase Features │
  3229.                        └────────────────────────────┘
  3230.  
  3231.  
  3232.     - Unlimited relational lookups (auto fill-in from other databases)
  3233.     - dBASE III, III+ and IV .dbf and .dbt file compatibility
  3234.     - Automatic form creation from existing .dbf files
  3235.     - Quickly create a database from an existing form
  3236.     - Easily match a database to any existing form
  3237.     - On-line manual and context sensitive help
  3238.     - Up to 12 indexes per database
  3239.     - Index on any field portion and/or combination
  3240.     - Field Calculations
  3241.     - Browse mode for viewing multiple records per screen
  3242.     - Easily modify database format to add/delete fields and change
  3243.       field sizes
  3244.     - Quick report feature for on-the-fly record counting, summing and avg.
  3245.     - Choose which fields show up on a form, and where
  3246.     - Duplicate search
  3247.     - Create/revise function lockout for end-user applications
  3248.     - Keyboard (100+) macros, each up to 1000 keystrokes long
  3249. #20053#
  3250.                      ┌─────────────────────────────────┐
  3251.                      │ More EZ-Forms DataBase Features │
  3252.                      └─────────────────────────────────┘
  3253.  
  3254.  
  3255.     - Unlimited databases per form
  3256.     - Unlimited forms per database
  3257.     - Append (merge) records from other .dbf database files
  3258.     - Import records from other database file formats
  3259.     - Export records to other database file formats
  3260.     - Memo fields that allow meaningful comments, up to 5000 characters long
  3261.     - Define as many as 1000 fields, each up to 256 characters wide,
  3262.       with total record width not to exceed 32000 (also depends on memory)
  3263.     - Field validations: Character, Numeric, Date and Logical
  3264.     - Repeat keys for repetitive data insertion, date, time, etc.
  3265.     - Window fields for extra-long fields that fit anywhere
  3266.     - Single or multiple forms printing
  3267.     - Print stylish reports with headers, footers, page number, etc.
  3268.     - Forms printing in single-up or multi-up label mode, with extra
  3269.          horizontal and vertical blank suppression
  3270.     - Expression tutor and calculator
  3271.     - Supports over 500 dot matrix, ink jet, daisy wheel and laser printers
  3272. #20100#
  3273.  
  3274.   EZ-Forms DataBase provides relational database capabilities using forms
  3275.   for data entry, printing and report formats.  It can create and edit its
  3276.   own forms, as well as use forms created by other EZ-Forms programs.
  3277.  
  3278.   EZ-Forms DataBase allows you to create and maintain a database, order its
  3279.   records, display the records in various ways, and do a multitude of other
  3280.   things while providing on-line help every step of the way.  Here are some
  3281.   of its possible uses at home or at the office:
  3282.  
  3283.         Address Book            Sales Leads             Asset Management
  3284.         Invoices                Expenses                Disk Cataloging
  3285.         Inventory               Time Logging            Customer List
  3286.         Mailing List            Bibliography            Billing
  3287.  
  3288.   Example forms and databases for some of the above applications are
  3289.   provided on the system diskette.  Feel free to use them as is, learn
  3290.   from them, or alter them to better suit your needs.
  3291. #20101#
  3292.  
  3293.   If you already have a dBASE compatible database, you can use it as-is
  3294.   with EZ-Forms DataBase.  You can even have it generate a form for you that
  3295.   will match the database.  You can then alter this form to make it more
  3296.   suitable.  If your data exists in another format, EZFDB supports 6 file
  3297.   types for importing data to an existing database.  These same 6 file types
  3298.   are available for export too.
  3299.  
  3300.   For data entry by several different departments, you can define alternate
  3301.   forms that present the same database fields in different formats better
  3302.   suited to the needs of each department.
  3303.  
  3304.   For reporting, you can use the same form used for data entry, or you can
  3305.   use an alternate form.  EZFDB allows you to print any subset of records
  3306.   easily, one record per form.  Forms can be combined on a page or printed
  3307.   separately, one per page.  There is even an Alternate Form command that
  3308.   will print the current record using a different form without changing the
  3309.   installed form.  The label printing command works similarly, but can also
  3310.   suppress horizontal and vertical blank spaces for professional looking
  3311.   labels.  You can even print labels that use any of the supported print
  3312.   attributes like bold, underline, superscript, etc.
  3313. #20102#
  3314.  
  3315.   EZ-Forms DataBase requires an IBM PC (tm) or compatible with at least
  3316.   640K of RAM.  Direct screen memory access is used to provide high speed
  3317.   screen updates.  This may make EZ-Forms DataBase unusable on some "not too
  3318.   close" IBM PC compatibles.  IBM monochrome, color, and enhanced graphics
  3319.   adapters are known to work with  EZ-Forms DataBase.  If you are using an
  3320.   IBM color graphics card with a "green screen", then you must use the DOS
  3321.   MODE command on your DOS diskette to default to black and white (type MODE
  3322.   BW80 and then run EZ-Forms DataBase).  If you are using a serial printer,
  3323.   use the DOS MODE command to route the serial printer to LPT1 (see your DOS
  3324.   manual for details).
  3325.  
  3326.   To be able to use all of the 12 maximum indexes, the DOS config.sys file
  3327.   must specify that at least 20 files can be open at a time.  The config.sys
  3328.   command line for 20 files would be:  'FILES = 20'
  3329.  
  3330.   It is assumed that you understand DOS and how it deals with files, file
  3331.   names and directories.  If you are confused, consult your computer manual
  3332.   or your local PC "guru" first, as we can only help you with EZFDB.
  3333. #20200#
  3334.  
  3335. ╔═════════════════════════ EZ-Forms DataBase v2.5 ════════════════════════╗
  3336. ║   Manual   Database Form     Revise   View     Index    Print    Config   ║
  3337. ╚═══════════════════════════════════════════════════════════════════════════╝
  3338.  
  3339.   The Main Menu options with descriptions are below.
  3340.  
  3341.   M   On-Line Manual: This is a manual for EZ-Forms DataBase that you can
  3342.       view right on your screen, without leaving the program.
  3343.  
  3344.   D   Database:  This option allows you to select from various databases for
  3345.       use with EZ-Forms DataBase.  You can choose field characteristics,
  3346.       create databases and rebuild databases to a new format.
  3347.  
  3348.   F   Form:  This option allows you to select from various form files for
  3349.       use with EZ-Forms DataBase.  You can create, edit, set up, view,
  3350.       print and describe forms to use with databases.
  3351.  
  3352.   R   Revise:  The Revise option allows you to alter the contents of the
  3353.       currently selected database.  You can add or edit records directly,
  3354.       or add records from another database.
  3355. #20201#
  3356.  
  3357.   V   View:  With this option, you can look at database records in
  3358.       various ways, look at field definitions and status information, find
  3359.       records and change what records will display.
  3360.  
  3361.   I   Index:  Here you can alter the display order of the records.
  3362.       Create and manage multiple indexes for accessing your data in various
  3363.       ways.
  3364.  
  3365.   P   Print:  This option lets you print a single form or multiple forms.
  3366.       When printing multiple forms, you can specify a subset of records to
  3367.       print.
  3368.  
  3369.   C   Config:  Configuration of the EZ-Forms DataBase program.  Select
  3370.       printer, colors and other parameters.  Also allows you to save
  3371.       alternate configuration files for later restore.
  3372. #20300#
  3373.  
  3374.                                  DATABASES
  3375.                                  ═════════
  3376.  
  3377.   Data is entered into fields on a form, and the fields are stored as a
  3378.   record into a database file.  EZ-Forms DataBase (EZFDB) works with dBASE
  3379.   compatible (III, III+ and IV) database and Memo files.
  3380.  
  3381.   The database file has an extension of '.dbf' and is where the records are
  3382.   stored.  Each record can have one or more Memo fields and when it does,
  3383.   there is an associated Memo file that has an extension of '.dbt'.  All Memo
  3384.   fields for the database are stored in this file.  Whenever a database
  3385.   is selected for use with EZFDB, a form (.frm) file, a form/database (.fdb)
  3386.   file and a database definitions (.dbr) file is read in by default.  The
  3387.   database file has field information in its header so if a form doesn't
  3388.   exist, EZFDB can create one for you.  If no database exists, a form is
  3389.   required to create a database.  For database selection, all these types of
  3390.   files must have the same name, with different extensions.  For example,
  3391.   'data' would have:
  3392. #20301#
  3393.  
  3394.   - database file  (data.dbf)   Stores the actual data
  3395.   - memo file      (data.dbt)   Where memo fields are stored
  3396.   - database defs  (data.dbr)   Contains Index List and Field Calculations
  3397.   - form file      (data.frm)   EZ-Forms form for data entry or reports
  3398.   - form/db file   (data.fdb)   Contains form field names
  3399.   - index files    (data.ndx)   Record ordering data (optional)
  3400.  
  3401.   Each field of a record has all of the following characteristics:
  3402.  
  3403.   Characteristic              Description
  3404.   ════════════════  ══════════════════════════════════════════════════════
  3405.   Name              Can be up to 10 alphabetic, numeric or '_' characters.
  3406.  
  3407.   Type              Character, Numeric, Date, Logical or Memo.
  3408.  
  3409.   Width             0 through 256, depending on type.
  3410.  
  3411.   Decimals          For Numeric fields only.  Number of digits after decimal
  3412.                     pt., 0 - 15.  Must be at least 2 less than field width.
  3413.  
  3414.   Calculation       Any expression that evaluates to the field's type.
  3415. #20302#
  3416.  
  3417.   The field name is defined by the database creator for documentation and
  3418.   data placement purposes.  The name is relatively short, but it should
  3419.   always reflect the meaning of the field.  The database field name is
  3420.   matched up to a form field name to decide where to place its data on the
  3421.   form.
  3422.  
  3423.   During data entry, the field name and type is displayed on the bottom
  3424.   line.  A help screen is available to explain the permissable entries for
  3425.   each field type.
  3426.  
  3427.   Examples
  3428.   ════════
  3429.  
  3430.   FIRST_NAME
  3431.   LAST_NAME
  3432.   TOTAL
  3433.   YR_TO_DATE
  3434.   SERIAL_1
  3435. #20303#
  3436.  
  3437.   The field type indicates what kind of data the field contains.
  3438.  
  3439.   Type        Can Contain                                   Width
  3440.   ══════════  ════════════════════════════════════════════  ═════════════════
  3441.   Character   any ASCII character                           0 - 256
  3442.               (letters, numbers, symbols and spaces)
  3443.  
  3444.   Numeric     '0' - '9', '.', '-'                           0 - 19
  3445.                                                             Decimals 0 - 15
  3446.  
  3447.   Date        '0' - '9', '/' in MM/DD/YY format             8
  3448.  
  3449.   Logical     'T','t','Y' or 'y' for logical true (.T.),    1
  3450.               'F','f','N' or 'n' for logical false (.F.)
  3451.  
  3452.   Memo        any ASCII character                           10
  3453.               (letters, numbers, symbols and spaces)       (5000 in Memo file)
  3454. #20304#
  3455.  
  3456.   Memo Fields
  3457.   ═══════════
  3458.  
  3459.   A Memo field is very similar to a Character field, except that its data
  3460.   is stored in a separate Memo (.dbt) file and each Memo field's length
  3461.   can be variable and relatively long.  The advantage is when an occasional
  3462.   elaboration is required for a certain record, there are no limits as to how
  3463.   long or short the elaboration can be.  Only 10 bytes are used for each Memo
  3464.   field in a record to point to the corresponding data in the Memo file.
  3465.   When there is data in a Memo field, it is written to the Memo file in 512
  3466.   byte blocks.  When there is no data, nothing is written to the Memo file.
  3467.  
  3468.   Record and Field Sizes
  3469.   ══════════════════════
  3470.  
  3471.   The field width defines how many characters can be in the field.  The
  3472.   field decimals is for Numeric-type fields only, and specifies how many
  3473.   digits can appear after the decimal point.
  3474. #20305#
  3475.  
  3476.   The sum of the widths of all fields (10 for Memo fields) is the record
  3477.   length.  The maximum width for a field is 256 characters.  The maximum
  3478.   record length is 32000 characters.  The total number of fields in the form
  3479.   or database cannot exceed 1000.  Maximums are subject to available
  3480.   memory restrictions.
  3481.  
  3482.   Field Calculations
  3483.   ══════════════════
  3484.  
  3485.   Field Calculations are simply expressions which can be defined for any
  3486.   field.  The expression is calculated at data entry time if the Auto
  3487.   Recalc option is turned on in the Config - Other menu.  Field
  3488.   Calculations can include math, alphabetic case conversions, relations,
  3489.   conditional relations, and character manipulation.
  3490.  
  3491.   Field Calculations are directly associated to a database field, so even
  3492.   when multiple forms are used with a single database, all Field Calculations
  3493.   will apply even if some database fields are not present on the form.  This
  3494.   allows you to use non-displayed fields in your Field Calculations.
  3495. #20400#
  3496.  
  3497.                                  FORMS
  3498.                                  ═════
  3499.  
  3500.   A form (.frm) file defines the data entry screen and/or the report format.
  3501.   You can read a form with or without prior selection of a database.
  3502.   Before a form can work with a database, a form/database (.fdb) file is
  3503.   required.  This file defines the form field names and tells EZFDB where to
  3504.   place data on the form for printing or screen display.  Reading a different
  3505.   form after a database is selected provides an alternate view to that
  3506.   database, assuming the form fields are named appropriately.  Various
  3507.   commands can create this file.
  3508.  
  3509.   EZ-Forms DataBase can create and edit its own forms, as well as use
  3510.   forms created by other EZ-Forms programs.  However, math formulas from
  3511.   EZ-Forms Lite, Plus and Executive are not supported.  Math formulas are
  3512.   instead handled by database Field Calculations.
  3513.  
  3514.   EZ-Forms DataBase also supports the use of the HP LaserJet Font and
  3515.   Graphics Support Pack (HPLJFGSP) for printing.
  3516. #20401#
  3517.  
  3518.   Form Field Names
  3519.   ════════════════
  3520.  
  3521.   The Form - Setup command allows you to enter field names directly
  3522.   into the form, so that you can see the form while you're deciding on names.
  3523.   If necessary, the Database - New command will automatically create form
  3524.   field names from the database field names.
  3525.  
  3526.   Field names consist of up to 10 characters with only alphabetic, numeric
  3527.   and '_' characters allowed.  Alphabetic case is insignificant.  When
  3528.   entering field names in the form, field windowing is used if the field
  3529.   is smaller than 10 characters.
  3530.  
  3531.   Until the database is created or attached, these field names only apply
  3532.   to the form.  When a new database is created from a form that already
  3533.   has field names, the database field names are made identical to the form
  3534.   field names.  When opening an existing database or loading an alternate
  3535.   form while a database is already open (active), the form field names are
  3536.   matched up to the database field names, in order to find out where to place
  3537.   data on the form.  Any fields without a match always displays blanks, and
  3538.   any data entered into these fields will be lost, once the record is saved.
  3539. #20402#
  3540.  
  3541.   Window Fields and Memo Fields
  3542.   ═════════════════════════════
  3543.  
  3544.   EZFDB will only place data into a form field when that field's name
  3545.   matches a database field name.  Even so, the form field can be longer
  3546.   or shorter than the corresponding database field.  When the form field
  3547.   is longer, all the data appears but data entry will be limited to the
  3548.   length of the database field.  When the form field is shorter, the field
  3549.   is automatically windowed.
  3550.  
  3551.   A window field is a form field whose data is longer than its field length.
  3552.   All data is accessible, it's just not all shown in the form at the same
  3553.   time.  During data entry, when the cursor approaches the end of the field,
  3554.   the remaining data will automatically scroll leftward into view, and the
  3555.   cursor will remain in the field until it reaches the end of the data.
  3556.   Similarly, when the cursor approaches the beginning of the field, the
  3557.   remaining data will automatically scroll rightward into view, and the
  3558.   cursor will remain in the field until it reaches the end of the data.
  3559. #20403#
  3560.  
  3561.   All Memo fields are automatically Windowed fields since the permissable
  3562.   Memo field length (5000) is much longer than the longest possible form
  3563.   field.  However, there is one exception: Memo fields cannot be changed
  3564.   within the form but the first part is displayed in the form.  An external
  3565.   memo editor (MEMO.COM) must be invoked (with Alt E) during data entry to
  3566.   edit Memo fields.  This allows for use of the full screen for editing.
  3567.   When you exit the editor, the Memo field will be updated.  An intermediate
  3568.   file is used for the editing: MMxxxxxx, where xxxxxx is a random number.
  3569.  
  3570.   Alternate Forms
  3571.   ═══════════════
  3572.  
  3573.   The main form is the form that was used to create the database, and/or
  3574.   has the same filename as the database.  An alternate form has a different
  3575.   filename, and provides an alternate view to a database. It can contain any
  3576.   subset of database fields, in any order.  You can create an unlimited
  3577.   number of alternate forms, to use with even more than one database.
  3578.   Alternate forms can be used for reports, labels, or even for an alternative
  3579.   data entry screen.
  3580. #20404#
  3581.  
  3582.   Alternate Forms as Reports
  3583.   ══════════════════════════
  3584.  
  3585.   A report differs from a form because more than one instance (record) of
  3586.   information can be presented on a single page.  For example, with a
  3587.   database of customers, the data entry form shows only one customer.  To
  3588.   print a report that lists customers by name, with many customers per
  3589.   page, you will need to create an alternate form that will lay out the
  3590.   data for one customer on that page.  When printing a report, each page is
  3591.   filled with as many forms as will fit, one per customer.  The report form
  3592.   might be 2 lines by 80 columns, and contain the customer's name and phone
  3593.   number on the first line, and nothing on the second line.  The blank
  3594.   second line provides a blank line between customers on the printout, to
  3595.   improve readability.
  3596. #20405#
  3597.  
  3598.  
  3599.   Alternate Forms as Labels
  3600.   ═════════════════════════
  3601.  
  3602.   Labels are very similar to reports.  The only differences pertain to
  3603.   creating professional looking labels.  The label printing commands are
  3604.   able to respace information on a label, thereby removing extraneous blanks
  3605.   and creating a natural appearance.  In addition, the Print - Labels
  3606.   command can print labels 1, 2, or 3, etc. accross, for use with Cheshire
  3607.   or other similar labelling systems.
  3608. #20500#
  3609.  
  3610.                                INDEXES
  3611.                                ═══════
  3612.  
  3613.   An index defines the record access order.  Indexes can be defined with
  3614.   any combination or parts of fields.  Up to 12 indexes can be retained
  3615.   in the database's Index List, assuming the DOS config.sys file contains a
  3616.   'FILES=20' command.  The Index List defines all indexes to be used with a
  3617.   database.  Only 1 index can be active at any time, but all indexes in
  3618.   the Index List are updated whenever records are added or modified.  The
  3619.   Index List is stored in the .dbr (database definitions) file.  The index
  3620.   that automatically becomes active whenever the database is selected, is
  3621.   called the Default Index, and is delineated by an 'D' in the selection box.
  3622.  
  3623.   Index Creation
  3624.   ══════════════
  3625.  
  3626.   The Index - Create command will create a new index file from a given
  3627.   expression.  When complete, the index's file name will be added to the
  3628.   Index List.
  3629. #20501#
  3630.  
  3631.   The expression must be the kind that evaluates to a Character or Numeric
  3632.   type.  Logical expressions are only used for selection criteria.  Memo
  3633.   fields cannot be used in an index expression.  The result of the expression
  3634.   on a given record is the index key for that record.  The result must be of
  3635.   proper type and cannot be longer than 100 characters.
  3636.  
  3637.   A filename for the index file is required.  If the filename already exists
  3638.   in the Index List or in the specified directory, a warning is given before
  3639.   the file is overwritten.
  3640.  
  3641.   Index files can be setup to allow only unique keys.  In this case, any
  3642.   duplicate keys encountered during index creation will halt the creation
  3643.   process, with an error, indicating what record contains the duplicate key.
  3644.   In addition, duplicate key values will cause an error after adding or
  3645.   revising a record.  Records with key values already in the index file
  3646.   cannot be entered.
  3647.  
  3648.   For example, to create an index that will display records in the order
  3649.   indicated by the contents of a field named LAST_NAME, the expression
  3650.   would simply be:    LAST_NAME
  3651. #20502#
  3652.  
  3653.   Index Maintenance
  3654.   ═════════════════
  3655.  
  3656.   Index - Select allows you to select a new current index from the index
  3657.   list.  The current index is the index that controls the order in which
  3658.   records are displayed.
  3659.  
  3660.   Index files can be added to the Index List by using the Index - Create
  3661.   or the Index - Include command.  Index files can be deleted from the list
  3662.   by using the Index - Erase command.  The Index - Default command will
  3663.   mark a new default index.  If there is an error when initially accessing
  3664.   the default index file, no index is automatically active.
  3665.  
  3666.   Index - Off turns off all indexed record access.  This allows the records
  3667.   to be displayed in chronological order.  When a database is first created,
  3668.   no indexes exist for it and the Index List is empty.  All displays show the
  3669.   records in chronological order, i.e., the order in which the records were
  3670.   entered.  Once the first index is created, it becomes the default index.
  3671.   Whenever the database is selected via the Database - Open command, the
  3672.   default index is active.  The only way to go back to a chronological index
  3673.   is either by using the Index - Erase command to erase the index or by using
  3674. #20503#
  3675.  
  3676.   the Index - Off command to turn off all indexes.
  3677.  
  3678.   Turning off indexed record access is a way to speed up the Find command, 
  3679.   since it normally searches using the active index.
  3680.  
  3681.   Index Integrity
  3682.   ═══════════════
  3683.  
  3684.   If all indexes were created with EZFDB, files were never moved or deleted,
  3685.   and no disk errors occured during file updates, all would be fine.
  3686.   Dream on.  Errors and mistakes will occur.  EZFDB cannot always determine
  3687.   when an index file is invalid.  Occasional checks are made where possible.
  3688.   Here are some examples of when the index file is partially checked for
  3689.   validity:
  3690.  
  3691.     1) When a database is initially selected, the database file and all its
  3692.        Index List indexes are opened.  When an index file is opened, the
  3693.        expression that was used to create the index file is checked against
  3694.        the database for valid field names and field types.
  3695. #20504#
  3696.  
  3697.     2) When an index is active, the index helps determine which record to
  3698.        display.  A particular entry in the index file corresponds to a
  3699.        record in its database.  If the corresponding record no longer exists
  3700.        or it has a different key value, an error will occur.
  3701.     3) When a record is accessed by number, the index file is not needed.
  3702.        After the record is retreived however, the key is determined and
  3703.        found in the index file to setup the next indexed access.  An error
  3704.        will occur when the key is not found in the index file, or when the
  3705.        key points to a different database record.
  3706.  
  3707.   The Index - Rebuild command will rebuild one or all of the index files that
  3708.   are in the Index List.  Rebuilding the index files is usually only
  3709.   necessary when one of the files has been damaged or the database has been
  3710.   modified without the corresponding modification made to the index files.
  3711. #20700#
  3712.  
  3713.                                PRINTING
  3714.                                ════════
  3715.  
  3716.   EZ-Forms DataBase supports various laser, dot matrix, and daisy wheel
  3717.   printers such as the HP LaserJet, Epson, IBM, and compatibles.  This
  3718.   support includes graphics and print attributes such as bold and underline.
  3719.   Most other printers can be used with the Generic printer driver, which
  3720.   uses plain ASCII instead of graphics characters.  If EZFDB doesn't support
  3721.   your printer well-enough, you can edit the codes in one of the built-in
  3722.   drivers, and create a customized driver.
  3723.  
  3724.   You can print a form from the main menu by using one of the Print options,
  3725.   or by pressing Alt P while in a form display mode.
  3726.  
  3727.   EZ-Forms DataBase does not require you to define your printer type before
  3728.   you can print.  The Generic printer driver is the automatic default.
  3729.  
  3730.   Here are some notes to help keep your association with EZ-Forms DataBase
  3731.   forms printing on a friendly basis.
  3732. #20701#
  3733.  
  3734.   1.  Most printers can print 66 lines per page.  To print a full-page form,
  3735.       we recommend using 64 lines x 80 columns, which allows a couple of
  3736.       extra lines at the end to compensate for paper alignment.  Adjust your
  3737.       printer so the first line prints at the VERY top of the page. If you
  3738.       don't, some of the forms may spill over onto the next page.
  3739.  
  3740.   2.  Some printers have micro-justification (usually controlled by a switch
  3741.       inside  the  printer).   Make sure this switch is off before using
  3742.       EZ-Forms DataBase (usually this means turning off the switch AND
  3743.       turning the printer off and back on).  If your printer uses micro-
  3744.       justification, then the right border of the printed form will NOT line
  3745.       up vertically.
  3746.  
  3747.   3.  If you do not have an Epson, IBM, or LaserJet or compatible, then you
  3748.       can't use the compressed print mode. See the printer configuration
  3749.       area (Config-Printer) for a current list of printers.
  3750.  
  3751.   4.  The Config-Printer command will allow you to set up the codes needed
  3752.       for almost any printer.
  3753.  
  3754.   5.  Some laser printers may require you to first print the form to a file
  3755. #20702#
  3756.  
  3757.       via the 'T' option in the Print Setup menu.  Then after proper printer
  3758.       initialization, you can print the ASCII file from DOS with the command:
  3759.       COPY "filename" PRN (or LPT1:, COM1, ETC.).
  3760.  
  3761.   6.  EZ-Forms DataBase directly supports the HP LaserJet and compatible
  3762.       printers.  Solid vertical and horizontal lines are printed.  Multiple
  3763.       fonts and graphic images on form are available with the optional HP
  3764.       LaserJet Fonts and Graphics Support Pack (HPLJFGSP), explained on the
  3765.       next few screens.  This pack also allows use of the Print - Preload
  3766.       command, which speeds up the printing process by loading the fonts,
  3767.       graphics and form to the printer only once.
  3768.  
  3769.   7.  Using preprinted forms:  EZ-Forms DataBase has a Clear Forms Overlay
  3770.       (CFO) selection on the Print Setup menu, which allows you to easily
  3771.       use preprinted forms.  To use this feature, first create a form to act
  3772.       as the template.  Make sure that all of the fields match or align with
  3773.       those on your preprinted form.  Create a new database with this form
  3774.       and enter a test record.  When printing the test record, select C for
  3775.       Clear Forms Overlay.  This will ensure only the unprotected area (text
  3776.       you just typed in) will be printed.  The form outline is protected, so
  3777.       it doesn't print!
  3778. #20703#
  3779.  
  3780.                 HP LaserJet Fonts and Graphics Support Pack
  3781.                 ═══════════════════════════════════════════
  3782.  
  3783.   EZX Publishing now offers fully integrated Soft Fonts for use with the HP
  3784.   LaserJet+, II & III series of laser printers.  With this optional support
  3785.   package, EZ-Forms DataBase supports 16 groups of downloadable soft fonts.
  3786.   The Print - Preload command will download all used soft fonts, graphics,
  3787.   and the form, in order to speed up subsequent printing.  Each of the 16
  3788.   groups is based on normal/small text, 6/8 lines per inch, normal/very dark
  3789.   text, and portrait/landscape orientation.  Within each group you can have
  3790.   10 fonts, 00 being the default font and 01-09 being additional fonts you
  3791.   can access within any given form.  The naming convention is:
  3792.  
  3793.   Fnt00N6N.SFP
  3794.      │││││ │ │                                                      
  3795.      ╘╡│││ ╘═╧═ Soft font portrait (SFP) or soft font landscape (SFL)
  3796.       │││╘═════ Normal (N) or very dark (V) text/graphics
  3797.       ││╘══════ 6 or 8 lines per inch
  3798.       │╘═══════ Normal (N) 10 cpi or small (S) 17 cpi text/graphics
  3799.       ╘════════ Font number (00 is default), range 00-09
  3800. #20704#
  3801.  
  3802.   This provides 16 possible font groups:
  3803.  
  3804.   Fnt00n6n.SFP  10 cpi, 6 lpi, normal darkness, portrait
  3805.   Fnt00s6n.SFP  17 cpi, 6 lpi, normal darkness, portrait
  3806.   Fnt00n6v.SFP  10 cpi, 6 lpi, very dark text/graphics, portrait
  3807.   Fnt00s6v.SFP  17 cpi, 6 lpi, very dark text/graphics, portrait
  3808.   Fnt00n8n.SFP  10 cpi, 8 lpi, normal darkness, portrait
  3809.   Fnt00s8n.SFP  17 cpi, 8 lpi, normal darkness, portrait
  3810.   Fnt00n8v.SFP  10 cpi, 8 lpi, very dark text/graphics, portrait
  3811.   Fnt00s8v.SFP  17 cpi, 8 lpi, very dark text/graphics, portrait
  3812.   Fnt00n6n.SFL  10 cpi, 6 lpi, normal darkness, landscape
  3813.   Fnt00s6n.SFL  17 cpi, 6 lpi, normal darkness, landscape
  3814.   Fnt00n6v.SFL  10 cpi, 6 lpi, very dark text/graphics, landscape
  3815.   Fnt00s6v.SFL  17 cpi, 6 lpi, very dark text/graphics, landscape
  3816.   Fnt00n8n.SFL  10 cpi, 8 lpi, normal darkness, landscape
  3817.   Fnt00s8n.SFL  17 cpi, 8 lpi, normal darkness, landscape
  3818.   Fnt00n8v.SFL  10 cpi, 8 lpi, very dark text/graphics, landscape
  3819.   Fnt00s8v.SFL  17 cpi, 8 lpi, very dark text/graphics, landscape
  3820.  
  3821.   Note:  Each font group can have up to 10 fonts, 00-09.
  3822.  
  3823. #20705#
  3824.  
  3825.   Each font may optionally have its horizontal and vertical motion index
  3826.   adjusted.  EZ-Forms DataBase uses a file with the same name as the font
  3827.   except ending with HMP (portrait)/HML (landscape) to designate an ASCII
  3828.   file that contains an ASCII number for modifying the character spacing
  3829.   for a font.  If no file exists then EZ-Forms DataBase assumes no motion
  3830.   modification is required.  Refer to your HP LaserJet technical reference
  3831.   manual for details on horizontal (HMI) and vertical (VMI) motion indexes.
  3832.  
  3833.   Font 00, the default font, is used for the form outline and for all text
  3834.   that doesn't have another font specified thru the EZ-Forms character
  3835.   attribute functions.  It also determines the inter-line spacing for any
  3836.   other (01-09) loaded font.
  3837.  
  3838.   Any font may be renamed to fit into the EZ-Forms DataBase naming
  3839.   conventions.  However, most fonts don't provide the character graphics
  3840.   symbols that allow the lines in the form to be drawn.  All of the EZX Soft
  3841.   Fonts in the font support package provide this capability.
  3842. #20706#
  3843.  
  3844.   Print macros are also supported.  Print macros are predefined sequences of
  3845.   commands for your printer that can be triggered by sending a simple escape
  3846.   sequence (see your HP LaserJet technical reference manual for more info).
  3847.   These are used for printing things like logos for letterhead and printing
  3848.   someone's signature. Unlike soft fonts, print macros have to be completely
  3849.   designed and defined with a macro ID (01-15) prior to you being able to
  3850.   reference them within a form.
  3851.  
  3852.   Print macros must be named MACROxxy.HPM  where xx is the macro ID and y is
  3853.   either P (portrait) or L (landscape).
  3854.  
  3855.   Print macros are selected within a form thru the use of the Greek
  3856.   characters.  The first Greek character triggers print macro 01, the second
  3857.   Greek character print macro 02, etc.  The Alt-Z command during data entry
  3858.   allows selection of Greek characters.
  3859.  
  3860.   Print macros can't have a shaded background. This is intentional because a
  3861.   print macro is a graphic image of an item.  The graphic image will already
  3862.   contain any shading desired when it is designed.
  3863. #20707#
  3864.            BASIC OVERVIEW OF HOW TO USE THE SOFT FONTS FOR PRINTING
  3865.            ════════════════════════════════════════════════════════
  3866.  
  3867.   The following is an overview of printing when using the optional EZX Soft
  3868.   Fonts with printer type E selected (HP LaserJet+, II, III or compatible).
  3869.  
  3870.   1.  EZFDB searches your form for "Greek characters"- αßΓπΣσµτΦΘΩδ∞φε - and
  3871.       then downloads to your printer the print macro referenced by the Greek
  3872.       character. The first Greek character references the first print macro,
  3873.       the second Greek character references the second print macro, etc.
  3874.   2.  EZFDB searches your form for any fonts referenced.  It then downloads
  3875.       to your printer Font 00 plus any additional fonts the form references.
  3876.   3.  EZFDB is now ready to start printing. It prints the outline using Font
  3877.       00.  Any other font is used on additional passes.  EZFDB selects the
  3878.       Font 00 and goes to the line and column of the next text using a
  3879.       different font (other than 00).  It will then print all the contiguous
  3880.       characters/text using that font.  At the next font switch EZFDB again
  3881.       switches to Font 00, goes to the proper line/column within your form,
  3882.       and starts printing using the new font.  This allows you to easily
  3883.       line up text vertically using a multitude of different fonts.  Unless
  3884.       you are aware of this process, you could be a little confused over how
  3885.       multiple font printing is accomplished.
  3886. #20708#
  3887.  
  3888.   4.  The background shading is now done.  EZFDB uses the lightest character
  3889.       graphic symbol to add a shaded background  (characters with a Alt B)
  3890.       attached.  On printer drivers  other than E, the Alt B allowed you to
  3891.       bold a character.  This capability is still retained but you have to
  3892.       use a different font for bold text when using this printer driver.
  3893.   5.  Print macros are now printed.  EZFDB goes thru your form line by line,
  3894.       directing your printer to print any print macros it finds.  Please note
  3895.       that if you direct EZFDB to use a print macro and it wasn't available
  3896.       for downloading earlier in this process, nothing will print.
  3897.  
  3898.   Warning:
  3899.  
  3900.   EZFDB makes multiple passes to produce a composite, which is the printed
  3901.   form that comes out of your printer.  Your printer can handle only a
  3902.   maximum number of characters per line and a maximum number of lines per
  3903.   page based on the fonts and orientation you select.  If you try to print a
  3904.   form bigger than will fit on a single page, you may get multiple pages -
  3905.   each with a portion of one of the passes.
  3906.  
  3907.   To print correctly, your form MUST fit on a single page based on the fonts
  3908.   and orientation selected.  Trial and error may sometimes be necessary.
  3909. #20800#
  3910.  
  3911.  
  3912.   Unable to run the file EZXINFO.EXE.  Exit to DOS, and run EZXINFO.EXE
  3913.   directly.  If EZXINFO.EXE is not in your current directory, it can be
  3914.   copied from the original Full System Disk.  The following screen contains
  3915.   a list of EZX products.  Run EZXINFO.EXE from DOS for more product
  3916.   details and ordering information.
  3917.  
  3918.  
  3919.   EZX Publishing
  3920.   Publishers of the EZ Series
  3921.   P.O. Box 58177
  3922.   Webster, TX 77598 USA
  3923.  
  3924.  
  3925.   Valueware/TestDrive versions of all our programs are available from our
  3926.   EZ-HOST BBS.
  3927. #20801#
  3928.                                  EZX PRODUCTS
  3929.                                  ════════════
  3930.  
  3931.   EZ-FORMS DATABASE v2.6 inFORMation processing at its best. $189+s/h
  3932.   EZ-FORMS EXECUTIVE v2.5 the ULTIMATE forms manager --- Only $129+s/h
  3933.   EZ-FORMS PLUS the ORIGINAL forms processor and manager --- Only $69+s/h
  3934.  
  3935.   Forms Combo Pack (Over 500 forms! Only $99 w/EZFX or $119 w/EZFL +s/h
  3936.   Laser Font Support v2.4 for HPLJ+, etc. (Requires EZFX 2.4) -- Only $99+s/h
  3937.   Laser Font Support v1.2 for HPLJ+, etc. (free w/EZFX,EZFL,EZFDB), $29 w/EZS
  3938.  
  3939.   EZ-DiskCopy PRO v2.0 copies ALL 5.25 & 3.5 disks, serializes, etc. Replaces
  3940.     dedicated duplicators.  $495+s/h NCP,10 machine OR $139+s/h CP,1 machine.
  3941.  
  3942.   EZ-SPREADSHEET "The Ultimate Spreadsheet" -- Only $49+s/h
  3943.   EZX-WORD v3.0 Great WS compatible wordprocessor. -- $49+s/h
  3944.  
  3945.   (s/h add, $6 USA/48, $12 AK, HI, PR, APO, FPO, VI, Canada, $22 foreign.)
  3946.   Pricing and terms are subject to change without notice.  Code 4/1/91
  3947.   All product names are trademarks (tm) of EZX Corporation.
  3948. #20900#
  3949.  
  3950.  
  3951.   Unable to run the file SUPPORT.EXE.  Exit to DOS, and run SUPPORT.EXE
  3952.   directly.  If SUPPORT.EXE is not in your current directory, it can be
  3953.   copied from the original Full System Disk.  The following screen contains
  3954.   information about technical support.  Run SUPPORT.EXE from DOS for further
  3955.   details.
  3956.  
  3957.  
  3958.   EZX Publishing
  3959.   Publishers of the EZ Series
  3960.   P.O. Box 58177
  3961.   Webster, TX 77598 USA
  3962.  
  3963.   Voice: 1-713-280-9900
  3964.   FAX:   1-713-280-0525
  3965.   Info/OrderBBS: 1-713-280-8180 (1200/38400 N81)  EZ-HOST BBS
  3966.  
  3967.   Valueware/TestDrive versions of all our programs are available from our
  3968.   EZ-HOST BBS.
  3969. #20901#
  3970.  
  3971.                              BASIC SUPPORT POLICY
  3972.                              ════════════════════
  3973.  
  3974.   We provide technical support to all registered users of our products. We 
  3975.   provide the support to the INDIVIDUAL who filled out, signed, and sent in
  3976.   the original registration card.  This applies even to copies of the program
  3977.   purchased by companies. Please read all of the information on the
  3978.   registration card (we provide 2 copies, 1 to send in, and 1 to keep) as to
  3979.   terms, length of support period, etc. Basically, registrations are not
  3980.   transferrable as we can only "train" one individual per program purchased.
  3981.   IF you have arranged for Extended or Priority Support, refer to the
  3982.   documents you received.
  3983.  
  3984.  
  3985.   EZX Publishing
  3986.   Publishers of the EZ Series
  3987.   P.O. Box 58177
  3988.   Webster, TX 77598 USA
  3989.  
  3990.   Voice: 1-713-280-9900
  3991.   FAX:   1-713-280-0525
  3992.   Info/OrderBBS: 1-713-280-8180 (1200/38400 N81)  EZ-HOST BBS
  3993. #21100#
  3994.  
  3995.   Command menu:
  3996.  
  3997.   All the Form Editor commands can be entered directly within the editor.
  3998.   Many of the commands can also be entered thru this pulldown command menu.
  3999.   The pulldown command menu may be called up thru either Escape or F10.
  4000.   If you use the F10 key to call up the command menu, then the previous
  4001.   command or state of the menu is used.  You will probably want a command in
  4002.   the general area of your last choice so this is saved between uses.
  4003.  
  4004.   You will notice the command menu has a help window at the bottom of the
  4005.   screen that expands on what will happen if you choose that option.  Many
  4006.   of the commands can be entered without calling up the command menu.
  4007.   If there is a command sequence shown at the end of the help window, you
  4008.   could have entered it instead of calling up the command menu.  Example:
  4009.   Help for BlockOps - Start block shows a (Alt S).  That means you can press
  4010.   Alt S directly in the editor to mark the beginning of a block INSTEAD
  4011.   of going thru this menu.
  4012. #21300#
  4013.  
  4014.   The block operations in the EZ-Forms DataBase Form Editor are laid out in
  4015.   four logical groups. These are:
  4016.  
  4017.   (1) Those dealing with moving text around in your form  --  Alt M (move),
  4018.       Alt C (copy), and Alt D (delete)
  4019.   (2) Those dealing with attributes/fields  --  Ctrl A (attribute add) and
  4020.       Ctrl E (attribute erase)
  4021.   (3) ASCII file read and write  --  Ctrl R (read) and Ctrl W (write).
  4022.   (4) Block enable/disable -- make visible (Alt V) or hide a block (Alt H).
  4023.  
  4024.   These four groups allow you to work on the marked portion of the form.
  4025.   This marked portion (block) is laid out as a rectangle.  You must mark
  4026.   the diagonal corners of the rectangle with the Alt S being the upper left
  4027.   corner (start) and the Alt E being the lower right corner (end).  You will
  4028.   then be able to work with just this small section of the form for - Alt C,
  4029.   Alt M, Alt D, Ctrl A, etc.
  4030. #21400#
  4031.  
  4032.   To write a form to an ASCII file, type Ctrl W (for write).
  4033.  
  4034.   With this command, you take the form you see in front of you and write it
  4035.   to a disk file, in a standard format that word processors and other
  4036.   packages can read.  All special control codes that EZ-Forms uses are
  4037.   removed as the file is written.
  4038.  
  4039.   Many word processors can't handle character graphics like ┼  ▓  ▒ ┐ and │.
  4040.   Because of this, EZ-Forms provides a translation capability that translates
  4041.   these characters into normal characters, which somewhat look like the
  4042.   character graphics symbols.  Example: ┼ becomes a + after translation.
  4043.  
  4044. #21401#
  4045.  
  4046.   To read an ASCII file, press Ctrl R (for read).
  4047.  
  4048.   This command reads a standard text file from disk into your form.  Any
  4049.   strange characters like î, û, etc., will be automatically translated to
  4050.   spaces before they are inserted into your form.  Many word processors put
  4051.   these strange characters into the file to keep track of paragraphs, new
  4052.   lines, etc.
  4053.  
  4054.   You have the option of loading the file at the current cursor location,
  4055.   or into the marked area.  An area is marked with the block operations
  4056.   (Alt S and Alt E).
  4057.  
  4058.   The starting point is either the current cursor location, or the start of
  4059.   the marked area.  For example, if the starting point is at line 2, column
  4060.   2, then the file will be read into your form starting at this location.
  4061.   The second line will be read into line 3, column 2, etc.  When reading
  4062.   into the marked area, nothing will be loaded outside of it.
  4063. #21600#
  4064.  
  4065.   Fields allow you to "jump" between data entry areas in a form, and to
  4066.   protect areas of a form that don't contain any text.  A special character,
  4067.   the tilde ~, is used to allow this.
  4068.  
  4069.   In the form, use the ~ key (Yes, it really is on your keyboard.), to fill
  4070.   all the areas where you DON'T want any data entered.  You can fill areas
  4071.   by hand with the ~ key, or use the quick and easy block operations.  To
  4072.   use the block operations, first mark a block with Alt S and Alt E.  You
  4073.   can then use Ctrl A to add field markers, or Ctrl E to erase field markers
  4074.   in the marked area.  You can use F3 and F4 to insert and delete field
  4075.   markers for the entire form.
  4076.  
  4077.   Once you have field markers set up in the form, save it, and use the
  4078.   Database - New command to create a new database with it.  Then use the
  4079.   Revise - Add command to enter a new record.  Note how the Enter, Tab,
  4080.   Shift Tab (backtab) and cursor keys move between data entry fields.
  4081.  
  4082.   Note: The ~s won't appear when printing, so use them freely.
  4083. #END#
  4084.