[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
DB04.PAS

 { ---------------------------------------------------------------- }
 {                   TDB DEMOPROGRAMM 4 - LESEN                     }
 { ---------------------------------------------------------------- }
 { Gibt die S.tze der Datenbank "DB02.DBF" am Bildschirm aus.       }
 { Es wird dabei eine Datei zur Standardausgabe ge.ffnet, um die    }
 { Ausgabe auch auf ein File / den Drucker umlenken zu k.nnen.      }
 { ---------------------------------------------------------------- }
 {       (c)  1992  by  Aurora  featuring  M.J. Schwaiger           }
 { ---------------------------------------------------------------- }
 {      History:                                                    }
 { 1992-04-15   MS   Interfacefestlegung und Implementierung.       }
 { ---------------------------------------------------------------- }

 PROGRAM Db04;

   USES
     DbTypes,                 { Enth.lt die Typdefinitionen f.r alle }
                             { Module des Datenbanksystems TDB.     }
     Error,                   { Fehlerbehandlungsroutinen, -handler  }
     ADatum,                  { Definition TDate (unter anderem ...) }
     AStrTool,                                  { Stringformatierung }
     TDB;                    { Die eigentlichen Datenbank-Objekte.  }


   VAR
     DB             : PDataBase;                  { Datenbankobjekt }
     Datum          : TDate;
     Cnt            : BYTE;
     Typ            : CHAR;                               { Feldtyp }
     Size,                                               { Feldgr..e }
     NK             : BYTE;          { Bei Zahlen: Nachkommastellen }
     Out            : TEXT;          { Textfile f.r Standardausgabe }

   BEGIN                                            { Hauptprogramm }
     ASSIGN (Out,  '');
     REWRITE (Out);                               { Standardausgabe }

     SetErrHandler (ErrPrint);         { Alle Fehler werden auf dem }
                                       { Drucker mitprotokolliert.  }

     DB := NEW (PDataBase,                 { Speicherallozierung und }
           Use ('DB02.DBF'));        { Initialisierung des Objektes }

     IF (GetErr = 0) AND (DB^.Count > 0) THEN   { Keine Fehler ? }
                                           { .berhaupt Datens.tze ? }
     BEGIN
       WRITELN (Out);
       WRITELN (Out);

       FOR Cnt := 1 TO DB^.AnzahlFelder DO
       BEGIN
         DB^.FeldTyp (DB^.FeldName (Cnt),  Typ,  Size,  NK);

         IF Typ = 'D' THEN
           WRITE (Out,  LFormat (DB^.FeldName (Cnt),  10),  ' ')
         ELSE
           WRITE (Out,  LFormat (DB^.FeldName (Cnt),  Size),  ' ');
       END; { FOR Cnt := 1 TO DB^.AnzahlFelder DO }

       WRITELN (Out);

       WHILE NOT (DB^.EOF) DO
       BEGIN
         FOR Cnt := 1 TO DB^.AnzahlFelder DO
         BEGIN
           DB^.FeldTyp (DB^.FeldName (Cnt),  Typ,  Size,  NK);

           CASE Typ OF
             'C' :
               WRITE (Out,  LFormat (DB^.READ (DB^.FeldName (Cnt)),
                                                         Size),  ' ');
             'L' :
               IF DB^.ReadB (DB^.FeldName (Cnt)) THEN
                 WRITE (Out,  'J ')
               ELSE
                 WRITE (Out,  'N ');
             'N' :
               IF NK = 0 THEN
                 WRITE (Out,
                          DB^.ReadL (DB^.FeldName (Cnt)) : Size,  ' ')
               ELSE
                 WRITE (Out,  DB^.ReadR
                              (DB^.FeldName (Cnt)) : Size : NK,  ' ');
             'D' :
               WRITE (Out,  DB^.ReadD_ (DB^.FeldName (Cnt)),  ' ');
             'M' :
               WRITE (Out,
                     LFormat ('M: ' + DB^.READ
                                   (DB^.FeldName (Cnt)),  Size),  ' ');
           END; { CASE Typ OF }
         END; { FOR Cnt := 1 TO DB^.AnzahlFelder DO }

         WRITELN (Out);

         DB^.Skip (1);
       END; { WHILE NOT (DB^.EOF) DO }

       DISPOSE (DB,  CLOSE);
     END; { IF (GetErr = 0) AND ... }

     WRITELN;
     WRITE ('Weiter mit Taste ...');
     READLN;
     WRITELN;

     CLOSE (Out);
   END. { PROGRAM Db04 }

This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson