home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / magazine / insidetp / 1990_07 / printdbf.pas < prev    next >
Pascal/Delphi Source File  |  1990-06-28  |  2KB  |  74 lines

  1. {================================================
  2.  =   PROGRAM: PRINTDBF.PAS                      =
  3.  =   PURPOSE: Print listings of Dbase III+/IV   =
  4.  =            DBF files                         =
  5.  ================================================}
  6.  
  7. {------------------------------------------------
  8.   Initialize variables and create types         -
  9.  -----------------------------------------------}
  10.  
  11. USES Crt, dBASE;
  12.  
  13. VAR
  14.    DFile      : DbfFile;
  15.    ActionHdr  : Byte;
  16.    ActionFile : Boolean;
  17.  
  18. PROCEDURE Beep;
  19.   BEGIN
  20.     Sound(1000);Delay(500);NoSound
  21.   END;
  22.  
  23. {------------------------------------------------
  24.  - Main processing loop                         -
  25.  -----------------------------------------------}
  26.  
  27. BEGIN
  28.   ClrScr;
  29.   DFile := DbfOpen('PLANETS.DBF');
  30.   WriteLn;
  31.   ActionHdr := DbfReadHdr(DFile);
  32.   CASE ActionHdr OF
  33.   1 : BEGIN
  34.         Beep;
  35.         WriteLn('Not a dBASE III+ or IV file.')
  36.       END;
  37.   3 : BEGIN
  38.         Beep;
  39.         WriteLn('Error reading dBASE file.')
  40.       END
  41.   ELSE
  42.     BEGIN
  43.       DbfDispHdr(DFile);
  44.       Pause;
  45.       ActionFile := DbfReadStru(DFile);
  46.       CASE ActionFile OF
  47.       TRUE :
  48.         BEGIN
  49.           ClrScr;
  50.           DbfDispStru(DFile);
  51.           Pause;
  52.           IF ActionHdr <> 2 THEN
  53.             BEGIN
  54.               ClrScr;
  55.               DbfList(DFile);
  56.               Pause
  57.             END
  58.           ELSE
  59.             BEGIN
  60.               ClrScr;
  61.               WriteLn('No records to print')
  62.             END
  63.         END;
  64.       FALSE :
  65.         BEGIN
  66.           Beep;
  67.           WriteLn('Field information error')
  68.         END
  69.       END    {Case ActionFile}
  70.     END;     {Case ActionHdr}
  71.     ActionFile := DbfClose(DFile);
  72.   END
  73. END.
  74.