===== Part of the DBFObj object ===========================================

    DBName  : FileName;  {DBF file name}
    DBarea  : byte;      {DBF Area number}
    CurrRec : longint;   {Current record number}
    _FOUND  : BOOLEAN;   {True if found else false}
    _EXACT  : BOOLEAN;   {True if exact search}
    _EOF    : BOOLEAN;   {True if End Of File encountered}
    _BOF    : BOOLEAN;   {True if beginning of file encountered}
    _OK     : Boolean;   {True if OK}
    _Confirm: Boolean;   {True if return has to be used to advance to next}

*   procedure zap;
      {Delete all records}
*   procedure recallall;
      {Recall all Deleted Records}
*   procedure pack;
      {Remove deleted records from file}
*   procedure recallrec(RecNum : longint);
      {Recall a single record}
      { Where RecNum = the Record Number you want to undelete}
*   procedure deleterec(RecNum : longint);
      {Delete a single record}
      { Where RecNum = The record number you want to delete }
*   procedure FRESHEN;
      {Zap and pack all records}
*   procedure CopySto(Fname : string);
      {Copy file structure}
      { Where Fname = The name of the file you want to copy the structure to}
*   function  GetFld(Fnum : Byte) : string;
      {Get Field from current record}
      { Where Fnum = The Field number you want to retrieve}
*   procedure replfld(Fnum : Byte;FStr : string);
      {Replace Field from current record}
      { Where Fnum = the Field Number you want to replace with Fstr
              Fstr = The replacement string}
*   procedure SayXY(xpos,ypos,fldnum : byte);
      {Write a Field from current record to screen}
      { Where xpos   = X position on the screen
              ypos   = Y position on the screen
              fldnum = Field Number to display}
*   procedure GetXY(xpos,ypos,fldnum : byte;SayStr,Pix : string);
      {Get user input and replace field}
      { Where xpos   = x coordinate on the screen
              ypos   = y coordinate on the screen
              fldnum = Database Field Number (ex. 1st field in record = 1
                                                  2nd field in record = 2
              SayStr = Prompt string that appears before the get field
              Pix    = Picture format string
                        ! = Convert to uppercase
                        X = Allow anything
                        A = Allow alphabet characters only
                        N = All alphanumeric characters only
                        L = Allow logical entry only T for True F for False
                        Y = Allow Y or N value
                        # = Allow numeric valuse only
                        9 = Allow numbers and decimal only
                       @D = Allow date entry only exp
                        @ = only valid if the first character in the string
                            make the whole string the same as the next format
                            character that follows exp. '@!' = make the
                                                               complete string
                                                               uppercase}

*   procedure GotoRec(RecNum : longint);
      {Goto specified record}
      { Where Recnum = Database record number}
*   procedure appendblank;
      {Append a blank record}
*   function  recno : longint;
      {Get current record #}
*   function  reccount : longint;
      {Get number of records in database}
*   function  deleted : boolean;
      {return true if current record is deleted}
*   procedure skip;
      {goto next sequencial record}
*   function  Locate(fnum : byte;FldStr : string) : boolean;
      {Locate a string if database}
      { Where fnum   = The field number for the search string
              FldStr = The Search String}
*   function  Continue(fnum : byte;FldStr : string) : boolean;
      {Find next occurance of string in locate}
      { Where fnum   = The field number for the search string
              FldStr = The Search String}
*   procedure List;
      {List database to screen}
*   procedure DB_Stat;
      {List DB statistics to screen}
*   procedure NewField(FldName : string;Typ : char;Len,Dec : Byte);
      {Create a new database field}
      { Where FldName = the Name of the new field
              Typ     = The Field Type ( C = Character
                                         N = Numeric
                                         D = Date )
              Len     = Field Length
              Dec     = Decimal Position }
*   procedure DoBrowseX(Title,BoxDef : string;TopX,TopY,BotX,BotY,Shadow,Border,WindC,Highbar : byte);
      {Browse with extended input}
      { Where Title   = Displayed Title of Window
              BoxDef  = Border Type exp Single = Single Line
                                        Double = Double Line
              TopX    = Top Left X Position of window
              TopY    = Top Left Y Position of window
              BotX    = Bottom X Position of window
              BotY    = Bottom Y Position of window
              Shadow  = Shadow color or $00 for no shadow
              Border  = Border color
              WindC   = Window Color
              HighBar = Highlight Bar Color }
*   procedure DoBrowse(X,Y : byte);
      {Browse database}
      { Where X = X position
              Y = Y position}

===== End of the DBFObj object ===========================================

procedure pause;                       {Display a pause prompt       }
function  ctod(dates : str8) : string; {Convert a date to dbf date   }
function  dtoc(dates : str8) : string; {Convert a dbf date to date   }
function  Upper(str : string): string; {Convert lower to upper string}
function  CurrDate : string;           {Return Current date          }
function  StrToNum(Str : String) : integer; {Convert a string to numeric    }
procedure ReadGet;                          {Read the Gets defined in DBFObj}
procedure OpenDB(VAR DB : DBFobj;fname : string); {Open the database}
function  CreateDB(VAR DB : DBFobj;fname : string) : boolean; {Create a database}
procedure CloseDB(VAR DB : DBFobj);     {Close the database          }

