








                                    GS_DBASE

                                   Version 2.5

                                GRIFFIN SOLUTIONS

                             dBase III, III+ access

                                 1 August 1991

                    (C) Copyright 1991 - All Rights reserved

                                Griffin Solutions
                             102 Molded Stone Place
                          Warner Robins, Georgia 31088
                                 (912) 953-2680
                              CompuServe 75206.231


         ---------------------------------------------------------------

        These Turbo Pascal 5.5 routines handle processing for dBase III
        files, including memo (.DBT), index (.NDX), and data (.DBF) files.
        Use is made of object oriented programming to simplify the user
        interface.  Examples of the user interface is demonstrated in the
        sample programs.

        This release is valid for reading and writing of data, index, and
        memo files.


















--------------------------------------
dBase is a trademark of Ashton-Tate
Turbo Pascal is a trademark of Borland






                                    Shareware
                                    ---------

        GS_dBase is copyrighted. It is not a public domain program.  It
        is being  distributed as Shareware, which means that unmodified
        copies of the software and documentation may be freely copied and
        shared.  We ask in return that should you find GS_dBase to be
        useful, you become a registered user.  You become registered by
        sending $25.00 to the address on the cover. By registering you
        will get:

                o  A copy of the latest version of the program.

                o  Automatic notification of major program updates.

                o  Technical support via Compuserve or by mail.

                o  A user's manual on disk.  Sorry--printed manuals are too
                   expensive at this price.


        The shareware philosophy is to pay smaller amounts for well-
        crafted and useful software from developers who cannot spend the
        millions of dollars on  marketing necessary to compete with the
        large software development companies.  You benefit by being able
        to try a wider variety of software products to find the ones that
        suit your particular purpose. And the trial is  free. The
        shareware developer benefits from being able to distribute his
        work to a wider audience than would be possible through normal
        channels.

        Your share of the responsibility for shareware to continue, and
        to support  the development of more and better products is to
        distribute your shareware  programs to others and become a
        registered user of those products you like and use.






FEATURES

Welcome to GS_dBASE, a series of Turbo Pascal 5.5 routines for management of
dBase III+ files.  The routines are designed to do the following:

  - Provide a simple user interface to read and write dBase III files.

  - Allow use and updating of index (NDX) files in reading and updating the
    dBase III data (DBF) files.

  - Allow reading and updating of memo (DBT) file entries.

  - Allow creation of new dBase III files.

  - Allow creation of indexes to dBase files.

  - Provide automatic routines to display, edit, and update dBase III files.

  - Provide a file handler interface that provides a simple disk cache
    capability and provision for LAN adaptability.

  - Do all of the above using only Turbo Pascal 5.5 -- no assembly routines are
    used, yet speed is not sacrificed.

  - Apply Object Oriented Programming to create easily usable modules.



GETTING STARTED

This section will acquaint you with the files on the distribution disk and show
you a demonstration to quickly see what GS_dBase can accomplish.

   Distribution Files

   The following programs should be on the accompanying disk:

        GS_DATE.PAS           Unit containing date-handling routines
        GS_DB3WK.PAS          Unit for creating a dBase III file
        GS_DBASE.PAS          Handles .DBF file operations
        GS_DBFLD.PAS          Unit for field handling and .DBT files
        GS_DBNDX.PAS          Handles .NDX file access
        GS_DBTBL.PAS          Unit for creating menus from dBase fields
        GS_EDIT.PAS           Unit for editing memo fields
        GS_ERROR.PAS          Unit to handle error messages
        GS_FILEH.PAS          Unit to process file I/O
        GS_KEYI.PAS           Unit for keyboard input
        GS_PICK.PAS           Unit for pulldown menus
        GS_SCRN.PAS           Unit for handling the screen display
        GS_SORT.PAS           Unit containing sort, compare, and swap routines
        GS_STRNG.PAS          Unit to handle string manipulation
        GS_WINDW.PAS          Unit to create windows
        GS_WINFC.PAS          Unit to provide interface 'hook' to windows







        DB_XPL01.PAS          Example program - The Basic GS_dBase Program
        DB_XPL02.PAS          Example program - Adding an Index
        DB_XPL03.PAS          Example program - Formatting Data on the Screen
        DB_XPL04.PAS          Example program - Updating dBase III Files
        DB_XPL05.PAS          Example program - Automating Screen Displays
        DB_XPL06.PAS          Example program - Adding Automated Update
        DB_XPL07.PAS          Example program - Adding Field Menus
        DB_XPL08.PAS          Example program - Functional File Update Program
        DB_XPL09.PAS          Example program - Creating an Index File
        DB_XPL10.PAS          Example program - Creating a dBase III File
        DB_XPL11.PAS          Example program - Packing a dBase III File
        DB_XPL12.PAS          Example program - Working with Fields
        DB_XPL13.PAS          Example program - Using Memo Fields
        DB_XPL14.PAS          Example program - Using Virtual Methods
        DB_XPL15.PAS          Example program - Using the GS_Date Unit
        DB_XPL16.PAS          Example program - Using the GS_Strng Unit
        DB_XPL17.PAS          Example program - Using the GS_Winfc unit
        DB_XPL18.PAS          Example program - Using the StatusUpdate Method

        HEALTH.DBF            dBase Test Data File 1
        HEALTH.DBT            dBase Test Data File 1 Memo File
        FOODNAME.NDX          dBase Test Index File for HEALTH.DBF
        FOODCODE.NDX          dBase Test Index File for HEALTH.DBF
        HLTHDATA.DBF          dBase Test Data File 2
        HLTHDATA.NDX          dBase Test Data File 2 Index File

        GSDBLOOK.PAS          Demonstration Program
        GSDBLOOK.EXE          Executable Demonstration Program

        ADDENDUM.001          Descriptions and Example Applications of
                              the Latest Changes.

        READ.ME               This File


