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

 { ---------------------------------------------------------------- }
 {     TDB-TESTPROGRAMM 10 - VIEWER F.R BELIEBIGE DBASE-DATEIEN     }
 { ---------------------------------------------------------------- }
 { Es werden die in der Kommandozeile angegebenen Datenbank-Dateien }
 { - sofern m.glich / existent - in Struktur und Inhalt angezeigt.  }
 { Wildcards sind nicht erlaubt; sollte keine Datei angegeben wer-  }
 { den, so wird eine Eingabe erfragt.                               }
 { ---------------------------------------------------------------- }
 {       (c)  1992  by  Aurora  featuring  M.J. Schwaiger           }
 { ---------------------------------------------------------------- }
 {      History:                                                    }
 { 1992-03-15   MS   Modulschnittstelle / Objektdefinitionen        }
 { ---------------------------------------------------------------- }

 PROGRAM TDBTst1;

   USES
     ADOS,

     Error,
     TDB;

   VAR
     Db             : PDataBase;
     Name           : STRING;
     Count          : INTEGER;
     Typ            : CHAR;
     NK,
     Size,
     Params         : BYTE;
     D              : TEXT;

   BEGIN
     SetErrHandler (ErrPrint);

     ASSIGN (D,  '');
     REWRITE (D);

     IF PARAMCOUNT < 1 THEN
     BEGIN
       WRITELN;
       WRITE ('Dateiname: ');
       READLN (Name);

       IF POS ('.',  Name) < 1 THEN
         Name := Name + '.DBF';

       IF NOT (ExistiertDatei (Name)) THEN
       BEGIN
         WRITELN (D);
         WRITELN (D,  'Datenbank ',  Name,  ' nicht gefunden !');
         WRITELN (D);
       END { IF NOT (ExistiertDatei (Name)) THEN }
       ELSE
       BEGIN
         Db := NEW (PDataBase,  Use (Name));

         WRITELN (D);
         WRITELN (D,  '              Datenbankstruktur:');
         WRITELN (D);

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

           WRITE (D,  Count : 2,  '. ',  Db^.FeldName (Count),  '     ',
                                                   Typ,  '     ',  NK);

           IF Typ = 'N' THEN
             WRITELN (D,  ' : ',  NK)
           ELSE
             WRITELN (D);
         END; { FOR Count := 1 TO db^.AnzahlFelder DO }

         WRITELN (D);
         WRITELN (D,  Db^.AnzahlFelder,  ' Felder, ',  Db^.Count,
                                                      ' Datens.tze');
         WRITELN (D);

         WRITELN (D);
         WRITELN (D,  '              Datenbankinhalt:');
         WRITELN (D);

         IF Db^.EOF THEN
         BEGIN
           WRITELN (D);
           WRITELN (D,  'Keine Datens.tze gespeichert');
         END
         ELSE
         BEGIN
           Db^.First;

           WHILE NOT (Db^.EOF) DO
           BEGIN
             WRITE (D,  Db^.RecNo : 4,  '. ');

             FOR Count := 1 TO Db^.AnzahlFelder DO
               WRITE (D,  Db^.READ (Db^.FeldName (Count)),  '  ');

             WRITELN (D);

             Db^.Skip (1);
           END; { WHILE NOT (db^.EOF) DO }
         END; { IF db^.EOF THEN ... ELSE }

         WRITELN (D);

         DISPOSE (Db,  CLOSE);
       END; { IF NOT (ExistiertDatei (Name)) THEN ... ELSE }
     END { IF PARAMCOUNT < 1 THEN }
     ELSE
     BEGIN
       FOR Params := 1 TO PARAMCOUNT DO
       BEGIN
         Name := PARAMSTR (Params);

         IF POS ('.',  Name) < 1 THEN
           Name := Name + '.DBF';

         IF NOT (ExistiertDatei (Name)) THEN
         BEGIN
           WRITELN (D);
           WRITELN (D,  'Datenbank ',  Name,  ' nicht gefunden !');
           WRITELN (D);
         END { IF NOT (ExistiertDatei (Name)) THEN }
         ELSE
         BEGIN
           Db := NEW (PDataBase,  Use (Name));

           WRITELN (D);
           WRITELN (D,  '              Datenbankstruktur:');
           WRITELN (D);

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

             WRITE (D,  Count : 2,  '. ',  Db^.FeldName (Count),  '     ',
                                                     Typ,  '     ',  NK);

             IF Typ = 'N' THEN
               WRITELN (D,  ' : ',  NK)
             ELSE
               WRITELN (D);
           END; { FOR Count := 1 TO db^.AnzahlFelder DO }

           WRITELN (D);
           WRITELN (D,  Db^.AnzahlFelder,  ' Felder, ',  Db^.Count,
                                                        ' Datens.tze');
           WRITELN (D);

           WRITELN (D);
           WRITELN (D,  '              Datenbankinhalt:');
           WRITELN (D);

           IF Db^.EOF THEN
           BEGIN
             WRITELN (D);
             WRITELN (D,  'Keine Datens.tze gespeichert');
           END
           ELSE
           BEGIN
             Db^.First;

             WHILE NOT (Db^.EOF) DO
             BEGIN
               WRITE (D,  Db^.RecNo : 4,  '. ');

               FOR Count := 1 TO Db^.AnzahlFelder DO
                 WRITE (D,  Db^.READ (Db^.FeldName (Count)),  '  ');

               WRITELN (D);

               Db^.Skip (1);
             END; { WHILE NOT (db^.EOF) DO }
           END; { IF db^.EOF THEN ... ELSE }

           WRITELN (D);

           DISPOSE (Db,  CLOSE);
         END; { IF NOT (ExistiertDatei (Name)) THEN ... ELSE }
       END; { FOR Params := 1 TO PARAMCOUNT DO }
     END; { IF PARAMCOUNT < 1 THEN ... ELSE }

     CLOSE (D);
   END. { PROGRAM TDBView }

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