













                 _____________________
               /                       \
              /     DDFile              \______________________________
             |                                                         |
             |_________________________________________________________|
             |                                                         |
             |                                                         |
             |               DOCTOR DATA File (tm) v6.0                |
             |                                                         |
             |                  Released March, 1993                   |
             |                                                         |
             |                 (C) Copyright 1987-1993                 |
             |                                                         |
             |                   All Rights Reserved                   |
             |                                                         |
             |                                                         |
             |                                                         |
             |                  DOCTOR DATA SOFTWARE                   |
             |                                                         |
             |                     P.O. Box 11368                      |
             |                                                         |
             |                 Phoenix, AZ 85061-1368                  |
             |                                                         |
             |                     (602) 246-8907                      |
             |                                                         |
             |_________________________________________________________|


                                 TABLE OF CONTENTS


             CHAPTER 1 Introduction .............................  5
                 Highlights from DOCTOR DATA File ...............  6
                 Order Form .....................................  8
                 README.TXT .....................................  9
                 Disclaimer .....................................  9
                 System Requirements ............................  9
                 Running DOCTOR DATA File .......................  9
                 Users of DDLabel ............................... 10
                 Installing DOCTOR DATA File .................... 10

             CHAPTER 2 Getting Started .......................... 12
                 Select or Close a Database ..................... 12

             CHAPTER 3 Editing and Adding Records ............... 14
                 Design Screen & Position Fields ................ 14
                 Browse Records ................................. 14
                 <Alt-Z>ippy: ON/OFF/NOT PRESENT ................ 15
                 <Alt-F>ilter: ON/OFF/NOT PRESENT ............... 15
                 <Alt-I>ndex: # ................................. 15
                 <Alt-M>arked: ON/OFF / xxx ..................... 16
                 Add a New Record to Database ................... 18
                 GoTo Specified Record(s) ....................... 19
                 Mark Specified Record(s) ....................... 20
                 Unmark Specified Record(s) ..................... 21
                 Delete All Marked Records ...................... 21
                 Seek/Search Field Data ......................... 22
                 Dial Phone Number on Modem ..................... 22
                 View Records in Browse Mode .................... 22
                 Carry-Over from Prior Record ................... 23
                 Print Letters/Labels/Lists ..................... 23
                 Edit Memo Fields ............................... 23
                 Notepad ........................................ 24
                 State Abbreviations ............................ 25
                 Design Screen & Position Fields ................ 25
                     Design Screen .............................. 25
                     Position Fields ............................ 26
                     Define Picture ............................. 26

             CHAPTER 4 Creating a Filter ........................ 28
                 Create New Filter .............................. 29
                     Marked Records ............................. 29
                     Field Data ................................. 29
                 Set Filter ON/OFF .............................. 31
                 Continue Filter / Not Available ................ 31

             CHAPTER 5 Creating and Selecting Index Files ....... 32
                 Create new Index ............................... 32
                 Set Controlling Index .......................... 33
                 Select Index Files ............................. 33



                                 TABLE OF CONTENTS
                 

             CHAPTER 6 Printing ................................. 35
                 Printing Labels, Letters and Lists ............. 35
                     Template : Template Name ................... 35
                     Edit/Add/Delete Templates .................. 35
                         Edit ................................... 35
                         Add .................................... 36
                         Delete ................................. 36
                         Import ................................. 36
                     Select Template Type ....................... 36
                     Labels across .............................. 36
                     Spaces between labels ...................... 36
                     Label width in spaces ...................... 36
                     Lines per label ............................ 37
                     Lines per record ........................... 37
                     Sheet Feeder? .............................. 37
                     Skip lines top of page ..................... 38
                     Labels per page ............................ 38
                     Records per page ........................... 38
                     1 or X for each record ..................... 38
                     Print All/Part of Database ................. 38
                     Print Only Current Record .................. 39
                     Print Labels/Letters/Lists ................. 39
                     Zip Bulk Labels ............................ 39
                     Zip+4 Bulk Labels .......................... 40
                     Carrier Route Bulk Labels .................. 41
                     Set Printer ................................ 41
                     Start at first Record ...................... 41
                     Print every Nth record ..................... 42
                     Pause every Nth record ..................... 42
                     Display count? (Y/N) ....................... 42
                     Direct output to: .......................... 42
                     Printing Postcards and Envelopes ........... 42
                     Filling in a Template ...................... 43
                         <Alt-F>ield Macros ..................... 43
                         <Alt-S>pecial Macros ................... 43
                         <Alt-P>rinter Macros ................... 45
                     Sample Templates ........................... 45
                 Printing Reports ............................... 48
                     Zip Bulk Report ............................ 48
                     Zip+4 Bulk Report .......................... 49
                     Carrier Route Bulk Report .................. 49
 
             CHAPTER 7 Searching for Duplicates ................. 50

             CHAPTER 8 Importing and Exporting .................. 51
                 Import...  dBASE III ........................... 52
                            ASCII SDF ........................... 54
                            ASCII Delimited ..................... 56
                 Export...  dBASE III ........................... 56
                            ASCII SDF ........................... 56
                            ASCII Delimited ..................... 56


                                 TABLE OF CONTENTS


             CHAPTER 9 Creating or Modifying a Database ......... 57
                 Copy Current File Structure .................... 57
                 Create a New Database .......................... 57
                 Modify an Existing Database .................... 57

             CHAPTER 10 File Management ......................... 60
                 Copy ........................................... 60
                 Rename ......................................... 60
                 Delete ......................................... 60
                 Edit ........................................... 60

             CHAPTER 11 Miscellaneous Utilities ................. 61
                 Search and Replace ............................. 61
                 Convert UPPER/lower Case ....................... 61
                 Modify Field Order ............................. 61
                 Search Zippy Database .......................... 62

             CHAPTER 12 General Setup ........................... 63
                 System Information ............................. 63
                 Select Screen Colors ........................... 64
                 Set Modem Parameters ........................... 64
                 Field Assignment ............................... 65
                 Install Printer(s) ............................. 66
                 Select Printer ................................. 67
                 Bar Code Printer Emulation ..................... 67

             Appendix A  The CONFIG.SYS File .................... 68
             Appendix B  Direct output to: ...................... 69

             GLOSSARY ........................................... 71


                                                                    Page  5

        -------------------------------------------------------------------
        ----------            CHAPTER 1  Introduction            ----------
        -------------------------------------------------------------------

        Welcome to DOCTOR DATA File, a comprehensive, professional and
        user-friendly datadase manager for mailing lists, sales management,
        hobbies, or anything else.  Up to 1 BILLION records can be stored
        in a single database (dBASE III) file up to your drive's capacity.

        We encourage and welcome you to evaluate this program to see if it
        will meet your database management needs.  This version of DOCTOR
        DATA File is Shareware, meaning that you may share copies with
        others for their evaluation.  However, this program is NOT FREE
        SOFTWARE! If you paid a Shareware distributor for this program you
        paid for the cost of distribution - not for the program itself. As
        you find this program useful and continue to use it, you are
        required by law to register by completing and returning the order
        form in this manual or call (602) 246-8907. If you continue to use
        this program without registering, you are destroying the shareware
        concept of marketing software. And if enough people did this,
        shareware would cease and desist.
        
        Since August of 1987 we've been developing DOCTOR DATA Label
        (DDLabel), a highly rated mailing list manager. Through the years
        we have been complimented for the mailing list management features
        in DDLabel but have often been asked if the database can be
        modified to include another phone number field, date field, etc..
        The answer sadly was always no... until now!

        DOCTOR DATA File (DDFile) is an update from DDLabel and is now MUCH
        more than just a mailing list manager. With the introduction of
        DDFile, the mailing list management features from DDLabel have been
        greatly enhanced PLUS you have complete control in creating and
        modifying dBASE III files with user-friendly menu selections.

        No matter what your database management need may be, from a
        Christmas list to mass mailings, from recipes to coin or stamp
        collections, DDFile can handle the job.

        If you have questions as to whether something can be done with
        DDFile, or if you have any suggestions on the program or this
        manual, we want to hear from you. Also, if you don't understand
        some of the terms used, don't be alarmed. They will all be
        explained in this manual. This program was written for the novice
        computer user as well as the professional.

        Thank you




                                                                    Page  6

        -------------------------------------------------------------------
        Highlights from DOCTOR DATA File
        -------------------------------------------------------------------

        * Perhaps the one most important feature in a database manager is
          the ability to easily edit, add, delete, and locate records. This
          is one of DDFile's most powerful features carried over from
          DDLabel.

        * Use one of the database files provided or custom design one to
          fit your particular needs. You are not required to use any fields
          you don't want.

        * Choose from over 430 printers from our master printer driver file
          for custom printouts (available with registration).

        * For all of you who are in sales and need to make call-backs, our
          Tickler feature allows you to easily locate records of customers
          who need to be contacted.

        * Easily imports and exports most other lists. (dBASE III, ASCII
          Delimited, or ASCII SDF).

        * Any label you have will work with DDFile, even if a completely
          new one were to come out tomorrow. You can fully customize the
          data to print on any size labels (up to 9 across), postcards,
          Rolodex cards, any size forms, stationary or anything else that
          will go through your printer.

        * Save 20% to 27% on postage costs using zip + 4 POSTNET bar codes.
          Requires HP Laserjet II, HP Deskjet, Epson (9 or 24 pin), IBM
          Proprinter (9 or 24 pin), Toshiba (24 pin), Okidata Microline
          Standard or any other printer that will emulate any of these.

        * DDFile can print bulk and carrier route reports to accompany your
          mailings.

        * Use our built-in editor to create form letters and master
          lists/reports or easily import your own.

        * Duplicate records can be looked for either before or after they
          are entered. The search is quickly done on up to 5 fields at a
          time.

        * Duplicate records can either be automatically or manually
          deleted.

        * Filter a file to create a sub-set of records based on field
          content such as all Smith's in zip code 12345 or individually
          select them as needed.




                                                                    Page  7

        * Create up to 15 index files per database to sort your records any
          way you like. These files are updated and selected automatically
          each time you select a database.

        * DDFile uses dBASE III compatible files which means they may be
          accessed by dBASE III or any other program that uses dBASE III
          files.

        * DDFile can automatically enter the city, state and area code into
          your records for you using Zippy(tm), our optional 49,000+ record
          database. Simply enter the zip code and the rest is done for you.
          If you enter a zip code with more than one city name, you will be
          allowed to select the city name to use. If you enter a zip code
          that belongs exclusively to a Post Office Box, "P.O. Box" will
          automatically be inserted into the street address field that you
          assign. Zippy saves about 25 keystrokes per record; paying for
          itself in time saved. You can also cross-reference Zippy to look
          up data on an area code, city or state. Zippy is available upon
          registration.

        It doesn't end here. You're going to find many more features and
        benefits in DDFile that will be hard to find in any other program.
        And if you've looked at any other programs on the market, you will
        find that you will need to spend many times the price of DDFile to
        find a comparable program. This is our goal and ambition. Thank you
        for your interest in DDFile.



                         DOCTOR DATA File v6.0 ORDER FORM

          DOCTOR DATA SOFTWARE / P.O. Box 11368 / Phoenix, AZ  85061-1368

                      Phone orders please call (602) 246-8907.

        ( ) DOCTOR DATA File Registration includes:  1) the cur-
            rent registered version (w/o registration reminders)
            2) the registered users manual, 3) 1 year FREE phone
            support, 4) over 430 printer drivers, and 5) future
            updates at discount ..................... $49 x ____ = $ ______

        ( ) Zippy, a 49,000+ record database saves approximately
            25 keystrokes per record. Upon entering the zip code
            Zippy automatically inserts the city, state and area
            code. Zippy can pay for itself in time saved and as-
            sures correct spelling. You can also cross reference
            to look up zip codes, area codes, etc. Requires hard
            drive with 2.8 to 5 MB free disk space.  Zippy is a-
            vailable only with above registration ... $25 x ____ = $ ______

                            Arizona residents add 6.7% sales tax   $ ______

                       UPS or US Mail ground Shipping & Handling   $   5.00

                       UPS 2nd DAY AIR in U.S. (lower 48) add $3   $ ______

                       Foreign orders add $5 Shipping & Handling   $ ______

                             Total U.S. funds drawn on U.S. bank   $ ______

        Payment by:  ( ) Check   ( ) M.O.   ( ) Master Card   ( ) Visa

        Credit Card # ____________________________  Expiration Date ___/___

        Signature of Card Holder __________________________________________

        Ship to:   Name ___________________________________________________

                   Company ________________________________________________

                   Address ________________________________________________

                   City, St, Zip __________________________________________

        Disk format: ( ) 5 1/4 or ( ) 3 1/2   A/C & Phone (___) ____-______

        Computer type: PC/XT  AT  386  486   Hard drive?  Y  N  Size: ___MB

        Floppy drive: (qty)  ___360Kb   ___720Kb   ___1.2MB   ___1.44MB

        Printer(s): 1 _______________  2 _______________  3 _______________

        IMPORTANT: This registration is for use on only one (1) computer at
        a time.  If purchasing more than one registration, photocopy this
        form.  The registered version of DOCTOR DATA File and Zippy are not
        shareware and therefore may not be copied and distributed freely.


                                                                    Page  9

        -------------------------------------------------------------------
        README.TXT
        -------------------------------------------------------------------
        The README.TXT file on disk contains any changes since this
        documentation was created. The README.TXT file on disk can be
        viewed via "Copy/Rename/Delete/Edit Files" in the main menu.


        -------------------------------------------------------------------
        Disclaimer
        -------------------------------------------------------------------
        DOCTOR DATA SOFTWARE has taken great care in the writing of this
        documentation and DOCTOR DATA File. In no event whatsoever will
        DOCTOR DATA SOFTWARE be liable for damages of any kind, incidental
        or consequential, in regard to or arising out of the performance or
        form of the material in this manual and in DOCTOR DATA File. DOCTOR
        DATA SOFTWARE makes NO WARRANTIES, EXPRESS OR IMPLIED, BY STATUTE
        OR OTHERWISE, REGARDING THE DISKS AND RELATED MATERIALS, THEIR
        FITNESS FOR ANY PURPOSE, THEIR QUALITY, THEIR MERCHANTABILITY, OR
        OTHERWISE.


        -------------------------------------------------------------------
        System Requirements
        -------------------------------------------------------------------
        DOCTOR DATA File version 6.0 requires an IBM PC\XT\AT\386\486 or
        compatible computer with at least 512K RAM and DOS v2.1 or later
        and two floppy drives (one of which must be at least a 720K drive).
        A hard drive is not needed (except for Zippy), however is
        recommended because of it's higher speed and larger capacity. If a
        hard drive is present, only one floppy drive (of any size) is
        required. Also, DOS version 3.30 or higher is recommended because
        of it's higher FILES setting capability (see Appendix A).


        -------------------------------------------------------------------
        Running DOCTOR DATA File
        -------------------------------------------------------------------
        The following files are distributed with DDFile. The only one
        needed to run DDFile is DDFILE.EXE. The other DDFILE files are
        created if not already existing.

        DDFILE.EXE - This is the DOCTOR DATA File program.
        DDFILE.DBF - Template Database used for printing labels, letters
                     and lists.
        DDFILE.DBT - Part of DDFILE.DBF (memo field).
        DDFILE.DEF - Default definition file.

        MANUAL     - Shareware Documentation.
        STATES.TXT - State name and abbreviation file used by DDFILE.EXE.



                                                                    Page 10

        The SAMPLE files consist of the four types of files created each
        time you create a database. The DBT file will be created and needed
        only if the database contains one or more memo fields. The
        following four files are important if you are new to computers or
        simply want to be able to start using DDFile without first creating
        and setting up a database of your own.

        SAMPLE.DBF - Sample database (same as DOCTOR DATA Label v5.0 and
                     v5.1 database)
        SAMPLE.DBT - Part of SAMPLE.DBF (memo field(s)).
        SAMPLE.DF1 - Definition memory file for SAMPLE.DBF database.
        SAMPLE.DF2 - Definition database file for field placement for
                     SAMPLE.DBF database.


        -------------------------------------------------------------------
        Users of DDLabel
        -------------------------------------------------------------------
        If you have any database files from any version of DDLabel, they
        may be easily and quickly imported into DDFile for their immediate
        usage. They do not have to be imported because they are dBASE III
        files and DDFile can access any dBASE III file. However, if you do
        not want to setup the database, you will want to import them into
        a database that is already setup. The SAMPLE.DBF file is such a
        file. It is setup just like the DDLabel files. This file is
        provided to allow easier and faster upgrading from DDLabel.

        To import your old DDLabel files into the SAMPLE.DBF file, first
        select the SAMPLE.DBF file with "Select/Close Database File" in the
        main menu. Next, select "Import/Export dB3/ASCII Files" in the main
        menu and refer to Chapter 8 for instruction on importing.


        -------------------------------------------------------------------
        Installing DOCTOR DATA File
        -------------------------------------------------------------------
        To install, simply insert DOCTOR DATA File into a floppy drive and
        make that drive the default drive by typing the drive letter, a
        colon (:) then <Enter>. At this time your system prompt should say
        "A:\>" or "B:\>".  Next, type GO and press <Enter>. Instructions
        are then given on the screen for installing and running DDFile.
        The following are some special notes for floppy disk users.

        Using a Dual Floppy System ----------------------------------------

        After installation, your "Program" disk will contain the DDFile
        program itself and must be a 720K or larger capacity disk. Your
        "Data" (work) disk is where your database and index files will be
        created and maintained and can be of any capacity.



                                                                    Page 11

        IMPORTANT: If using a dual floppy system, after selecting a
        database with "Select/Close Database File", be sure not to remove
        the data disk from the data disk drive until you either close the
        file or quit the program.  Removing the disk before it has been
        properly closed may cause unpredictable errors on your "Data" disk.

        Using a Single 720k or Larger Floppy Disk -------------------------

        DOCTOR DATA File can run on a single 720 KB or larger floppy disk.
        The program and data are both stored on one disk.  If you receive
        the disk from us, there will be no installation to do.



                                                                    Page 12

        -------------------------------------------------------------------
        ----------          CHAPTER 2  Getting Started           ----------
        -------------------------------------------------------------------

        Throughout this program you will be prompted to make a selection in
        either a menu or a directory of files. In either case a window will
        open allowing a selection to take place. This is done by
        highlighting the menu choice or file with the up and down arrow
        keys and pressing <Enter>.

        Menu choices and files may also be selected by pressing the first
        letter or number of the menu choice or file. To save space and
        redundancy in this manual, these instructions will not be given
        each time a selection is to be made. This will simply be referred
        to as making a "selection".

        The main menu consists of 12 choices. Selecting any of these may
        open sub-menus containing other menu choices or files. Pressing
        <Esc> from the main menu will prompt you with "Are you sure you
        want to Quit?" for quitting DDFile.


        -------------------------------------------------------------------
        Select or Close a Database
        -------------------------------------------------------------------
        The first selection you will most always want to make upon entering
        DDFile is "Select/Close Database File". Therefore, this is selected
        automatically upon entering the program.

        The FILES statement (see Appendix A and your DOS manual) must be
        set to 20 or greater in order to select a database. The FILES
        statement should be located in your CONFIG.SYS file which should be
        located in the root directory of your "boot" drive. If this file
        can be located you can edit it from within DDFile by selecting
        "Copy/Rename/Delete/Edit Files" from the main menu. Any changes
        made to the CONFIG.SYS file are not made effective until rebooting
        the machine. To reboot, exit DDFile then press <Ctrl>+<Alt>+<Del>.

        Before selecting a database you are asked to enter the drive and
        directory in which to look for a database file. The current drive
        and directory will display by default. Pressing <Enter> will
        display any database (DBF) files found.

        If there are no files available you will be so informed and will
        need to first create a database file or specify another drive
        and/or directory. To create a database, see "Creating or Modifying
        a Database" (chapter 9).

        After selecting a database file, any index files that were in use
        when the database was last used will be reselected automatically
        unless either the index file(s) or the database file has been
        modified in any way since its last usage in DDFile. For more on
        index files see "Creating and Selecting Index Files" (chapter 5).



                                                                    Page 13

        If you're a sales person who needs to make call-backs, DDFile will
        allow you to check your call-backs upon database selection if a
        Tickler field has been assigned (chapter 12).  You will be asked to
        enter a "Plus or Minus" number. A "Plus or Minus" number of 2, for
        example, will locate all records with a Tickler date of 2 days
        prior to the current date to 2 days following the current date. A
        "Plus or Minus" number of 0 will locate only records with a Tickler
        date matching the current date.

        After entering a "Plus or Minus" number, the search is made. If any
        records are found, you be asked if you want to tally them. Whether
        you tally the records or not, the record pointer will be positioned
        to the first record that meets the Tickler date specification. Upon
        entering "Edid/Add Records", you will see the first record meeting
        the Tickler date specification and to veiw any others, press <F3>
        then <N>. This may be repeated until there are no more records
        meeting the Tickler date specification. To view them again, press
        <F3> then <F> to go to the First record in the database then start
        over with <F3> then <N>. See "<F3> GoTo" in chapter 3.



                                                                    Page 14

        -------------------------------------------------------------------
        ----------     CHAPTER 3  Editing and Adding Records     ----------
        -------------------------------------------------------------------

        Before you can edit and/or add records to a database you must:

              1) Select a database if one has not already been selected.
                 See "Select or Close a Database" (chapter 2).

              2) A database must contain at least one field that is not a
                 memo field.

              3) At least one of these fields must be activated (positioned
                 on the screen for data entry or editing).

        If at least the first two requirements above are met, you may
        select "Edit/Add Records" in the main menu.

        If no fields have been activated, a sub-menu will appear entitled
        "No fields have been activated". The following are the two menu
        selections available from this sub-menu.

             A) Design Screen & Position Fields ---------------------------

             This selection will present a sub-menu of three other
             selections which are described later in this chapter.

             B) Browse Records --------------------------------------------

             This selection will allow you to browse the records as long as
             the database is not empty but will not allow you to access any
             of the other commands available from "Edit/Add Records".
             Browse Mode is explained under "View Records in Browse Mode"
             later in this chapter.

        After all three of the above requirements are met, you enter
        "Edit/Add Records".

        If the database contains no records, you will be notified that the
        database is empty. Pressing any key will add a blank record to the
        database.

        The status of the Filter, Index, Zippy database, and Marked records
        are displayed on lines 2 and 3 of the screen. They are selected by
        pressing <Alt-F>, <Alt-I>, <Alt-Z> and <Alt-M> respectively. The
        other selections available (besides <Alt-F1>) are listed in the
        Help sub-menu.  The instructions for using these other selections
        are displayed on the screen after pressing <F1>.



                                                                    Page 15

             <Alt-Z>ippy: ON/OFF/NOT PRESENT
             --------------------------------------------------------------
             See "General Setup" (chapter 12) to assign fields to the
             street address, city, state, zip code and area code before
             using Zippy.

             This selection will toggle Zippy ON or OFF if present. See
             Zippy under "Add a New Record to Database" for more on Zippy.

             The city, state and area code can be inserted into the
             appropriate fields of an already existing database by pressing
             <Ctrl-Z>, entering the zip code, and pressing <Enter>.


             <Alt-F>ilter: ON/OFF/NOT PRESENT
             --------------------------------------------------------------
             This selection will allow you to create or set a Filter the
             same as if selecting "Filter Create/Select" in the main menu.
             The Filter Status will display one of the following:

             1) If a filter has been created and is ON  : "ON XXX"
                (XXX = number of records in Filter)

             2) If a filter has been created and is OFF : "OFF"

             3) If no filter has been created           : "NOT PRESENT"

             See "Creating a Filter" (chapter 4) for complete instruction
             on creating and setting a Filter.


             <Alt-I>ndex: # X
             --------------------------------------------------------------
             This selection will allow you to create or select index files
             the same as "Index Create/Select" in the main menu. This
             command is available from both locations as is Printing and
             Filtering to make them all more convenient to use.

             The # (hash or pound) sign represents the index order. The
             index order is the number of the currently active
             (controlling) index file. If, for example, three index files
             were selected and if the second one was selected as the
             controlling index, the index order would be 2. If no index
             file is activated or selected, the Index order would be 0
             which is natural record order. Natural order is the order in
             which the records were entered into the database i.e. 1, 2, 3,
             4, etc.. See "Creating and Selecting Index Files" (chapter 5).



                                                                    Page 16

             <Alt-M>arked: ON/OFF : XXX
             --------------------------------------------------------------
             This command will toggle Marked records ON or OFF. If marked
             records are ON, they can be viewed. If marked records are OFF,
             they can not be viewed and will be hidden from printouts,
             reports, etc. See the "<F4> Mark" and "<F5> Unmark" commands
             for more on marking and unmarking records. The XXX represents
             the number of Marked records in the database.


        On the 4th line from the top of the screen is:

        <F1> Help   Record Unmarked: xxxx of yyyy   Database: nnnnnn.dbf

        Pressing <F1> will open a menu of selections available while in
        "Edit/Add Records". "Unmarked" may be "Marked" depending on whether
        the current record is marked or not. Marked records are explained
        later in this section. The xxxx represents the current record
        number. The yyyy represents the total number of records in the
        database file. The nnnnnn.dbf represents the name of the selected
        database file.

        If the database in use contains any memo fields, the field(s)
        containing any data will be represented by the number of the memo
        field in the lower left hand corner of the screen.  This is
        effective for only the first 10 memo fields in the database.

        At the bottom right hand corner of the screen will be the status of
        the Insert key. If "Ins" is displayed, the insert key is active,
        otherwise it is inactive.  Pressing the <Ins> key toggles it on or
        off.  If the Insert key is on, anything typed will push over any
        text that is to the right of the cursor.  If it is off, anything
        typed will write over any text to the right of the cursor.

        Field Editing Keys

        The following commands are used for editing text in all fields
        except the Notes field which will be explained later. The ^
        is the <Ctrl> key.


                  Up arrow or ^E = Move up one field
                Down arrow or ^X = Move down one field
                Left arrow or ^S = Move left one character
               Right arrow or ^D = Move right one character
                              ^A = Move left one word
              ^right arrow or ^F = Move right one word
             ^left arrow or HOME = Beginning of current field
                             END = End of text in current field
                           ^HOME = Beginning of the record



                                                                    Page 17

                            ^END = End of the record
                            PgUp = Previous record
                            PgDn = Next record
                              ^Y = Delete the current line
                              ^T = Delete word right
                             Ins = Toggle insert/replace on/off
                             Esc = Exit to sub-menu


        Entering Non-Keyboard Characters

        The <Alt-F1> command allows the insertion of non-keyboard
        characters into fields. This is neccessary if editing the
        PRN_LIST.DBF printer driver file. To do this, first put the cursor
        in the field you wish to edit, then press <Alt-F1>. You will then
        be asked to enter the non-keyboard characters. This is done by
        holding down the <Alt> key and typing the number (decimal value) of
        the character on the numeric keypad then letting up on the <Alt>
        key. Of course, this will also work for keyboard characters. These
        characters are entered at the top of the screen until you press
        <Alt-F2> which will then allow you to replace the data in the
        selected field with the new characters. For example, the escape
        sequence for the HP Laser Jet Compressed Print Pitch is 27, 38,
        107, 50 and 83. This converts to "arrow pointing left" and "&k2S"
        when using the <Alt-F2> command. This is what is needed in the
        PRN_LIST.DBF file fields. If number 0 is called for, replace it
        with number 237 and if number 32 is called for, replace it with
        number 254. Numbers 0 and 32 are space characters. The character
        code table is not printable because of it's escape sequences so
        you'll need to see one from your DOS manual or other documentation.


        Commands

        The commands available from "Edit/Add Records" are listed below.
        They may be selected by pressing the function key or key sequence
        in parenthesis following the command or by pressing <F1> then
        pressing <A> through <N> or highlighting the command and pressing
        <Enter>. Pressing a key command in parenthesis while displaying
        this menu will not select the command. You must first exit the menu
        to use the commands in parenthesis.


                    A) Add a New Record to Database       (F2)
                    B) GoTo Specified Record(s)           (F3)
                    C) Mark Specified Record(s)           (F4)
                    D) Unmark Specified Record(s)         (F5)
                    E) Delete All Marked Records          (F6)
                    F) Seek/Search Field Data             (F7)
                    G) Dial Phone Number on Modem         (F8)



                                                                    Page 18

                    H) View Records in Browse Mode        (F9)
                    I) Carry-Over from Prior Record      (F10)
                    J) Print Labels/Letters/Lists      (Alt-P)
                    K) Edit Memo Fields                (Alt-E)
                    L) Notepad                         (Alt-N)
                    M) State Abbreviations             (Alt-S)
                    N) Design Screen & Position Fields (Alt-D)


        These selections are now explained from A) to N).

        A) Add a New Record to Database   (F2)
        -------------------------------------------------------------------
        This selection adds a new record to the database. New records are
        always added to the end of a database and are saved automatically.
        A "hard" save will be performed after every 10 records are added or
        upon returning to the main menu. This is not done each time a
        record is added because of the 1 to 2 seconds it takes to perform.

        Duplicate Checking on Record Entry --------------------------------

        If an index file is active you will be prompted to enter the field
        data on which the database was indexed. See "Creating and Selecting
        Index Files" (chapter 5) for instruction on indexing. Upon
        completion you will be informed of how many, if any, possible
        duplicate records were found and asked if you want to see them.
        Answering Yes will take you to the first record that appeared to be
        a duplicate. Pressing <PgDn> will display any others. Answering No
        will add a blank record to the database and allow you to complete
        the added record.

        Duplicate record checking on record entry prevents duplicate
        records from being entered into the database. To check for
        duplicates that may already exist in the database see "Searching
        for Duplicates" (chapter 7).

        Zippy -------------------------------------------------------------

        Zippy is an optional city, state, area code, and zip code database
        that automatically inserts the city, state, and area code into your
        records for you saving approximately 25 to 30 keystrokes per
        record.

        Upon registering DDFile, you can purchase Zippy at an additional
        cost. A hard drive with at least 2.5 MB of free disk space is
        required.

        While adding and/or editing records, Zippy automatically inserts
        the city, state and area code for you based upon the zip code you
        enter into the record. If you enter a zip code that belongs
        exclusively to a post office, "P.O. Box" or your substitute, will
        also be inserted into the "street address" field.



                                                                    Page 19

        If there is more than one city for the zip code entered, a window
        will open allowing you to select the city name of choice to insert
        into the city field.  The first city in the list is the Main Post
        Office city name.  The cities following will be the Branch Post
        Office city name and the Community Post Office city name.

        You can also cross-reference the Zippy database i.e. enter a State
        and get all of the area codes, cities, and zip codes for that state
        or enter a Zip Code and get all of the cities, states and area
        codes for that zip code. This will also do the same for the City
        and Area Code fields.

        Zippy can be a very useful tool and save a lot of time and money.

        For Zippy to work, you must have assigned fields to the street
        address, city, state, area code, and zip code. See "General Setup"
        (chapter 12) for instruction on field assignment. You will also
        have to turn Zippy ON. This is done by pressing <Alt-Z>.

        After installing Zippy and entering DDFile, a message will appear
        asking you to press <Alt-Z> to setup Zippy or any other key to
        continue in the program. If you press <Alt-Z>, "Creating zippy
        database..." then "Indexing zippy database..." will appear. This
        will happen only once after installing Zippy.


        B) GoTo Specified Record(s)       (F3)
        -------------------------------------------------------------------
        This selection will position the record pointer to the "First"
        record, "Last" record, "Record#", "Next" record specified in a
        Search, "Prior" record, the next "Marked" record, or to "Skip" a
        given number of records. To do this, press <F3> then the first
        letter of the selection. The following are descriptions of the
        various selections, their usage, and examples:

            Pressing "F" will position the record pointer to the First
            record in the database. If the database is not indexed this
            will be record #1. If an index is active the first record could
            be any record because the records are in order of the index
            file. See "Creating and Selecting Index Files" (chapter 5).

            Pressing "L" will position the record pointer to the last
            record in the database. Like the above explanation, the last
            record will vary depending on whether or not an index file is
            active.

            Pressing "R" will prompt you for the record number to go to.
            After entering the record number, press <Enter> to position the
            record pointer to the number entered.



                                                                    Page 20

            Pressing "N" will position the record pointer to the Next
            record meeting a Search requirement or Tickler date. This can
            be done repeatedly until there are no more records meeting the
            Search requirement or Tickler date. To review again, press
            <F3>, then "F" to go to the First record then start over using
            the "Next" command.

                A Search is done with the <F7> command. The index order
                must be set to 0 for this to work, otherwise a Seek will
                take place. See "Creating and Selecting Index Files"
                (chapter 5) and the <F7> command later in this chapter.

                A Tickler Date is a date that you enter into a date field.
                The date field used must be assigned as the Tickler Date
                field. See "General Setup" (chapter 12) for instruction on
                field assignment. After a Tickler field is setup, upon
                selecting a database, you will be asked if you want to run
                Tickler. See "Select or Close a Database" (chapter 2) for
                instruction on running Tickler.

            Pressing "P" will position the record pointer to the record
            displayed prior to the current record.  For example, if you are
            at record #100 and you press <F3> then "R" then enter 200 and
            press <Enter> the prior record is #100. If you now press <F3>
            then "P" you will go back to record #100.

            Pressing "M" will position the record pointer to the next
            Marked record in the database. This command will NOT work if
            Marked records are turned OFF or there are no marked records.

            Pressing "S" will allow you to skip through the database the
            number of records specified. When prompted to enter a number,
            you may specify a positive number to skip forward or a negative
            number to skip backwards. A negative number is entered using
            the minus (-) sign i.e. -30 will skip back 30 records.


        C) Mark Specified Record(s)       (F4)
        -------------------------------------------------------------------
        This selection will Mark all records "Prior" to the current record,
        the "Current" record, the "Rest" of the records, "All" of the
        records, or individual records other than the currently displayed
        record. To do this, press <F4> then the first letter of the
        selection. The following are descriptions of the various
        selections, their usage, and examples:

            Pressing "P" will Mark all records Prior to the current record
            displayed on the screen.

            Pressing "C" will Mark the Current record displayed on the
            screen.



                                                                    Page 21

            Pressing "R" will Mark the Rest of the records in the database
            or all records after the current record displayed on the
            screen.

            Pressing "A" will Mark All the records in the database.

            Pressing "Alt-R" will prompt you for a record number and then
            upon pressing <Enter> will go to the record number entered and
            Mark it.

        When using "Prior" or "Rest" on an indexed database it is important
        to remember that the database is NOT in natural order and that any
        records Marked will be those according to the index.

        If a database is Filtered and the Filter is turned ON, only the
        records in the filter are Marked.

        There can be several reasons for Marking records. The most common
        of which is to remove records permanently from the database. This
        is done using the <F6> command. The <F6> command is explained
        later in this chapter.

        Another use for marking records is if you wanted to single out
        selected records for any particular purpose by Marking them and
        then setting a Filter to Marked records. Once a Filter is set, only
        the records in the Filter can be printed. See "Creating a Filter"
        (chapter 4) for more on Filtering.


        D) Unmark Specified Record(s)     (F5)
        -------------------------------------------------------------------
        This selection will Unmark records. To do this, press <F5> then the
        first letter of the selection. The descriptions of the various
        selections are the same as for Marking Records except records are
        Unmarked. This command will not work if Marked records are OFF.


        E) Delete All Marked Records      (F6)
        -------------------------------------------------------------------
        This selection will permanently remove all Marked records from the
        database. If there are any Marked records in the database, pressing
        <F6> will prompt you with "Are you sure you want to PERMANENTLY
        REMOVE xxx RECORDS from the database (Y/N)?" where xxx is the
        number of Marked records in the database. If you answer Yes, all
        Marked records will be permanently removed.

        IMPORTANT: It is always good practice to keep a backup of your
        database files in case of corruption or accidental deletion of
        records or files.



                                                                    Page 22

        F) Seek/Search Field Data         (F7)
        -------------------------------------------------------------------
        If an index is active, this selection will first prompt you for the
        index file to use for the Seek. After selecting the index, you will
        be prompted, in the key index field, for the data to seek. If, for
        example, the selected index file is indexed on the zip code and
        last name, you will be prompted for the zip code to seek since that
        is the primary index field. After entering the field content to
        seek and pressing <Enter>, the record position will be moved to the
        first record meeting the requirement unless no records could be
        found. Pressing <PgDn> will display any subsequent records with the
        same key index field content.

        If an index is not active, this selection will open a window
        containing the fields in the database, allowing you to select the
        one to Search. After selecting a field, you will be prompted to
        enter the data to locate. Enter the data and press <Enter>.

        If you selected a character type field, you will be allowed to do a
        "sounds like" Search. If a "sounds like" search is done, a search
        will take place looking for a near match starting from the
        beginning of the field. If you answer No or the selected field is a
        memo type field, a search will be performed looking for data
        anywhere within the field. If the selected field is a numeric,
        date, or logical type field, a search will be performed looking for
        an exact match starting from the beginning of the field.


        G) Dial Phone Number on Modem     (F8)
        -------------------------------------------------------------------
        See "General Setup" (chapter 12) to setup the modem and assign
        fields to the area code and phone number before making this
        selection.

        This selection will automatically dial the area code and/or phone
        number in the current record on a connected modem. You have a
        choice of one of two prefix's plus the a/c and phone, 1 plus the
        a/c and phone or just phone number, or just the phone number. After
        the modem dials the number, pick up the receiver and press any key
        to disconnect the modem. If the com port assigned can not be
        initialized, a message will appear stating the port number and that
        it could not be initialized. Note that this only verifies the
        existence of the com port and not that of a modem connected to it.


        H) View Records in Browse Mode   (F9)
        -------------------------------------------------------------------
        This selection will allow you to browse through and view several
        records at a time but not always the entire record, depending on
        the size of the record. The following are the active keys used to
        navigate through the records and fields:
        


                                                                    Page 23

                          Up arrow = Up one row
                        Down arrow = Down one row
                        Left arrow = Column left
                       Right arrow = Column right
                   Ctrl-Left arrow = Pan left one column
                  Ctrl-Right arrow = Pan right one column
                              Home = Left most current screen column
                               End = Right most current screen column
                         Ctrl-Home = Left most column
                          Ctrl-End = Right most column
                              PgUp = Previous screen
                              PgDn = Next screen
                         Ctrl-PgUp = First row of current column
                         Ctrl-PgDn = Last row of current column
                               Esc = Exit


        I) Carry-Over from Prior Record  (F10)
        -------------------------------------------------------------------
        This selection carries over data from the corresponding field in
        the prior record after adding a new record to the database. This
        eliminates the need to enter repetitious data from one record to
        the next.


        J) Print Letters/Labels/Lists  (Alt-P)
        -------------------------------------------------------------------
        This selection does the same as when selected from the main menu.
        See "Printing Labels, Letters and Lists" (chapter 6) for
        instruction in using this command.


        K) Edit Memo Fields            (Alt-E)
        -------------------------------------------------------------------
        If you have any memo fields in your database, this selection will
        allow you to edit them. If you have more than one memo field, a
        window will open allowing you to select the memo field you wish to
        edit. The key commands below are used for editing memo fields. Up
        to 64,000 characters of any kind may be stored in a memo field. The
        actual data that is entered into a memo field is not stored in the
        DBF file itself but is instead stored in an accompanying DBT file
        by the same name. For example, if the name of a database is
        SAMPLE.DBF, the DBT file is named SAMPLE.DBT.

        Many times you may want to copy data from any of the regular fields
        into the memo field. This is done very easily by pressing <Alt-F>
        while editing a memo field. This will open a window of field names
        from which you may select. Upon selecting any of the fields, the
        data from that field will be copied to the location of the cursor
        at the time <Alt-F> was pressed.



                                                                    Page 24

        Memo Field Editing Keys

        The ^ equals the <Ctrl> key.

                  Up arrow or ^E = Move up one line
                Down arrow or ^X = Move down one line
                Left arrow or ^S = Move left one character
               Right arrow or ^D = Move right one character
               ^left arrow or ^A = Move left one word
              ^right arrow or ^F = Move right one word
                            HOME = Beginning of current line
                             END = End of current line
                           ^HOME = Beginning of the memo
                            ^END = End of the memo
                            PgUp = Next edit window up
                            PgDn = Next edit window down
                           ^PgUp = Beginning of current window
                           ^PgDn = End of current window
                              ^W = Save and exit
                              ^Y = Delete the current line
                              ^T = Delete word right
                              ^B = Reformat memo in edit window
                    Ins or Alt-I = Toggle insert/replace on/off
                           Alt-W = Word Wrap
                           Alt-S = Scroll
                           Alt-L = Specify Line Length
                    Alt-X or Esc = Exit

        The status line at the bottom of the screen will display from left
        to right: the name of the notes field, "Insert" if insert is ON,
        "Scroll" if scroll is ON, "Wrap" if wrap is ON, the cursor line
        number and the cursor column number.

        The <Alt-L> command listed above will prompt you for a number to
        use for the line length. In order for a line length change to take
        affect you must exit the memo field and return again. At that time
        the current data will be reformatted to the line length.

        To exit a memo field press <Esc> or <Alt-X>. If the record has been
        modified you will be asked at the bottom of the screen if you want
        to abort. Press "Y" to abort, "N" to not abort or "S" to save and
        exit.


        L) Notepad                     (Alt-N)
        -------------------------------------------------------------------
        This selection will allow you to edit the Notepad. The Notepad is
        for the purpose of being able to keep on hand miscellaneous
        information such as codes, dates of mailings, etc.. The editing
        commands are the same as for memo fields. However, the Notepad is
        not a memo field and is not part of the database. It is a text file
        on disk called NOTEPAD.TXT. The file capacity is 64K (64,000
        characters).



                                                                    Page 25

        M) State Abbreviations         (Alt-S)
        -------------------------------------------------------------------
        This selection displays all 50 states and their abbreviations from
        a text file on disk called STATES.TXT.


        N) Design Screen & Position Fields (Alt-D)
        -------------------------------------------------------------------
        This selection will open a sub-menu containing the following three
        commands.


        A) Design Screen --------------------------------------------------

        Upon making this selection you will see that you have 19 rows by 78
        columns to use for field descriptions or anything else you wish to
        type on the screen. You may find it easier to use graph paper that
        is divided into 19 rows by 78 columns. This selection is optional
        since it is not needed in order to view the records fields.

        If any fields have been placed on the screen (next command), they
        will be represented at this time on the screen by C's, N's, D's or
        an L depending on whether the field is a Character, Numeric, Date
        or Logical field. The field descriptions (if any) would then be
        typed around the fields themselves. In the example below, there are
        16 fields comprising of 12 character fields, 2 date fields, 1
        numeric and logical field. This is a chart of 11 rows by 66
        columns. This is only an example screen design. Of course, you can
        do it any way you like.

                  1         2         3         4         5         6
         123456789012345678901234567890123456789012345678901234567890123456
        1 First/Last [CCCCCCCCCCCCC/CCCCCCCCCCCCCCCCCCCCC]  Rec  [DD/DD/DD]
        2
        3 Company    [CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC]  Exp  [DD/DD/DD]
        4
        5 Address 1  [CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC]  Amt  [NNNNNNNN]
        6
        7 Address 2  [CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC]  Customer [CCCC]
        8
        9 Cty/ST/Zip [CCCCCCCCCCCCCCCCCCCCC/CC/CCCCCCCCCC]  Source   [CCCC]
        0
        1 AC/Phone   (CCC) [CCC-CCCC]   Filter [L]

        Memo fields are not placed on the screen. They are accessed by
        pressing <Alt-E> when editing records. This will be covered later.



                                                                    Page 26

        B) Position Fields ------------------------------------------------

        This selection is for the purpose of positioning fields on the
        screen where you want them to be when editing and adding records.

        This is done by first selecting the field from the scrollable box
        of fields, then using the arrow keys, move the field to the desired
        location on screen and press <Enter>.

        Fields can also be inactivated (taken off the screen) by selecting
        the field and pressing <Esc> instead of positioning the field.


        C) Define Picture -------------------------------------------------

        This selection allows you to define a "Pre Picture" and a "Picture"
        for a field. This is optional and does not need to be done in order
        to edit and/or add records to the database.

        Upon selecting a field, the field name, type, length and decimal
        value of that field is displayed at the top of the screen.  Below
        that is the currently selected "Pre Picture" and the "Pre Picture"
        set prior to making this selection.

        The "Pre Picture" causes data in a field to behave in a certain
        way. The "Pre Picture" affects the entire field.

        The following will explain selections A) through H).

        A) This selection will cause a "Pre Picture" to not be used.

        B) This selection will allow only alpha (a-z) characters to be
           entered into the field.

        C) This selection will cause any character entered to be converted
           to upper case.

        D) This selection will cause numeric fields to display data left
           justified versus the standard right justification.

        E) This selection will cause date fields to display in American
           format.

        F) This selection will cause date fields to display in British
           format i.e. the month and day are switched.

        G) If the length of a field is greater than the distance from the
           screen position to the right border of the screen, horizontal
           scrolling can be used. In other words, if a field length is 50
           and the field is placed in column 60, it has only 18 spaces to
           the right border of the screen so instead of wrapping to the
           next line, horizontal scrolling is used.



                                                                    Page 27

           You can also set horizontal scrolling to a value less than what
           would be mandatory. For example, if you have a field length of
           50, the field would fit on the screen if it were placed at
           column 28 or less, however you could specify a horizontal
           scrolling value of 20 and then place the field up to column 58
           thereby saving room on the screen.

        H) This selection will save the selection and exit.

        Next, you are prompted to enter a "Picture" for the field.  This is
        different from the "Pre Picture" in that the "Picture" affects the
        character by character positions within a field. The following are
        characters that have special meaning for the "Picture".

        A = Displays only alphabetic characters
        N = Displays only alphabetic and numeric characters
        X = Displays any character
        9 = Displays digits for any data type including sign for
            numeric types
        # = Displays digits, signs and spaces for any data type
        L = Displays logical type as "T" or "F"

        Y = Allows only Yes or No
        ! = Converts an alphabetic character to upper case
        $ = Displays a dollar sign in place of leading spaces in a
            numeric type
        * = Displays an asterisk in place of a leading space in a
            numeric type
        . = Specifies a decimal point position
        , = Specifies a comma position

        An example city field could have a "Picture" of "!XXXXXXXXXXXXX"
        which would automatically convert the first character to upper case
        and allow any characters to be entered into the remainder of the
        field. A "Picture" of "999-9999" could be used for a phone number
        field to allow only numbers and automatically put a "-" in the 4th
        position of the field. If specifying a "Picture", the entire field
        must be filled. Any blank spaces will be skipped over when editing
        the field data.




                                                                    Page 28

        -------------------------------------------------------------------
        ----------         CHAPTER 4  Creating a Filter          ----------
        -------------------------------------------------------------------

        The Filter sub-menu can be accessed from either the "Filter
        Create/Select" command in the main menu or while editing records by
        pressing <Alt-F>. Either way, the Filter sub-menu is the same.

        The purpose of a Filter is to "hide" all records not meeting the
        requirements that you specify for a given field. This will allow
        you to edit, view or print only the sub-set of records you select.

        The message; "Filter field has not been assigned." will appear if a
        logical field has not been assigned to be used by the Filter. If
        this message appears:

            1) A logical field will need to be assigned to the Filter. This
               is done with the "Field Assignment" command. See "General
               Setup" (chapter 12).

            2) If a logical field does not exist in your database or do not
               have one that can be used exclusively by the Filter, the
               database will need to be modified to include one. To do
               this, first need to close the database, then modify it with
               the "Create/Modify Database Files" command. See "Creating or
               Modifying a Database" (chapter 9). After modifying the file,
               reselect it and assign the newly added logical field to the
               Filter field. See "General Setup" (chapter 12).

               Note that the above logical field is going to be used by
               DDFile and not by yourself. You will not be setting a Filter
               to the assigned logical field. Also, if you do not have a
               logical field that can be used exclusively by "Duplicate
               Records Search" in the main menu, you will also want to add
               a field for it while you are modifying the database.

        The message; "Filter field can not be found." will appear if the
        field that has been assigned as the filter field can not be found.
        This will happen if after assigning a logical field as the Filter
        field, it is deleted from the database.

        The message; "Filter field must be a Logical field." will appear if
        the type of the Filter field has been changed from logical to
        another type after being assigned as the Filter field.
         
        The message; "Index set to natural record order for filter." will
        appear if an index is set. This is done to speed up the Filtering
        process.

        The question; "Use previously set filter? (Y/N)" will appear if a
        Filter was set while last using the database. Otherwise the
        following sub-menu will appear allowing these choices:



                                                                    Page 29

        A) Create New Filter
        -------------------------------------------------------------------
        This selection will allow you to create a new Filter to Marked
        records or Field Data.

            A) Marked Records ---------------------------------------------

            This selection will set a Filter to Marked records. If Marked
            records are turned off, they will be turned back on.

            B) Field Data -------------------------------------------------

            This selection will allow you to specify requirements on
            selected fields for which a Filter will be set. There are three
            steps for each requirement you want to specify in the Filter.
            In the first step a field will need to be selected.

            Next, select a method of search. There are nine methods of
            search available for character, memo and numeric fields, six
            for date fields and three for logical fields.

            The following are the available operators.

            "1) Search from BEGINNING of field only on CURRENTLY selected
            records." This method of search will set a Filter to the
            records that equal the requirement you are about to specify for
            the field. Each time this method of search is selected, the
            requirement is searched for within the records meeting the last
            requirement specified. This will narrow down the number of
            records in the Filter.

            "2) Search from BEGINNING of field looking at ALL records in
            database." This method of search will allow two or more EQUAL
            requirements to be specified for any one field. Each time this
            method of search is selected, the requirement is searched for
            throughout the entire database and any records meeting the
            specified requirement are then added to the Filter.

            "3) Search from BEGINNING of field EXCLUDING those meeting
            specification." This method of search will exclude all records
            from the Filter or database that do not meet the specified
            requirement.

            "4) Search for RANGE in field only on CURRENTLY selected
            records." This method of search will set a Filter to the
            records that meet the specified MINIMUM and MAXIMUM range.



                                                                    Page 30

            "5) Search for RANGE in field looking at All records in
            database." This method of search will allow two or more RANGE
            requirements to be specified for any one field. Each
            time this is done, all records in the database meeting the
            range requirements will be included in the Filter.

            "6) Search for RANGE in field EXCLUDING those meeting
            specification." This method of search will exclude all records
            from the Filter or database that do not meet the specified
            requirement.

            "7) Search from WITHIN field only on CURRENTLY selected
            records." This method of search will set a filter to all
            records that contain the requirement anywhere WITHIN the
            selected field. For example, you could set a Filter to all
            records that have a Street Address name of Elm which would be
            WITHIN the Street Address field.

            "8) Search from WITHIN field looking at All records in
            database." This method of search will allow two or more WITHIN
            requirements to be specified for any one field. Each time this
            method of search is chosen, the entire database is searched for
            the specified requirement WITHIN the selected field. All
            records meeting the requirement will be included in the filter.

            "9) Search from WITHIN field EXCLUDING those meeting
            specification." This method of search will exclude all records
            from the Filter or database that do not meet the specified
            requirement.

        "Ignore case structure?" After selecting a method of search, you
        will be asked if you want to ignore the case structure. If Yes,
        upper and lower case letters will be recognized as the same.

        If there are no records in the database that meet the
        specifications entered, no Filter will be set and a message will
        appear saying there are no records available matching the
        requirements specified.

        "Tally Records in filter?" After each requirement is specified you
        will be asked if you want to tally the records in the filter up to
        that point. The tally is optional because of the time it takes to
        count. A non-optional tally is made once the Filter is completed.

        "Select another field?" Next, you will be asked if you want to
        select another field. If so, this three-step process will be
        repeated.

        In using the first three methods of search, note that the field
        content specified does not have to match, in length, the actual



                                                                    Page 31

        content of the field. For example, if "We" were specified in the
        "Last Name" field, the search would include all records with a Last
        name field content that start with "We" which would include
        "Webber", "Webster", "Wealler", and so on.

        Blank fields may be checked by selecting the first method of search
        and pressing <Enter>, not specifying a requirement for the field.

        The following example uses a "state" field. If your database does
        not contain a "state" field, the same principle can be applied to
        another field. To set a Filter to all records in the states of
        Arizona (AZ), California (CA), Nevada (NV), and Utah (UT): First,
        select the "State" field. Next, select the second method of search.
        Then specify "AZ" for the field content. Do the same for the other
        three states. Each time the Filter will increase in size assuming
        you have records from those states.

        To continue the above example Filter, include only the records from
        those states who have a last name in the RANGE of "A" to "L".
        First, select the "Last name" field. Next, select the fourth method
        of search. Do not select the fifth since we do not want to search
        the entire database. Enter "A" for the START OF RANGE then "L" for
        the END OF RANGE.

        At this time if the steps above were followed correctly your
        Filter includes all records that have a Last name field initial
        in the range of "A" to "L" and are from the states AZ, CA, NV,
        and UT.


        B) Set Filter ON/OFF
        -------------------------------------------------------------------
        This selection will toggle the Filter ON or OFF. When the filter is
        turned ON, ONLY the records within the Filter may be edited,
        viewed, and printed. In order to edit, view, or print all records
        in the database the Filter must be turned OFF.


        C) Continue Filter / Not Available
        -------------------------------------------------------------------
        This selection will be "Continue Filter" if the current filter was
        set on Field Data, otherwise the prompt will be "Not Available".

        If the current Filter was created on Field Data, you may continue
        the filter by specifying more requirements on field content without
        creating a new Filter. Selecting this command will display the same
        screen as when creating a new Filter.



                                                                    Page 32

        -------------------------------------------------------------------
        ---------- CHAPTER 5  Creating and Selecting Index Files ----------
        -------------------------------------------------------------------

        The index sub-menu can be accessed from either "Index
        Create/Select" in the main menu or while editing records by
        pressing <Alt-I>. Either way, the sub-menu is the same.

        When an index file is active it causes records in the database to
        appear in the order in which they were indexed. The key index field
        is the first field selected when creating an index file and this is
        what determines the record order.

        Records with a blank key index field appear first, numbers are
        second, then lower case and upper case characters. This order may
        be seen when paging up and down through the database from "Edit/Add
        Records" or when printing labels, letters or a master list. For
        example, if you created an index on the zip code field, records
        with a blank zip code field will appear first, others will appear
        in order starting on the east coast and ending on the west coast.

        An index is most often used for printing labels in zip code order
        by selecting the zip code as your key (1st) index field. DDFile
        also uses index files for duplicate record searching and seeking.

        If an index is active when exporting records, the records will be
        copied to the new database in index order. This is commonly known
        as a sort. The index order of the old (current) database is the
        natural order of the new (exported) database. See "Importing and
        Exporting" (chapter 8).


        A) Create New Index
        -------------------------------------------------------------------
        This selection will create an index file for the current database.
        Up to 15 index files are allowed per database. Index files have a
        NTX filename extention.

        Index files cause the records in a database to appear in the index
        order of the field(s) the index was created on. If the key index
        field is a date field, the index order would be chronological. If
        the key index field is a character field, the index order would be
        alphabetical. This index order is only active when the index file
        is selected as the controlling index. The controlling index is
        selected with the next command in this sub-menu.



                                                                    Page 33

        If 15 index files already exist for the selected database, you will
        have to inactivate one or more of the active index files in order
        to create others. To inactivate an index, select the "Select Index
        Files" command in this sub-menu. Then, select only the index files
        that you want to use. The unwanted index files may then be deleted
        with "Copy/Rename/Delete/Edit Files" in the main menu. See "File
        Management" (chapter 10).

        If less than 15 index files currently exist for the selected
        database, the fields in the database will be displayed in a window.
        You can select up to five fields to index on.

        If you select a character field, you will be prompted to specify
        how many characters of the field to include in the index. If, for
        example, you are creating an index on the zip code and the zip code
        field is 10 characters long (zip+4) you would only want to index on
        the first 5 characters, especially if your secondary index field is
        the carrier route sort field. In this example enter 5.

        NOTE: Logical and memo fields can not be indexed.

        After selecting the fields to index on, you are asked to enter a
        name to call the database. Type a name up to 8 characters long and
        press <Enter>. The index file will then be created. The new index
        file is automatically added on to the end of the list of selected
        index files as long as there are less than 15 index files selected.


        B) Set Controlling Index
        -------------------------------------------------------------------
        This selection will allow you to set the controlling index. This
        can only be done if one or more index files have been selected with
        the "Select Index Files" command. Select one of the current index
        files or press <Esc> to select natural record order.

        Upon selecting an index file, the list of index fields will be
        displayed in a box followed by a description of the field in
        parenthesis. The description will be either C, N or D representing
        Character, Numeric or Date field respectively. If the field is a
        character field and the index was created on a portion of the field
        the "C" will be followed by the number of characters that were
        included in the index such as (C-10).


        C) Select Index Files
        -------------------------------------------------------------------
        This selection will allow you to select any index files to be used
        with the selected database. If you select an index that was created
        for another database where the field names or types do not match
        the currently selected database you will be informed so and will



                                                                    Page 34

        not be able to select it. Once you have selected the index files
        you may select the prior command; "Set Index Order" to select the
        active (controlling) index file.

        Index files selected will be updated to insure record integrity.
        These index files will be reselected automatically upon reselecting
        the database as long as they have not been used by any other
        database.



                                                                    Page 35

        -------------------------------------------------------------------
        ----------              CHAPTER 6  Printing              ----------
        -------------------------------------------------------------------

        Printing Labels, Letters, and Lists
        -------------------------------------------------------------------
        In order to print, a database must first be selected. See "Select
        or Close a Database" (chapter 2). A Filter and/or Index may also be
        set. See "Creating a Filter" (chapter 4) and "Creating and
        Selecting Index Files" (chapter 5).

        To start, select "Print Labels/Letters/Lists" in the main menu. A
        sub-menu will then appear with selections A through N. Some are not
        always available and will be "N/A".


        A) Template: nnnnnnnn      cc/ttt
        -------------------------------------------------------------------
        This selection will allow you to edit the name of the template. The
        "nnnnnnnn" is the name of the template that can be edited. Two or
        more templates can have the same name. The "cc" represents the
        current template number. The "ttt" represents the total number of
        templates available. To move from one template to another press
        <PgUp>, <PgDn> or <Alt-L>.

        What's a Template?

        Templates allow you to custom design your printout. Field macros
        are placed in templates to represent field data when printing. A
        template can contain your own text such as "See inside for special
        offer!", macros such as {LAST} for "last name" which represents
        field content from fields in your record(s), printer macros for
        enhancing text and special macros for other purposes. These macros
        are sometimes referred to as merge codes. Macros are explained in
        more detail later in this chapter.


        B) Edit/Add/Delete Templates
        -------------------------------------------------------------------
        This selection will present another sub-menu allowing you to select
        "Edit", "Add", "Delete", or "Import".

            A) Edit -------------------------------------------------------

            This selection will allow you to edit the current template. The
            editing commands are the same as for memo fields. See "Edit
            Memo Fields" in "Edit and Add Records" (chapter 3). Instruction
            for "Filling in a Template" will follow later in this chapter.



                                                                    Page 36

            B) Add --------------------------------------------------------

            This selection will add a blank template record. A template
            record consists of the template settings (explained later in
            this chapter) and the template itself.

            C) Delete -----------------------------------------------------

            This selection will delete the current template. Before
            deleting, you will be asked "Are you sure?" to safe-guard
            against accidental erasure.

            D) Import -----------------------------------------------------

            This selection will present a list of files from the current
            directory. They are sorted on file name extension. Selecting
            any file will replace the current template with the file. The
            selected file must be less than 64,000 bytes in size and not
            currently in use. If you are upgrading from DDLabel, you can
            import the LBL (label), LTR (letter), and LST (master list)
            files (templates) eliminating the need to retype them into the
            new templates. If a template is imported, it only needs to be
            imported one time and not every time it is selected.


        C) Select Template Type: XXXXXX
        -------------------------------------------------------------------
        This selection allows you to select the type of template you wish
        it to be. The three choices are Letter, Label, or List. Selections
        "E" through "L" will change depending on the type of template.


        D) Labels across
        -------------------------------------------------------------------
        This selection will appear only for Label templates. You can answer
        1 to 9 to print up to 9 labels across.


        E) Spaces between labels
        -------------------------------------------------------------------
        This selection will appear only for Label templates if printing
        more than 1 label across. This defines the number of spaces between
        each label. The actual width in inches will depend on the pitch
        your printer is set at i.e. if your printer is set to pica (10 cpi)
        you will be printing 10 characters per inch.


        F) Label width in spaces
        -------------------------------------------------------------------
        This selection will appear only for Label templates. This defines
        the width in spaces of the labels being used. The label width is
        going to vary depending on the pitch or cpi (characters per inch)
        used. If the label being used is 3 1/2 inches wide, the label width
        in spaces will be as follows:



                                                                    Page 37

             USING THIS PITCH          CHARACTERS PER 3.5 INCHES

             Pica (10 cpi)             10 X 3.5 = 35
             Elite (12 cpi)            12 X 3.5 = 42
             Condensed (17 cpi)        17 X 3.5 = 59.5 (60)


        G) Lines per label
        -------------------------------------------------------------------
        This selection will appear only for Label templates. This defines
        the number of lines to make each label.

        Example: If you are using 1" or 15/16" high labels, this should be
        set to 6 regardless of how many printable lines are in the
        template. This is assuming that your printer is set to printing 6
        lines per inch which is the default setting for most printers.

        If you specify a number less than the number of printable lines in
        the template file you will be notified that this setting "Must be
        at least ----> X", where X is the number of printable lines in the
        template. This does not include the non-printable lines in the
        beginning of the template that are preceded with the "*" character
        or are left blank.

        IMPORTANT:  Laser labels are NOT the same as copier labels.  Laser
        labels have a top and bottom margin of approximately 1/2".  This is
        because laser printers can only print 10" on a page.  Copy labels
        use the full 11" on a page.

        The maximum allowable number of printable lines in a label template
        is 20 if printing 2 or more labels across. This should impose no
        problem since a label over 20 lines is rare. To go over 20 lines
        per label, print only 1 across.


        G) Lines per record
        -------------------------------------------------------------------
        This selection will appear only for List templates and works the
        same as it does for labels.


        H) Sheet Feeder? (Y/N)
        -------------------------------------------------------------------
        This selection will appear only for Label and List templates. If
        you are using a single sheet feed printer such as a laser printer
        as apposed to a continuous forms printer, select Yes for this
        option. You can use this feature on continuous paper if you would
        like to customize your printout.



                                                                    Page 38

        I) Skip lines top of page
        -------------------------------------------------------------------
        This selection will appear only if answering Yes to "Sheet
        Feeder?". One purpose of this would be to properly align a sheet of
        labels to start printing on the right line.


        J) Labels per page
        -------------------------------------------------------------------
        This selection will appear only for Label templates and only if
        answering Yes to "Sheet Feeder?". This command is needed to
        properly eject the page after printing the specified number of
        labels. If you are using, for example, 2-across by 10 down labels
        (20 labels per page) then this number should be set to 20 to use
        all 20 labels on the page.


        J) Records per page
        -------------------------------------------------------------------
        This selection will appear only for List templates and only if
        answering Yes to "Sheet Feeder?". If, for example, your master list
        template uses three lines per record and your paper is 8 1/2" x 11"
        (66 lines) then this could be set to 20 and still have 3 lines at
        the top and bottom of each page.


        K) 1 or X for each record
        -------------------------------------------------------------------
        This selection will appear only for Label templates and only if
        printing more than 1 label across. The X is the number of labels
        being printed across. This command will print one row of labels
        from the same record with the next row of labels from the next
        record and so on with each row of labels (up to 9-across) all being
        the same record.


        L) Print All/Part of Database
        -------------------------------------------------------------------
        This selection will allow you to print all or part of the records
        in the database. If the record pointer is at the beginning of the
        file, all records will be printed. If the record pointer is
        somewhere between the beginning and the end of the database, only
        part of the records will be printed.

        The "Start at first record" selection in the next sub-menu will
        allow you to move the record pointer to the first record in the
        database.

        Filters are often used while printing to be able to print only the
        records meeting the specifications set forth in the Filter.



                                                                    Page 39

        Index files are often used while printing to be able to print the
        records in the order of the selected index file. If, for example,
        the active index file was indexed on "last name", the records will
        be printed in order of "last name".

        Prior to printing labels with this command, the next command should
        be used first to assure proper alignment of the labels or fields
        before printing the database. A good test would be to print 3 rows
        of labels or 3 records if printing a master list or 1 letter if
        printing letters.


        M) Print Only Current Record
        -------------------------------------------------------------------
        This selection will allow you to print more than 1 label, letter,
        or list entry for any one record. Enter the "Quantity to print" and
        press <Enter>.
        
        *******************************************************************
        Before the printing begins, another sub-menu will appear with the
        following commands:
        *******************************************************************

        A) Print Labels/Letters/Lists
        -------------------------------------------------------------------
        Make this selection when ready to start printing. If you want to
        print Bulk labels, see the next three selections in this sub-menu.
        Select this command after first verifying the other selections in
        this sub-menu from E) to I).

        If printing a Master List, a "header" will print on the first page
        stating the name of the database and Today's date. You may also
        want to note any Filter that was set or index file that was active
        at the time the list was printed.
        

        B) Zip Bulk Labels
        -------------------------------------------------------------------
        This selection will appear only for Label templates if the database
        is indexed on the zip code as the primary index key and "1 or X for
        each record" is set to 1.

        If you have a field assigned as the carrier route field and the
        secondary index field is the carrier route field, you will be asked
        if you want to include qualifying carrier route records and/or
        non-qualifying carrier route records in the mailing. Also, if your
        zip code field length is greater than 5, you will be asked if you
        want to include records with a 9-digit zip code (zip+4).

        Qualifying 5-digit pieces are printed first. These are comprised of
        10 or more records from any 5-digit zip code. The "|" character
        will be printed on the right margin of the first three lines of a
        label whenever zip code changes.



                                                                    Page 40

        After all qualifying 5-digit pieces are printed, qualifying 3-digit
        pieces are printed. These are comprised of all the records that did
        not qualify as 10 or more of any 5-digit zip code but do qualify as
        10 or more of any 3-digit zip code (first 3 digits of the zip code
        are the same). For these labels, the "*" is printed at the right
        margin of the first three lines of the label whenever the first 3
        digits of the zip code changes.

        After all qualifying 3-digit pieces are printed, qualifying State
        pieces are printed. These are comprised of all the records that did
        not qualify as 10 or more of any 5-digit or 3-digit zip code but do
        qualify as 10 or more from any State. For these labels, the "#" is
        printed at the right margin of the first three lines of the label
        whenever the State changes.

        After all qualifying State pieces are printed, Mixed State pieces
        are printed. These are comprised of all the records that did not
        qualify as 10 or more of any 5-digit, 3-digit, or State. No
        character is printed in the right margin of these labels.

        The "right margin" mentioned above is the label width i.e. if the
        label width in spaces is set to 35, the zip code or state change
        character (|, *, or #) will be printed in the 35th column on the
        label. Below is a sample with the "|" printed in the 35th column.

               _________________________________________
              |                                         |
              |   Mrs. Jane Smith                   |   |
              |   123 Main Street                   |   |
              |   Anytown, ST 77777                 |   |
              |_________________________________________|

        The quantities of labels for each zip code is given in the Zip Code
        Report along with totals on 3-digit zip codes and states.


        C) Zip+4 Bulk Labels
        -------------------------------------------------------------------
        This selection works the same as the "Zip Bulk Labels" above except
        that only records with a zip+4 zip code will be printed. The
        assigned zip code field will need to be 10 characters in length.

        If you have a field assigned as the carrier route field and the
        secondary index field is the assigned carrier route field, you will
        be asked if you want to include qualifying carrier route records
        and/or non-qualifying carrier route records in the mailing.



                                                                    Page 41

        D) Carrier Route Bulk Labels
        -------------------------------------------------------------------
        This selection is different from the Zip and Zip+4 Bulk Labels
        selections in that only records with a carrier route are included.
        The secondary index field must be the assigned carrier route field.
        You will be asked if you want to include non-qualifying carrier
        route records in the mailing.

        Qualifying carrier route pieces are printed first. These are
        comprised of 10 or more records from any zip code with the same
        carrier route. The "|" character will be printed on the right
        margin of the 2nd and 3rd lines of a label whenever route changes.

        If you answered Yes to printing non-qualifying carrier route
        records, they will be prined after all qualifying carrier route
        pieces are printed. For these labels, the "*" is printed at the
        right margin of the 2nd and 3rd lines of the label whenever the
        first 3 digits of the zip code changes.


        E) Set Printer
        -------------------------------------------------------------------
        If a printer has been installed (see "General Setup" chapter 12),
        this selection will allow you to send printer codes to your printer
        before printing Labels, Letters or Lists. The same printer codes
        could be put in the template itself, however this is not
        recommended for some codes. For example, the code for setting the
        printer to landscape mode (laser printers only) would only need to
        be set once before printing. Unless the printing type or style
        needs to be changed from one line to the next, it is recommended to
        use this command to set the printer instead of using printer macros
        in the template.

        After selecting a printer command the following box will open:

        Direct output to: -------------------------------------------------

        See Appendix B for further instruction in what to enter in this
        box. This is put in the appendix because the instuctions are the
        same for three other locations in this program.


        F) Start at first record
        -------------------------------------------------------------------
        This selection can be made only if you selected "Print All/Part of
        Database" from the prior sub-memu, and only if the record pointer
        is not at the beginning of the file. If this prompt is currently
        No, the printing will begin with the current record and work
        forward to the end of the database. If the answer to this prompt is
        Yes, the printing will begin with the first logical record in the
        database. Once the answer is changed to Yes, the record pointer
        will be located to the top of the file (first logical record in
        database) and will not be able to be moved back without going back
        to "Edit/Add Records".



                                                                    Page 42

        G) Print every Nth record
        -------------------------------------------------------------------
        This selection can be made only if you selected "Print All/Part of
        Database" from the prior sub-memu. This will allow you to print
        every 1st, 2nd, 3rd, 4th, etc.. This would allow you to do a test
        mailing before a complete mailing.


        H) Pause every Nth record
        -------------------------------------------------------------------
        This selection will pause the printing process after every Nth
        record is printed. After pausing, simply press any key to continue.
        This is repeated until all records in the database have been
        printed.


        I) Display count? (Y/N)
        -------------------------------------------------------------------
        If you answer Yes, "Printing xxx of yyy" will be displayed on the
        screen where xxx is the number of records printed and yyy is the
        total to be printed. This will keep you informed of where you are
        in the printing process. It is optional in case you don't want the
        program to take the time to count the records. If you are sending
        the output to a text file, there is no way of knowing where you are
        in the printing process without using this feature.


        Direct output to: -------------------------------------------------

        This box will will appear before printing with selections A) to D).

        See Appendix B for further instruction in what to enter in this
        box. This is put in the appendix because the instuctions are the
        same for three other locations in this program.


        -------------------------------------------------------------------
        Printing Postcards and Envelopes on a Laser Printer

        There are three settings needed to print postcards and envelopes
        besides answering Yes to the Sheet Feeder option:

        1) "Labels per page" must be set to 1.

        2) "Skip lines top of page" should be set to about 22. The special
           macro, {@SKIPx}, set at 22 may instead be used in the template.

        3) {@MARGINx} should be set to about 50 for a legal size envelope
           and 70 for a 3 1/2" x 5" postcard.

        These settings depend on the envelope(s) or postcard(s) being fed
        length-wise into the printer, centered, and the printer is in
        landscape mode.



                                                                    Page 43

        Also, if you are printing more envelopes or postcards than your
        laser will take at one time, you will want to use "Pause every Nth
        records" to reload your laser.


        Filling in a Template ---------------------------------------------

        Provided with DDFile is a sample template. It can be viewed and/or
        edited by selecting "Edit/Add/Delete Templates" and then "Edit".
        Notice that the field names are bound by the left ({) and right (})
        curly braces. These are referred to as Field Macros. They must be
        spelled correctly or you will get an error message saying the macro
        is not valid. The macros in this template match the fields in the
        SAMPLE.DBF database file.

        If a Macro is on a line by itself in a template and the field
        content that the Macro represents is empty, that line will be
        ignored in the printout. This eliminates blank lines in labels. If
        the field content is empty and the Field Macro is not on a line by
        itself, only the Field Macro will be ignored. The rest of the line
        will be printed.


             <Alt-F>ield Macros -------------------------------------------

             Field macros are the names of the fields enclosed in the left
             ({) and right (}) curly braces. The names of the fields may be
             displayed by pressing <Alt-F>. Selecting any field will type
             out the field enclosed in the left and right curly braces at
             the current cursor location.

             Most of your fields will have extra spaces at the end of the
             field. If you want these spaces truncated (cut-off), place an
             asterisk (*) after the left curly brace i.e. {*FIRST}. Note
             that this will only work on character type fields.


             <Alt-S>pecial Macros -----------------------------------------

             Special macros are described below. They may be displayed on
             the screen by pressing <Alt-S>. Selecting any macro will type
             out the macro enclosed in the left and right curly braces at
             the current cursor location.

             The last macro in this list, {>macro}, is not included in the
             displayable list of special macros.

             {@RECORD#} ... Record number of the current record.

             {@LDATE} ..... Today's LONG date, example: November 19, 1986



                                                                    Page 44

             {@SDATE} ..... Today's SHORT date, example: 11/19/86

             {@EJECT} ..... Sends a form feed to the printer.

             {@PAUSE} ..... Pauses printing until any key is pressed.

             {@MARGINx} ... Sets printer margin to x spaces.

             {@SKIPx} ..... Skips x lines. (Use for single envelopes,
                            postcards, top margins, etc.)

             {@WAITx} ..... This determines how fast to print. By default
                            there is a 1 second pause after every 10
                            records printed to look for <Alt-Q>. <Alt-Q> is
                            used to interrupt printing. Using this macro
                            will allow you to change this setting to print
                            much faster by simply replacing the x with a
                            larger number. This macro does not work in the
                            Shareware version.

             {@IF} ........ This macro is explained in the sample form
                            letter.

             {@ELSE} ...... This macro works ONLY in conjunction with the
                            {IF} macro.

             {@STATE} ..... To use this macro, a 2-character field will
                            need to be assigned as the "State". See
                            "General Setup" (chapter 12). This macro will
                            print the name of the state represented by it's
                            2-character acronym i.e. AZ = Arizona.

             {@CR} ........ To use this macro, you must be printing
                            "Carrier Route Bulk Labels". This macro will
                            print two stars and the carrier route field at
                            the right margin of the label: "** CR22". The
                            CR22 is the field content. If you preceded this
                            with "CAR-RT SORT", the prined label would
                            contain: "CAR-RT SORT         ** CR22" as the
                            first line on the label.

             {@BARCODE} ... This macro will print a POSTNET bar code from
                            the zip code. The zip code must be at least a
                            zip+4 zip code and a field must be assigned as
                            the "Zip Code" for this macro to work. See
                            "General Setup" (chapter 12).



                                                                    Page 45

                            Note that if using a laser jet (or compatible)
                            printer, the barcode takes 2 lines instead of
                            only one. If you place this macro above the
                            label, leave a blank line under it. If you
                            place this macro under the label, allow for one
                            additional line in the "Lines per label"
                            setting than is actually in the template.

             {>macro} ..... The word "macro" needs to be replaced by one of
                            the Field macros. This will cause the field
                            data to be printed flush against the right
                            margin of the label. The right margin is the
                            label width in spaces.


             <Alt-P>rinter Macros -----------------------------------------

             Printer macros may be displayed on the screen by pressing
             <Alt-P>. Selecting any macro will type out the macro enclosed
             in the left and right curly braces at the current cursor
             location. If you have not installed a printer driver and
             selected a printer you will first need to do this with the
             "General Setup" command in the main menu.

             Note: If you have two or more printers and two or more printer
             drivers installed, be sure not to mix up the printer codes
             from one driver with the printer codes from the other driver.
             This can cause unpredictable results when printing since most
             printers have unique printer codes. It is best to make a note
             of the printer name at the top of the template.


        Sample Templates --------------------------------------------------

        The first line(s) of a template can contain notes and comments
        useful in keeping a record of the date mailed, quantity mailed,
        what the Filter was set to, etc.. See the sample "Form Letter"
        template below. These notes and comments may appear only in the
        beginning of a template and must be preceded with a "*" as the
        first character on the line. Any blank lines in the beginning of a
        template will also be ignored. To skip lines, use the {@SKIPx}
        special macro.

        The top left corner of the template should be placed at the top
        left corner of the screen following any comment lines. There should
        be no left margin in the template. A left margin can be set with
        the {@MARGINx} macro.

        It is important that the {@EJECT} macro is placed on the last line
        of a form letter template in order to be sure the next page is
        properly started.



                                                                    Page 46

        Sometimes when printing Form Letters, the 2nd letter and others
        following it will NOT start printing in the same place the first
        letter was started. To prevent this, advance the paper manually to
        the top of page and then reset the printer by turning it off and
        back on or do a form feed from the top of the next page.

        In viewing these sample templates, remember that the field macros
        used are those from the provided SAMPLE.DBF database file. Because
        DDFile allows you to change names of fields, delete fields, and add
        other fields, you will want to verify a fields existence with
        <Alt-F>ields.



                                                                    Page 47

        SAMPLE "Form Letter" TEMPLATE:
            -------------------------------------------------------------
           | * (First line in letter file)
           | * DATE :              FILTER :
           | * # MAILED :          INDEX  :
           | * (The following line will be ignored because it is in the
           | * beginning of the letter and blank.)
           | * START OF LETTER (The following line will also be ignored.)
           | * Printer margin is set to 10 and Top margin is set to 5.
           |
           | {@MARGIN10}{@SKIP5}                          {@LDATE}
           |
           | {FIRST} {LAST}
           | {*COMPANY}
           | {*ADD1}
           | {*ADD2}
           | {CITY} {ST}  {ZIP}
           |
           | {@IF}Dear {*FIRST},
           | {@ELSE}To whom it may concern,
           |
           | This is the body of the letter. The above {@IF} and {@ELSE}
           | macros work in that if the macro immediately following the
           | {@IF} macro is NOT empty, that line is used and the next
           | line with the {@ELSE} macro is ignored. In other words, the
           | {FIRST} macro is valid and used ONLY if the "first name"
           | field is NOT empty. If the "first name" field is empty,
           | the {FIRST} macro is empty and therefore the entire line
           | will be ignored and the next line with the {@ELSE} macro will
           | be used instead.
           |
           | Macros may be used within the body to further personalize
           | the letter such as:
           |
           | Welcome {@STATE} friends...
           |
           | Sincerely,
           | {@EJECT}


        SAMPLE "Label" TEMPLATE:
            -------------------------------------------------------------
           | CAR-RT SORT {@CR}
           | {*FIRST} {*LAST}   {ACCOUNT}
           | {*ADD1}
           | {*ADD2}
           | {CITY} {ST}  {ZIP}
           | {TITLE}


                                                                    Page 48

        The first line of the above template is an example of how to use a
        Carrier Route Sort field.  Notice that "CAR-RT SORT" is not a
        macro.  Other text can be inserted into templates such as "See
        inside for special offer!" and even printer macros to enhance text.

        SAMPLE "Master List" TEMPLATE:
            -------------------------------------------------------------
           | {@RECORD#}  {FIRST} {LAST} {COMPANY}
           |             {ADD1}  {ADD2}  {CITY} {STATE} {ZIP}
           |

        Master lists are usually printed and used for looking up records
        without accessing the database. Usually you would index it on
        company name, zip code or last name.


        -------------------------------------------------------------------
        Printing Reports
        -------------------------------------------------------------------
        The reports available at this time are Zip Bulk Report, Zip+4 Bulk
        Report and Carrier Route Bulk Report. Select "Print Reports" in the
        Main Menu. After selecting the type of report to print, the
        following box will appear:

        Direct output to: -------------------------------------------------

        See Appendix B for further instruction in what to enter in this
        box. This is put in the appendix because the instuctions are the
        same for three other locations in this program.

        Next, you are prompted with "Print every Nth record:" which allows
        you to do a test mailing report for every 10th, 20th, etc. up to
        every 99th record. The default number displayed is the "Print every
        Nth record" from the current Label/Letter/List template.


        Zip Bulk Report
        -------------------------------------------------------------------
        This report will print the quantities of all 5-digit, 3-digit,
        State and Mixed State pieces in that order. The minimum requirement
        for this report is that all records have a 5-digit zip code.

        An index file indexed on the assigned "Zip Code" field is needed to
        print all reports. If the secondary index field is the assigned
        "Carrier Route" field, you will be asked if you want to include
        qualifying and/or non-qualifying carrier route records. If the
        assigned "Zip Code" field is greater than 5 characters in length,
        you will be asked if you want to include zip+4 records. These same
        questions are asked when printing bulk labels.

        The report is preceded with today's date, the name of the database,
        the total records in the report, whether or not Zip+4 records were



                                                                    Page 49

        included, whether or not qualifying and non-qualifying CAR-RT
        records were included. The report is followed by the total number
        of zip codes in the report.

        All records included in the report are sorted by category. The
        first category is all records with 10 or more from any 5-digit zip
        code. The second category is all remaining records with 10 or more
        from any 3-digit zip code. The third category is all remaining
        records with 10 more from any one state. The fourth and last
        category is any remaining pieces. Further explanation of mail
        sorting is provided by your main post office.

        The following are example entries from this report:

             01450        36  =  36 pcs from 5-digit zip code 01450
             006 ****     20  =  20 pcs from 3-digit zip code 006
             STATE MA     52  =  52 pcs from state of MA
             MS TOTAL     25  =  25 pcs from mixed states


        Zip+4 Bulk Report
        -------------------------------------------------------------------
        This report is the same as the Zip Bulk Report above except that
        the minimum requirement is that the zip code field contain a zip+4
        zip code. Records without a zip+4 zip code are automatically
        excluded.

        If the secondary index field is the assigned carrier route field,
        you will be asked if you want to include qualifying and/or
        non-qualifying carrier route records. These same questions are
        asked when printing zip+4 bulk labels.


        Carrier Route Bulk Report
        -------------------------------------------------------------------
        This report will print the quantities of all qualifying and/or
        non-qualifying carrier route records. The minimum requirement for
        this report is that all records have a 5-digit zip code and carrier
        route.

        An index file indexed on the assigned "Zip Code" field and assigned
        "Carrier Route" field is needed to print this report. You will only
        be asked if you want to include non-qualifying carrier route
        records. This same question is asked when printing bulk labels.
        This report is followed by the total qualifying routes and the
        total qualifying pieces.

        A qualified carrier route record is one of a group of 10 or more
        from any carrier route within the same zip code. Non-qualified
        carrier route pieces are grouped by the first 3 digits of the zip
        code. The following are example entries from this report:

        01450  RR04       36  =  36 pcs from zip code 10450 and route RR04
        006 ***            8  =  8 pcs from 3-digit zip code 006



                                                                    Page 50

        -------------------------------------------------------------------
        ----------      CHAPTER 7  Searching for Duplicates      ----------
        -------------------------------------------------------------------

        To search for duplicate records, select "Duplicate Records Search"
        in the main menu.

        If the message "An index must be active to search duplicates."
        appears, you will need to select an index file. See "Creating and
        Selecting Index Files" (chapter 5).

        If the message "Field to be used for Duplicate Search has not been
        assigned." appears:

            1) If you do not have a logical field in your database that can
               be used exclusively for this purpose, you will need to
               modify the database to include one. To do this, you will
               first need to close the database, then modify it with the
               "Create/Modify Database Files" command. See "Creating or
               Modifying a Database" (chapter 9). In the provided
               SAMPLE.DBF file, the Duplicate field is called DUPS.

            2) Once you have added the logical field, you will need to
               assign it as the Duplicate Search Field. Refer to "Field
               Assignment". See "General Setup" (chapter 12).

        If a filter exists, it will be removed.

        If the index key can not be found in the index file, "Error in
        index file.  Can not find index key.  Press any key..." will
        display and abort duplicate search. Recreate index and try again.

        Duplicates are looked for in the fields the selected (controlling)
        index was created on. If, for example, the selected index file was
        created on LAST NAME, FIRST NAME, and ZIP CODE. Duplicates will be
        any two or more records with the same content in all three fields.
        If only a portion of the fields were used in the index file, only
        that portion will be looked at when checking for duplicates.

        Next, "Do you want to automatically Mark duplicates? (Y/N)" will
        display. This will automatically Mark (for deletion) records that
        appear to be duplicates.

            If Yes, and if there are currently any marked records in the
            database, you will be informed so and allowed to unmark them
            before proceeding. At the end of this procedure you are asked
            if you want to delete the marked records at this time. If No,
            you can always select "<F6> Pack" while editing records to
            delete Marked records.

            If No, the dup field will be set to T for all records that
            match; both the original and any duplicates and a filter is set
            to these records. After completion, you can view the records
            and then Mark and delete the ones that are duplicates.



                                                                    Page 51

        -------------------------------------------------------------------
        ----------      CHAPTER 8  Importing and Exporting       ----------
        -------------------------------------------------------------------

        To import or export records, select "Import/Export dB3/ASCII Files"
        in the main menu. A sub-menu will appear allowing three selections
        for importing and three for exporting records. They are dBASE III,
        ASCII SDF, and ASCII Delimited.

        What are dBASE III, ASCII SDF and ASCII DELIMITED files?

        dBASE III files contain any of up to five different types of
        fields.  They are Character, Numeric, Date, Logical and Memo.  Each
        field has it's own specific purpose.  Character fields are the most
        common and are used to store addresses, cities, states, zip codes,
        names, etc.  Numeric fields are used exclusively for numbers such
        as dollar figures. Date fields are used exclusively for dates in
        the MM/DD/YY or DD/MM/YY format.  Logical fields are either T
        (true) or F (false).  Memo fields do not appear in the DBF file at
        all except for a 10 byte marker.  The contents of a memo field is
        contained in a DBT file which accompanies the DBF file. Both
        filenames are the same, only the extensions are different.

        ASCII (American Standard Code for Information Interchange) is an
        international method of representing information in computers.
        ASCII is pronounced "ask-key".

        dBASE III files are quite different from ASCII files.  The above
        description of dBASE III fields do not at all resemble the fields
        in an ASCII file. ASCII files are primarily used to transfer data
        (records, fields, etc) from one software program to another or from
        one type of computer to another.  An ASCII file is not very useful
        to most systems until it is imported into a software program like
        DDFile.  The fields in an ASCII file are not of any specific type
        of field as they are in dBASE III files.  ASCII fields can be
        actually thought of as "character" fields until they are imported.
        Then they become the type of field that they were imported into
        i.e. Character, Date, Numeric, Logical or Memo.

        Both ASCII SDF and ASCII DELIMITED files contain only the
        characters found on the keyboard.  They both have only one record
        (set of fields such as first name, last name, address, city, state
        and zip code) per line.  If the file contains 10,000 lines, there
        are 10,000 records in the file.  They only differ in the way the
        fields are represented in the records.  ASCII SDF fields and
        records are all the same (fixed) length.  They all start and stop
        at the same column in the file.  Here is a sample 3 record, 6 field
        ASCII SDF file:

           Jones      Mary    123 Main Street, Apt B  New York     NY12345
           Smith      Jerry   1964 Jones Avenue       Miami        FL78901
           Peterson   Paul    985 East Polk           Los Angeles  CA23456



                                                                    Page 52

        Notice also that many times fields will touch each other as in the
        above state and zip code fields. The reason for this (in this
        example) is that the state field content is always 2 characters.
        The other fields vary in how much of the field is filled.

        ASCII DELIMITED fields and records on the other hand vary in length
        because blank spaces at the end of a field are truncated.  This
        means that they must be separated with a comma.  Most ASCII
        DELIMITED files also contain a quote (") before and after many of
        the fields. In dBASE III terms these fields are called "character"
        fields. When a dBASE III file is exported in ASCII DELIMITED
        format the character fields are bound by quotes. It is best that
        the character fields are bound by quotes in case there are any
        commas imbedded in any character fields. Otherwise a field could be
        split when importing. The address field is a character field that
        will sometimes use a comma to separate an address from the
        Apartment # as in the first ASCII DELIMITED record below.

           "Jones","Mary","123 Main Street, Apt B","New York","NY","12345"
           "Smith","Jerry","1964 Jones Avenue","Miami","FL","78901"
           "Peterson","Paul","985 East Polk","Los Angeles","CA","23456"

        Getting Started

        Upon selecting any of these you will be allowed to enter a path in
        which to either look for files to import or to export records to a
        file. Enter only the path and not the name of the file to import
        from or export to. An example path might be C:\DDFILE where C: is
        the drive and \DDFILE is a sub-directory where you would have files
        pertaining to DDFile.  Another example might be A:\ if you wanted
        to import a file from the A: drive.  The default (initial) path is
        the current drive and directory.


        Import...

        A) dBASE III
        -------------------------------------------------------------------
        Upon entering a path, a window of files will open allowing you to
        select a database file to import. If no files can be found you will
        be allowed to enter another path.  The correct filename extension
        for dBASE III files is DBF. dBASE III files will always have a DBF
        file name extension. The selected file is checked to be sure it is
        actually a dBASE III file and not just a file with a DBF extension.
        If the selected dBASE III file has a Memo field but no accompanying
        DBT file, you will be informed so and given a chance to back out
        and return to the main menu. If you continue you will not be able
        to import the Memo field. The DBT file is where the data for the
        Memo field(s) is stored.



                                                                    Page 53

        Next, your disk space is checked and if not adequate, the amount
        available and the amount needed is displayed. Import is aborted if
        this message appears.

        Next, the fields of the import file are displayed in a window at
        the lower right of the screen. The window can display only 10
        fields at a time. To scroll through the others use the up and down
        arrow and <PgUp> and <PgDn> keys.  After selecting a field to
        import, another window will appear to the left with a list of
        fields from the current file in use. Select the field that you
        want the import field to go into. Repeat these two steps until you
        have matched up the fields that you want to import.

        Fields can only be selected once and some field types can not be
        imported into others. As mentioned earlier all dBASE III fields
        have a "type" and some types do not match. The types of fields that
        do not match are Numeric to Date, Logical to Date, Date to Numeric,
        Logical to Numeric and Date to Logical. For example, using the
        first one mentioned; Numeric to Date, if you select a Numeric field
        from the Import File and then select a Date field from the Current
        File, you will get a message saying that it can not be done and
        will allow you to make another selection.

        To exit, press <Esc> then Yes to Import the file or No to abort.

        Next, if the current database is not empty you will be asked if you
        want to import the records as NEW records into the database. If
        you answer Yes, the fields selected in the import file will be
        imported into New records added to the current database in use.
        Otherwise if you answer No, the data will be imported into the
        fields of the already existing records starting with the current
        record. No new records will be added to the database. Under very
        few instances would you want to answer No to this question. And,
        of course as always, keep a backup of your data in case of any
        unforeseen mistake or accident occurs. If the current database is
        a new database with no records then this prompt will not appear.

        If you answer No to the above prompt, the current database is
        checked to see if there are enough records to hold all the records
        from the import database. For example, if the current database
        contains 500 records and are currently on record number 400, only
        100 records will be able to be imported because there are only 100
        records remaining from the current record position to the end of
        the database.

        If the import can not be done, the current record number along with
        the number of records to the end of file and the number of records
        in the import file will be displayed.

        At this time, if everything is OK, the Import will take place and
        upon completion a message will appear saying the file was imported
        successfully.



                                                                    Page 54

        B) ASCII SDF
        -------------------------------------------------------------------
        This selection allows the importing of a ASCII SDF file.  After
        selecting a file (mentioned earlier) to import, your disk space is
        checked and if not adequate, the amount available and the amount
        needed is displayed. Import is aborted if this message appears.

        Next, the first record (line) of the selected ASCII SDF file is
        displayed on one line that is scrollable to the right if longer
        than what will fit on the screen. If the record displayed is
        similar in format to the following sample ASCII SDF record, you may
        proceed.

           Jones      Mary    123 Main Street, Apt B  New York     NY12345

        Otherwise the file is not an ASCII SDF file. If the record
        displayed is similar in format to the following sample ASCII
        Delimited record, exit and import using the ASCII Delimited
        command.

           "Jones","Mary","123 Main Street, Apt B","New York","NY","12345"

        In this step you will specify where to divide the records into
        fields using the @ character.  You can select the record of your
        choice to edit with the <PgUp> and <PgDn> keys. Only one record can
        be editded but it can be anyone you choose. This will allow you to
        scan several records making sure you put the @ character at the
        beginning of all fields or at least the ones you want to import.

        Any "@" characters that you type will dissappear upon pressing
        <PgUp> or <PgDn>. Therefore you will need to know where the "@"
        characters will need to be typed before you begin typing them.
        
        Move the cursor using the left and right arrow keys and type a @
        character over the 1st character of each field (the @ character is
        typed by holding down the <Shift> key and then pressing the 2 key
        located towards the top left of the keyboard).  The @ characters
        will be used to divide the records into fields. For example the
        above sample ASCII SDF record would be changed to:

           @ones      @ary    @23 Main Street, Apt B  @ew York     @Y@2345

        The <Ins> key is automatically disabled so that when typing the @
        character, the line will not shift to the right.  Use only the left
        and right arrow and @ keys.  DO NOT MODIFY THE LINE IN ANY OTHER
        WAY. Press <Enter> when finished.

        If there were no @ characters entered or the line was modified in
        some way other than with the @ character you will be informed so
        and allowed to try again.



                                                                    Page 55

        Next, the record is divided into fields and displayed in a window
        in the lower half of the screen for verification. If the fields
        were properly divided and you wish to continue, press <Enter> or
        press <Esc> to try again.

        Next, the fields of the import file are displayed in a window at
        the lower right portion of the screen. This differs from the dBASE
        III procedure in that the fields here are the actual field content
        and not just the name of the field. Only the first 10 characters of
        the field are displayed in the window. After selecting a field to
        import, another window will appear to the left with a list of
        fields from the current file in use. Select the field that you want
        the import field to go into. Fields can only be selected once.
        Repeat these two steps until you have matched up the fields that
        you want to import.

        The fields in the Import File record do not have "types" as do
        dBASE III fields (mentioned earlier). This means that you can match
        a field in the Import File record with any field in the Current
        File record.  However, this does not necessarily mean that
        everything will import properly as described next.

        When you are finished press <Esc> to exit then Yes to Import the
        file or No to abort.

        Importing into Numeric Fields -------------------------------------

        Alpha characters are not recognized by numeric fields. You will
        still be able to import, however because dBASE III numeric fields
        recognize only numbers, the fields will be blank after importing.
        Also be aware that when importing a field of numbers into a numeric
        field, that the numeric field is large enough to take the Import
        field.  If the import field is too large, a zero (0) will be put in
        it's place.  For example if the dBASE III numeric field has a
        length of 10 and a decimal place of 2 then the largest number that
        will fit is 9999999.99 (10 places). If the import field has more
        decimal places than the dBASE III numeric field, the import number
        will be rounded.  For example, if 99.999 is imported into a dBASE
        III Numeric field with a decimal place of 2 then 99.999 will be
        rounded off to 100.00.  As long as the import field number is
        smaller and has the same number of decimal places or less, it will
        import properly.

        Importing into Logical Fields -------------------------------------

        When importing into a Logical field T, t, .T., .t., TRUE, true, ON,
        on, YES, yes and 1 will be imported as .T. and anything else is
        imported as .F..



                                                                    Page 56

        Importing into Date Fields ----------------------------------------

        You can import either of two date formats into DDFile. They are
        YYYYMMDD and MM/DD/YY.  The YYYYMMDD format is first converted to
        MM/DD/YY automatically before importing.  The date January 27, 1991
        could appear as either 19910127 (YYYYMMDD) or 01/27/91 (MM/DD/YY).
        Note also that invalid dates can not be imported.

        Next, if the current database is not empty you will be asked if you
        want to import the records as NEW records into the database.  If
        you answer Yes, the fields selected in the import file will be
        imported into new records added to the current database in use.
        Otherwise if you answer No, the data will be imported into the
        fields of the already existing records starting with the current
        record.  No new records will be added to the database.  Under very
        few instances would you want to answer No to this question.  And,
        of course as always, keep a backup of your data in case of any
        unforeseen mistake or accident occurs.  If the current database is
        a new database with no records then this prompt will not appear.

        If you answer No to the above prompt the current database is
        checked to see if there are enough records to hold all the records
        from the import database.  For example if you have 500 records in
        the current database and you are currently on record number 400,
        you will only be able to import 100 records because there are only
        100 records remaining from the current record position to the end
        of the database.  If the import can not be done, the current record
        # along with the number of records to end of file and the number of
        records in the import file will be displayed.

        At this time the Import will take place and upon completion a
        message will appear saying the file was imported successfully.


        C) ASCII Delimited
        -------------------------------------------------------------------
        This selection will allow you to import an ASCII Delimited file.
        This works the same as ASCII SDF files just covered except that the
        "@" symbol is not used to separate the fields. Refer to "ASCII SDF"
        for further instruction.

        Export...

        The three commands used for exporting will export in the format
        stated in the command. All fields are exported. If a Filter is set,
        only the records in the Filter are exported. If Marked records are
        turned OFF, Marked records will not be exported. If an index file
        is active, the records will be exported in sort order.

        When exporting in dBASE III format, the current DF1 and DF2 files
        are also copied to new DF1 and DF2 files for the exported database.



                                                                    Page 57

        -------------------------------------------------------------------
        ----------- CHAPTER 9  Creating or Modifying a Database -----------
        -------------------------------------------------------------------

        Provided with DDFile is a sample database called SAMPLE.DBF that is
        already set up the same as the database structure used in version
        5.0 and 5.1 of DDLabel. This is provided in case you do not want to
        design and create a database of your own, design the screen, and
        position the fields on the screen.

        To copy the current database file structure, create a new database,
        or modify an existing database, select "Create/Modify Database
        Files" in the main menu (chapter 9). You will first be asked to
        enter the path in which to copy the structure, create, or modify a
        database file. Enter only the drive and directory. Do not enter a
        file name. Once a valid directory is entered, a sub-menu with the
        following three selection will open.

            A) Copy Current File Structure
            ---------------------------------------------------------------
            This selection will copy the database file structure of the
            currently selected database to a new file in the drive and
            directory specified before reaching this sub-menu. It will also
            copy the DF1 and DF2 definition files if they are available. A
            DBT file will also be created if the currently selected
            database contains one or more memo fields.
            
            The structure of a database is the fields and their
            definitions. This does not pertain to the actual data that will
            be stored in the database.

            This will also copy the DF1 and DF2 files so that you won't
            have to redesign the screen and position the fields on the
            screen. In other words, you end up with a duplicate of the
            current database file with a different name and no records.
            
            B) Create a New Database
            ---------------------------------------------------------------
            This selection will create a new empty database file structure.
            Enter only the name of the new file you want to create without
            a file name extension. The extension will automatically be DBF.
            See "Plan Your Database" below for further instuction.

            C) Modify an Existing Database
            ---------------------------------------------------------------
            This selection will allow you to modify an existing database. A
            database can not be selected if it is already in use.



                                                                    Page 58

        Plan Your Database ------------------------------------------------

        If selecting B) or C) above, a window will open allowing you to
        create or modify a database file. Before you go on, you may want to
        list on paper the different fields that you want in your database
        in the order in which you want them. You will be glad that you
        planned ahead when you later design the screen and position the
        fields on the screen for data entry and editing.

        If new fields are added to an existing database they can be placed
        between other existing fields by modifying the field order. This is
        done with "Modify Field Order" located in the "Miscellaneous
        Utilities" sub-menu from the main menu. For now they will be added
        to the end of the field list. Each time a field is added to a
        database, the field window is cleared and the new field is
        presented at the top of the field window. The other fields can be
        redisplayed by pressing the up arrow or <PgUp> keys.


        Building A Database -----------------------------------------------

        There are four criteria that must be defined for every field in a
        database file. They are Name, Type, Length and Decimals.
        Instruction for defining these are provided on screen. You will
        have to enter a Name and Type for every field. However you will not
        need to enter a Length for date, Logical and Memo fields since they
        are automatically set. And you will only need to specify a Decimal
        value for Numeric fields.

        An example list of fields might be:

        Field Name    Type    Length   Decimals   Description

        CARRT           C       4         0       Carrier Route
        FIRST_NAME      C      13         0       First name
        LAST_NAME       C      15         0       Last name
        COMPANY         C      35         0       Company name
        ADDRESS_1       C      35         0       Address line 1
        ADDRESS_2       C      35         0       Address line 2
        CITY            C      21         0       City name
        STATE           C       2         0       State abbreviation
        ZIP_CODE        C      10         0       Zip code (zip+4)
        AREA_CODE       C       3         0       Area code
        PHONE           C       8         0       Phone number
        DATE_ENTRY      D       8         0       Date record was added
        DATE_EXP        D       8         0       Date membership expires
        AMOUNT          N       7         2       Amount of sale
        TYPE            C       4         0       Code field 1
        SOURCE          C       4         0       Code field 2
        COMMENTS        M      10         0       Memo field 1



                                                                    Page 59

        This is a total if 17 fields. You may want more, such as PREFIX
        (Mr., Mrs., Dr., etc.) or MIDDLE (middle initial). These, of
        course, would be placed before and after FIRST_NAME respectively.

        The types of these fields are all the most common type which is
        Character except DATE_ENTRY and DATE_EXP which are Date and AMOUNT
        which is Numeric and COMMENTS which is Memo.

        The uses for most of the fields are self explanatory. However the
        last five fields in the example database are perhaps not as well
        understood. For example, TYPE could be used for the type of
        customer such as "P" (paying customer) or "I" (inquiry) and SOURCE
        could be used for the source from which the lead was attained such
        as "M" (magazine ad) or "W" (walk-in). The COMMENTS Memo field
        store up to 64,000 bytes (64K) of miscellaneous information for
        each record.

        You do not have to be exact with the field lengths at this time.
        They can be changed later to suit your purposes. However the field
        names and types can not later be changed without losing any data
        that has been entered into the changed fields.

        When finished, press <Esc> to exit. You will be asked if you want
        Abort or Save the database file structure. Answer Yes, No or Save.



                                                                    Page 60

        -------------------------------------------------------------------
        ----------          CHAPTER 10  File Management          ----------
        -------------------------------------------------------------------

        Select "Copy/Rename/Delete/Edit Files" in the main menu to copy,
        rename, delete or edit files.

        First, you'll be asked to enter a path in which to look for files
        to display. Enter only the drive and/or directory.

        After entering a valid drive and/or directory, all files from that
        directory will be displayed in sorted order on filename extention
        with the files size (in bytes) and date appearing to the right.

        Any procedure performed on a database (DBF) file will also be
        performed on any accompanying DBT, DF1, and DF2 files and any file
        that is currently in use can not be selected.
        
        Next, select a file then press either C, R, D, or E.

            Copy
            ---------------------------------------------------------------
            This selection will copy a file to another drive and/or
            directory. Enter the target path and press enter. The target
            path is only the drive and directory in which to copy the file
            and not the filename itself. Next, specify a new name for the
            file. If the directory specified does not exist it will be
            created. If the file already exists you will be asked if you
            want to copy over it. If insufficient disk space is available
            on the target drive and directory you will be informed so and
            will not be able to copy the file(s).

            Rename
            ---------------------------------------------------------------
            This selection will rename a file(s). If you select a DBF file,
            you will not be able to change the file name extention and
            anything done to a DBF file will also be done to any
            accompanying DBT, DF1 or DF2 file(s).

            Delete
            ---------------------------------------------------------------
            This selection will delete a file(s). Before the file(s) are
            deleted, you will be asked "Are you sure?" to safeguard against
            accidental erasure.

            Edit
            ---------------------------------------------------------------
            This selection will allow you to edit a text file as long as it
            is less than 64,000 bytes in size. This is useful for editing
            your AUTOEXEC.BAT or CONFIG.SYS files located in the root
            directory of your hard drive. This can also be used to view the
            README.TXT file (chapter 1).



                                                                    Page 61

        -------------------------------------------------------------------
        ----------      CHAPTER 11  Miscellaneous Utilities      ----------
        -------------------------------------------------------------------

        There are currently four utilities available under "Miscellaneous
        Utilities" in the main menu. More will be added as needed. They
        will allow you to: a) search and replace data in your fields, b)
        convert data in fields to all upper or upper/lower case, c) modify
        the field order of a database, and d) query the zippy database
        which requires registration and the optional Zippy database.


        A) Search and Replace
        -------------------------------------------------------------------
        This selection will search for specific data in a field and then
        replace it with the new data that you specify.

        This will work on all the records in the database file. Simply
        select the field you want to search for data in. Then, enter the
        field content you want DDFile to look for and replace. Then, enter
        the new data to replace the old.

        If a character or memo field is selected and old data is specified,
        you will be asked if you want to search within the field and
        replace only the data specified.

        When finished, the total number of records with the new field
        content is displayed.


        B) Convert UPPER/lower Case
        -------------------------------------------------------------------
        This selection will convert data in a field to all upper case or
        upper/lower (upper case first character of each word and lower case
        the rest). This will work on all the records in the database file.
        Select the field you want to convert data in and select either
        "UPPER/lower" or "All UPPER" from the sub-menu.


        C) Modify Field Order
        -------------------------------------------------------------------
        This selection will allow you modify the field arrangement of the
        currently selected database. The changes will not take place in the
        current file.  It is only used as a model to create a new file with
        the new field order.

        The records in the currently selected database can be put into the
        new database field order using the following 2-step process:



                                                                    Page 62

            1) When finished with this procedure, select the newly created
               database with the new field order.

            2) Import the records from the prior database into the new
               database using "Import/Export dB3/ASCII Files" in the main
               menu (chapter 8). Import in dBASE III format.

        This will also create a database definition file for the new field
        order, eliminating the need to place the fields on the screen after
        modifying the field order.

        All fields must be selected. After a field is selected, the order
        number of that field is placed to the right of it. The fields may
        be selected in any order you wish. When all fields have been
        selected, a new empty database will be created with the new order.

        If you do not want to include some of the fields in the new
        database, select them for now but before importing the old records
        into it, modify it with "Modify an Existing Database" (chapter 9).


        D) Search Zippy Database
        -------------------------------------------------------------------
        Zippy is an optional database of all the cities, states, area codes
        and zip codes in the United States. Zippy is available for an
        additional cost when registering DDFile. You will need a hard drive
        with at least 2.5 MB of free disk space.

        Once you have zippy installed you will be able to make this
        selection. A sub-menu will open allowing you to search for a City,
        State, Zip Code, or Area Code. To look up a zip code for a
        particular city, for example, select City and then enter the city
        name. Next, all the cities in the United States by that name will
        appear in a scrollable window with their corresponding state, area
        code, and zip code. This database can be cross-referenced to look
        up any data on any of the four selections.



                                                                    Page 63

        -------------------------------------------------------------------
        ----------           CHAPTER 12  General Setup           ----------
        -------------------------------------------------------------------

        To get system information, select screen colors, setup the modem
        parameters for auto-dialing, assign fields, install printers,
        select a printer, or select a printer emulation for printing
        POSTNET barcodes, select "General Setup" in the main menu.

        A) System Information
        -------------------------------------------------------------------
        This selection will display information about the FILES statement
        in your CONFIG.SYS file and your DOS version.

        The FILES statement in your CONFIG.SYS file must be set to 20 or
        greater. This will allow you to select a database and any of it's
        accompanying files. DDFile will not be able to access any more
        files than specified by the FILES statement. The following files
        and files handles are needed by DDFile:

        1) The template file for printing labels, letters, and lists uses 2
           file handles.

        2) If you are using Zippy, 2 more file handles are needed.

        3) When a database is selected, 2 file handles are used and if the
           database contains any memo fields, another file handle will be
           used for the DBT file.

        4) If any index files are selected, 1 file handle will be needed
           for each index file. Up to 15 index files may be selected for a
           database at any one time pending enough file handles are
           available.

        5) Your DOS operating system automatically uses 5 file handles
           before entering DDFile.

        Up to a total of 27 file handles may be needed at any one time. It
        is suggested that your FILES statement be set to 30 or higher.

        If you are running a DOS version earlier than 3.30, the maximum
        number of files that DOS will recognize is 20. If you are running
        DOS version 3.30 or later, the maximum number of files DOS will
        recognize is 255.

        You can edit the CONFIG.SYS file with "Copy/Rename/Delete/Edit
        Files" in the main menu (chapter 10). The FILES statement is placed
        on a line by itself towards the top of the file. Simply type
        FILES=30 then save and exit the file. You will need to quit DDFile
        and reboot your machine in order for DOS to read the updated
        CONFIG.SYS file and setup your system accordingly.



                                                                    Page 64

        If you try to access more files than is defined by the FILES
        statement, you will get a run-time open_error() that will exit you
        from the program. This should cause no harm to your data. However
        you will need to increase the number of files your system can use.

        Upon selecting "System Information", if the FILES statement can be
        found in DOS, the FILES setting will be displayed. Otherwise, you
        will be informed that it could not be found.

        Next, your DOS version will be displayed.

        Next, if the FILES statement could be found in DOS and you are
        running DOS version 3.30 or later, you will be informed that
        handles was set to the FILES setting. If your version of DOS is
        earlier than 3.30 and the FILES statement is found, file handles is
        set to the FILES statement as long as it is not greater than 20.

        Next, the total number of files currently in use will be displayed.
        This includes the 5 that DOS uses.
        

        B) Select Screen Colors
        -------------------------------------------------------------------
        If your system reports a monochrome card, colors will be set to
        monochrome unless you say it does not have a momo card.

        There are three choices to be made for color card screen colors:

                     1) Screen background color.
                     2) Boxes and text other than fields.
                     3) Menu light bars and fields.

        By default the vaules are #1 for the background color, #214 for the
        box and text color and #514 for the menu light bars and fields
        color. These can be changed to suit your preference.


        C) Set Modem Parameters
        -------------------------------------------------------------------
        This selection will allow you to define Prefix #1, Prefix #2, COM
        Port and Calling Card #. These are used by "<F8> Call" while
        editing records to auto-dial the area code and/or phone on your
        installed modem if there is one.

        The Prefix #1 and #2 are for dial commands. The dial commands will
        be dialed prior to the area code and phone number located in the
        record. If the area code is empty, it will be ignored. The Calling
        Card #, if defined, will be added to the end of the phone number.

        The following are three prefix codes and their use with a Hayes
        compatible modem:



                                                                    Page 65

        "," = PAUSE:  When placing a call from an office with the phone
        connected to a PBX, it is necessary to dial an access code, usually
        the number 9, to get an outside line. This is done by dialing a
        "9," prefix code. The "9" accesses an outside line and the ","
        pause for another dial tone. Multiple commas may be used for a
        longer pause time.

        "P" = PULSE and "T" = TONE:  By default the modem will dial in Tone
        mode. If you need to dial in Pulse mode simply insert the "P" into
        the Prefix code. The "P" and "T" can be inserted anywhere within
        the code, dialing part in Tone and part in Pulse.

        Some long distance calling companies have codes for long distance
        collect calls and other types of codes that may also be used in the
        prefix codes.

        The COM Port can be any existing COM Port on your machine. If the
        COM Port does not exist, nothing will happen when dialing a number.


        D) Field Assignment
        -------------------------------------------------------------------
        This selection will allow you to assign fields in the database to
        any of the field uses listed in this sub-menu. Upon making a
        selection, a window of fields will open allowing you to select one.
        Some of the following require the field to be a certain type and
        length. For more on field types and lengths, see "Creating or
        Modifying a Database" (chapter 9).

            Carrier Route
            ---------------------------------------------------------------
            This is needed to do carrier route reports and labels. This
            must be a character type field.

            Street Address
            ---------------------------------------------------------------
            This is needed by Zippy to automatically insert "P.O. Box" into
            if the zip code entered belongs exclusively to a post office.
            After selecting the field to use, you will be allowed to edit
            "P.O. Box" to say "Post Office Box" or anything else.

            City
            ---------------------------------------------------------------
            This is needed by Zippy to automatically insert the city name
            based upon the zip code entered.

            State
            ---------------------------------------------------------------
            This is needed by Zippy to automatically insert the 2-character
            state abbreviation based upon the zip code entered and also for
            printing bulk reports/labels. This must be a character type
            field with a length of 2.



                                                                    Page 66

            Zip Code
            ---------------------------------------------------------------
            This is needed by Zippy to automatically insert the city,
            state, and area code and also used for printing bulk
            reports/labels. This must be a character type field with a
            length of either 5 or 10 (zip+4).

            Area Code
            ---------------------------------------------------------------
            This is needed by Zippy to automatically insert the area code
            based upon the zip code entered and also by the <F8> command
            while editing records to dial a phone number on your modem.

            Phone
            ---------------------------------------------------------------
            This is needed by the <F8> command while editing records to
            dial a number on the modem.

            Record Date
            ---------------------------------------------------------------
            Assigning a date field to be the Record Date will cause today's
            date to be automatically inserted into this date field for all
            newly added records.

            Tickler Date
            ---------------------------------------------------------------
            This is needed by the Tickler. The Tickler may be run after
            first selecting a database if a date field has been assigned as
            the Tickler Date field. For more on running Tickler, see
            "Select or Close a Database" (chapter 2).

            Filter
            ---------------------------------------------------------------
            This is needed in order to create a Filter. This field must be
            a logical field and can be added to any database with
            "Create/Modify Database Files" located in the main menu. See
            "Creating or Modifying a Database" (chapter 9).

            Duplicate
            ---------------------------------------------------------------
            This is needed in order to check for duplicate records. This
            field must be a logical field and can be added to any database
            with "Create/Modify Database Files" located in the main menu.
            See "Creating or Modifying a Database" (chapter 9).


        E) Install Printer(s)
        -------------------------------------------------------------------
        Printer drivers are not mandatory to print labels, letters, or
        master lists. However, they will allow you to customize the output
        using the printer macros available for your printer.



                                                                    Page 67

        F) Select Printer
        -------------------------------------------------------------------
        This selection will allow you to select a printer from the
        installed list of printer drivers. A printer must be selected in
        order to use printer macros in the printing templates and also to
        send escape (printer) codes to the printer before printing.


        G) Bar Code Printer Emulation
        -------------------------------------------------------------------
        This selection will allow you to select the printer to emulate for
        printing bar codes. First, select your printer or one that your
        printer can emulate. Your printer manual should tell you which
        printers your printer can emulate. To print barcodes, the barcode
        macro must be placed in your template and the zipcode must be
        either 9 or 11 digits. Next, you can test your printer.

        Direct output to: -------------------------------------------------

        See Appendix B for further instruction in what to enter in this
        box. This is put in the appendix because the instuctions are the
        same for three other locations in this program.



                                                                    Page 68

        -------------------------------------------------------------------
        Appendix A                                      The CONFIG.SYS File
        -------------------------------------------------------------------
        If you are using a floppy system, you should have a CONFIG.SYS file
        on your boot-up DOS disk. If you are using a hard drive, your
        CONFIG.SYS file should be located in your root directory. If you do
        not have this file, you will need to create it with a text editor
        or word processor in DOS text mode. This file needs to contain the
        following two statements on separate lines by themselves:

                               FILES=20
                               BUFFERS=8

        If you are using DOS version 3.30 or later, set the FILES statement
        to 30 instead of 20.

        To check the FILES statement, select "General Setup" in the main
        menu, then "System Information" in that sub-menu. If the FILES
        setting can not be found in DOS or it is not set to 20 or greater,
        you will not be able to select a database. You can edit the
        CONFIG.SYS file from within DDFile using "Copy/Rename/Delete/Edit
        Files" from the main menu. See "File Management" (chapter 10).

        The FILES statement is placed on a line by itself towards the top
        of the file. Simply type FILES=20 or FILES=30 then save and exit
        the file. You will need to quit DDFile and then reboot your machine
        in order for DOS to read the updated CONFIG.SYS file to set your
        system up accordingly.



                                                                    Page 69

        -------------------------------------------------------------------
        Appendix B                                        Direct output to:
        -------------------------------------------------------------------
        To direct output to the default printer port PRN you can leave this
        blank and press <Enter>. To direct the output to ports LPT1, LPT2,
        LPT3, COM1, COM2, COM3 or COM4, type the appropriate port. If going
        to a COM port, you may need to first initialize the COM port with
        the DOS MODE command. This is done at the DOS prompt by typing MODE
        COMx=9600,N,8,1,P <Enter>. The x after COM is the COM port number.
        The MODE command is also used to redirect standard PRN or LPT1
        output to a serial COM port. See your DOS manual for more on using
        the MODE command.

        To direct output to a text file, type a filename without extension
        and press <Enter>. A filename extension of PRN will automatically
        be assigned to the filename. This feature is useful for:

        1) Sending the output PRN text file via modem to a remote location.
        2) Creating ASCII SDF or ASCII Delimited files
        3) Assisting in the creation of merge files for word processors.

        Following are the various messages and reasons for them that you
        may get in response of your direction.

        "A file name was not specified.  Press any key..."
        --------------------------------------------------
        You may have specified a drive and/or directory, but did not
        specify a filename.

        "Do not specify a file name extention.  Press any key..."
        ---------------------------------------------------------
        A period was found which means that a filename extention was
        specified. This is not allowed since the extention of PRN is
        automatically assigned.

        "File already exists.  Overwrite? (Y/N)"
        ----------------------------------------
        A filename with the PRN extention already exists in the specified
        drive and/or directory. If you answer Yes, the file will be
        overwritten.

        "Specified port is not present.  Press any key..."
        --------------------------------------------------
        The printer port specified is not present on your machine. (If you
        do not specify anything and leave it blank, the output is directed
        to the PRN port.)



                                                                    Page 70

        The following possible messages are self-explanatory.

        "Cannot determine status of printer.  Press any key..."
        "Printer is off-line or not turned on.  Press any key..."
        "Printer is off or not connected.  Press any key..."
        "Printer is out of paper.  Press any key..."
        "Printer is not connected.  Press any key..."

        If any of the above messages appear and your printer does not seem
        to be having the stated problem, you may over-ride and print anyway
        by pressing <Alt-O>. If a message appears at the top of your screen
        stating "...printer not ready    Retry (Y/N)" and you answer No,
        the current database will be closed and the program will quit. If
        you ready the printer and answer Yes, the program will continue
        pending the printer was in fact made ready.



                                                                    Page 71

        -------------------------------------------------------------------
        ----------                   GLOSSARY                    ----------
        -------------------------------------------------------------------

        ASCII
        -------------------------------------------------------------------
        This stands for the American Standard Code for Information
        Interchange, an international method of representing information in
        computers.  ASCII is pronounced "ask-key".


        ASCII DELIMITED FILES
        -------------------------------------------------------------------
        ASCII DELIMITED files consist of records in which the fields are
        surrounded by quotation marks and are separated from other fields
        by commas. Each record is on a line by itself. Trailing spaces are
        truncated. Date fields are written in the form YYYYMMDD.

            Example ASCII DELIMITED format:

            "Jones","Mary","123 Main Street","Georgia"
            "Smith","Jerry","1964 Jones Avenue","Florida"
            "Peterson","Paul","985 East Polk","California"

        Because most other database management programs export database
        files in ASCII DELIMITED format and because DDFile can import ASCII
        DELIMITED files, any data can be used with DDFile without
        reentering each record.


        ASCII SDF (System Data Format) FILES
        -------------------------------------------------------------------
        ASCII SDF files, like DELIMITED files, store each record on an
        individual line. However, the fields and records maintain a preset
        width. SDF files are sometimes referred to as FLAT files.

            Example ASCII SDF format:

            Jones         Mary       123 Main Street          Georgia
            Smith         Jerry      1964 Jones Avenue        Florida
            Peterson      Paul       985 East Polk            California


        DATA
        -------------------------------------------------------------------
        A piece of information. Normally useless as an independent item.
        Can be useful when combined or used with other data. For example, a
        phone number is useless until it is conveyed in conjunction with
        other data such as a name.



                                                                    Page 72

        DATABASE
        -------------------------------------------------------------------
        A repository of stored information organized in such a way that
        information is easily retrieved. An example of a computerized
        database is a collection of RECORDS, each record having the same
        template for input. An example of a non-computer database is the
        phone book.


        FIELD
        -------------------------------------------------------------------
        An item of information stored as part of a RECORD. Normally several
        fields are used for DATA storage in a DATABASE RECORD. Each field
        is used for a particular piece of DATA. For example, a date would
        be stored in a date field (__/__/__), last name would be stored in
        a field for the last name.


        INDEX FILE
        -------------------------------------------------------------------
        An INDEX FILE consists of at least one field from a database. The
        field is sorted alphabetically, numerically, or chronologically,
        and with each entry in the field is the corresponding record number
        from the database. The record number is used to reference the
        proper record in the database. An index file is, in effect, a
        virtual sort of a database, since none of the records in the
        database are sorted. The "index file to database file" relation is
        much the same as the index in a book to the location in the text.


        PROMPT
        -------------------------------------------------------------------
        Blinking cursor or highlighted menu command.


        RAM
        -------------------------------------------------------------------
        An acronym for Random Access Memory. This is normally the
        computer's main memory.


        RECORD
        -------------------------------------------------------------------
        An integral unit of data items (FIELDS) that, when combined with
        other records, makes up a database.


        RECORD POINTER
        -------------------------------------------------------------------
        The current record position within a database file.