Installation

Installation consists of copying these disks to your hard disk.  It is
recommended that backup copies be made.  You will likely want to reload the
database files as you 'play' with and change them while running the
demonstrations.


Demonstration

To get the feeling of the speed and features of GS_dBase, let's run the
program using the HEALTH.DBF file.

     1.  Compile and run GSDBLOOK.PAS to get a feel for the ease with which
         a program can be designed that allows selection, editing, and deletion
         of dBase records.  If you prefer, the GSDBLOOK.EXE program may be used
         instead.

     2.  Execute GSDBLOOK without any other parameters.






         A.  You will be presented with a selection of all .DBF files in
             the current subdirectory.  Make sure HEALTH.DBF is highlighted
             and press return.

         B.  Next will be displayed a list of all index files in the
             subdirectory.  For now, just press Escape.

         C.  A menu consisting of options to Edit, Append, Select, Print,
             Pack, and Exit will appear.  The Select option is the only one
             that is not immediately obvious.  Use the cursor keys to
             highlight the Select option and press return.

         D.  You will be presented with a list of field names included in
             the database.  Highlight 'FOOD' and press return.

         E.  You will then be asked to provide select criteria.  For example,
             To get a selection of all foods that start with 'B', you can
             press 'b' and return.  For all starting with 'BR', press 'b',
             'r' and return.  To get an alphabetical list of all records
             press enter with the select field empty.

         F.  Highlight the food name you wish to see.  Use the home, end,
             and cursor up and down arrows to select.  The record will be
             displayed for editing.  As an alternative, you may append a new
             record by selecting 'Append' at the end of the list.

         G.  Once the record is selected, any field may be updated.  To access
             a memo field, use the cursor keys to highlight the field.  When
             the field is highlighted, it will change from '-- memo --' to
             ' Edit? '.  Press 'y' to call up the memo field in the editor.

         H.  When editing is complete, press F10 to exit.  Pressing [Esc] will
             exit the editor without saving the changes.

         I.  You may then select another record.  Press [ESC] when done.

     3.  This program offers a choice of selecting, editing, appending,
         printing, or packing records.  The printing routine allows you to
         select the fields you wish to list.  When all desired fields have been
         picked, press escape.  You will then be asked if you want to print the
         listing.

     4.  The program may be executed with the name of the file to use on the
         command line (without an extension).  For example, if you want to
         edit file 'xyz.dbf' using index 'tuv.ndx' then the command is:

               GSDBLOOK XYZ TUV

         If there is no index, the second argument may be ommited.






Major changes in GS_dBase Version 2.5:

     -  Dates are now handled as longint values using their Julian Date.
        This simplifies date calculations.  See GS_Date unit for details.

     -  A windows interface is added to facilitate use of other window
        handling packages to replace GS_Wind.  GS_Wind is renamed GS_Windw.
        See GS_Winfc unit for details.

     -  Additional string handling functions have been added.  See GS_Strng
        unit for details.

     -  A StatusUpdate routine is available to allow the programmer to capture
        the progress of long-running routines such as Pack and IndexTo.

You may read about these upgrades in the file ADDENDUM.001, included with this
library.  It may be printed by using the 'COPY ADDENDUM.001 PRN' DOS command.
Your printer should be set to 12-pitch.

