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

 { ---------------------------------------------------------------- }
 {             TESTPROGRAMM 1 LOW-LEVEL-DBASE-ROUTINEN              }
 { ---------------------------------------------------------------- }
 { "Viewer" f.r beliebige dBase-Dateien.                            }
 { ---------------------------------------------------------------- }
 {       (c)  1992  by  Aurora  featuring  M.J. Schwaiger           }
 { ---------------------------------------------------------------- }
 {     History:                                                     }
 {  Datum     / Bearb. / Art                                        }
 { 12. 3.1992    MS       Implementierung.                          }
 { ---------------------------------------------------------------- }

 PROGRAM LL01;

   USES
     Error,
     LLdBase,

     ADOS,

     CRT;


   VAR
     Db             : Pdbf;
     Name           : STRING;
     Count          : INTEGER;
     Params         : BYTE;
     D              : TEXT;

   BEGIN
     SetErrHandler (ErrPrint);

     Db := NewDb;

     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
         DbUse (Db,  Name);

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

         FOR Count := 1 TO AnzahlFelder (Db) DO
         BEGIN
           WRITE (D,  Count : 2,  '. ',  FeldName (Db,  Count),  '     ',
                                      Db^.Feld [Count].Typ,  '     ',
                                      Db^.Feld [Count].NK);

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

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

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

         DbFirst (Db);

         WHILE NOT (DbEOF (Db)) DO
         BEGIN
           WRITE (D,  DbRecNo (Db) : 4,  '. ');

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

           WRITELN (D);

           DbSkip (Db);
         END; { WHILE NOT (dbEOF (db)) DO }

         WRITELN (D);

         DbClose (Db);
       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
           DbUse (Db,  Name);

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

           FOR Count := 1 TO AnzahlFelder (Db) DO
           BEGIN
             WRITE (D,  Count : 2,  '. ',  FeldName (Db,  Count),  '     ',
                                        Db^.Feld [Count].Typ,  '     ',
                                        Db^.Feld [Count].NK);

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

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

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

           DbFirst (Db);

           WHILE NOT (DbEOF (Db)) DO
           BEGIN
             WRITE (D,  DbRecNo (Db) : 4,  '. ');

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

             WRITELN (D);

             DbSkip (Db);
           END; { WHILE NOT (dbEOF (db)) DO }

           WRITELN (D);

           DbClose (Db);

           IF Params <> PARAMCOUNT THEN
           BEGIN
             WRITELN (D);
             WRITELN (D);
           END; { IF Params <> PARAMCOUNT THEN }
         END; { IF NOT (ExistiertDatei (Name)) THEN ... ELSE }
       END; { FOR Params := 1 TO PARAMCOUNT DO }
     END; { IF PARAMCOUNT < 1 THEN ... ELSE }

     DISPOSE (Db);

     CLOSE (D);
   END. { PROGRAM LL01 }

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