TbDbase.dcu - TTbDbase : A component set which uses a dBase III+ file
 v 0.95                   for multiple concurrent user access.
                          Supports memo fields. Don't support indexes yet.
 Delphi 2,3               Shareware (commercial fee is USD 20.-)
 version                  Register on http://www.shareit.com/programs/101780.htm

 Author:  Horacio Jamilis
 E-Mail:  terabyte@iname.com
 WWW:     http://members.xoom.com/t_byte/
      or  http://www.geocities.com/SiliconValley/Sector/2369/
 Copyright (C) 1998, Terabyte Computacion

 ===========================================================================
 I have many useful components writen. TTbDBF is just one of them.
 The others are...
  - TbDBF   ... a dBase III+ files accessing component set for Delphi 3.
                This is data aware compatible. Has not support for
                multiple concurrent access or memo fields yet.
  - TbPrint ... a Printing and reporting component set that makes VERY easy
                and VERY fast to make database reports (less than a minute).
                It can print all you want (but only text, no graphics yet), in
                Windows (using a printer driver) or Fast modes (writing directly
                to the printer port, using the device features).
                So, prints very fast.
  - TbLang  ... a MultiLanguage system. With it you could make your programs
                multilingual VERY easy. You could edit all the text strings while
                you are programing (in the Delphi IDE) or later with a stand alone
                aplication. It supports UserStrings (used in the code for messages)
                and Dialogs (MessageDlg, InputBox and InputQuery) with translated
                caption and buttons. You could use all the languages you wish.
  - LinkEdit .. Just an TEdit with an elipsis button in it's right side only when
                the edit is active (with cursor), and alignment options.
 Enjoy Them.
 ===========================================================================
 Now TbDbase is shareware.
 I spend many hours developing this high cuality components, and nobody helps.
 Send you emails to terabyte@iname.com
 Visit us in http://www.geocities.com/SiliconValley/Sector/2369/
 or          http://member.xoom.com/t_byte/
 ===========================================================================
 What comes:
  - Filtering capabilities
  - A SkeepDeleted property to avoid view of deleted records
  - More data aware like components
  - Index files support (probably dbase iii+ NDX and clipper NTX)
 ===========================================================================
 v 1.0 (31/7/98)
 - First public release.
 ===========================================================================
 TbDbase component user guide
 ----------------------------
 TbDbase is a component that let's you access dBase III+ files without BDE.
 It doesn't support data aware component but it has it's owns data aware like
 components.

 TTbField class
 --------------
 Public variables
  Name : string;     ... name of the field
  FieldType : char;  ... type of the field. C=Character N=Numeric D=Date L=Logic M=Memo
  Width : byte;      ... positions used in file by the field. Used in character or numeric fields.
  Decimals : byte;   ... number of decimals. Only used in numeric fields.

 Properties
  Value : variant;   ... gives you the value in the corresponding type.
                         C=string N=double D=TDateTime L=boolean M=string
  Text : string;     ... returns the string representation of the field value.
 
 TTbDbase class
 -------------- 

 Properties:
  Field[Index:integer]:TTbField... returns the field in the index position. (readonly)
  Position  : integer;         ... gets or sets the number of the current record in the file.
  TableName : string;          ... is the name of the dBase file.
  Active    : boolean;         ... gets or sets the table state. If it is true, the the table is opened,
                if false, the table is closed. Setting it to true, you could open the file.
  Locked    : boolean;         ... is true if the table is in edit mode. (readonly)
  EOF       : boolean;         ... returns true if you pass over the end of the file.
  BOF       : boolean;         ... returns true if you pass over the begining of the file.
  About     : TTbAboutBox      ... shows the about box for the component at design time.

 Methods:
  procedure Refresh;           ... updates the data aware like components.
  procedure Pack;              ... compact the database deleting permanently the deleted records.
  function  Open:smallint;     ... opens the file. Is the same as Active := True;
                                   return STD_ERROR_CODES
  function  Close:smallint;    ... closes the file. Is the same as Active := False;
                                   return STD_ERROR_CODES
  function  Deleted:boolean;   ... returns true if the current record is deleted.
  function  Undelete:boolean;  ... removes the deleted mark from the current record.
                                   returns true if could do this.
  function  Skip(positions:integer):smallint;
                               ... sets the current record positions records from the current one.
                                   Returns  STD_ERR_CODES. Skip(1) is the same as Next. Skip(-1) is
                                   the same as Prior;
  function  First:smallint;    ... goes to the first record of the file.
  function  Last:smallint;     ... goes to the last record of the file.
  function  Next:smallint;     ... goes to the next record in the file.
  function  Prior:smallint;    ... goes to the previous record in the file.
  function  RecCount:integer;  ... returns the number of records in the file.
  function  FieldByName(Name:string):TTbField;
                               ... returns the field of the given name.
  function  Edit:boolean;      ... set the table in edit mode. Put the data aware like components
                                   in edit mode.
  function  Cancel:boolean;    ... cancel the edit or append mode.
  function  Post:boolean;      ... saves the information of the current record and goes out of the
                                   edit or append mode.
  function  Append:boolean;    ... sets the table to the append mode to add a new record to the
                                   file. Puts the data aware like component in edit mode.

 Events: works as expected! :-)
  AfterCancel  
  AfterClose
  AfterDelete
  AfterEdit
  AfterInsert
  AfterOpen
  AfterPost
  BeforeCancel
  BeforeClose
  BeforeDelete
  BeforeEdit
  BeforeInsert
  BeforeOpen
  BeforePost