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

 { ---------------------------------------------------------------- }
 {             TESTPROGRAMM 2 LOW-LEVEL-DBASE-ROUTINEN              }
 { ---------------------------------------------------------------- }
 { Erzeugt eine Datenbank-Datei. Achtung: Es wird der Error-Handler }
 { "ErrPrint" eingesetzt, der einen Textdrucker an PRN voraussetzt. }
 { ---------------------------------------------------------------- }
 {       (c)  1992  by  Aurora  featuring  M.J. Schwaiger           }
 { ---------------------------------------------------------------- }
 {     History:                                                     }
 {  Datum     / Bearb. / Art                                        }
 { 12. 3.1992    MS       Implementierung.                          }
 { ---------------------------------------------------------------- }

 PROGRAM LL02;

   USES
     Error,
     LLdBase,

     ADOS,

     CRT;


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

   BEGIN
     SetErrHandler (ErrPrint);

     Db := NewDb;

     Count := 1;

     REPEAT
       Name := '';

       WRITE ('Feldname (Return=Ende): ');
       READLN (Name);

       IF Name <> '' THEN
       BEGIN
         WRITE ('Feldtyp: ');
         READLN (Typ);

         WRITE ('Breite: ');
         READLN (Breite);

         WRITE ('Nachkomma: ');
         READLN (NK);

         Db^.Feld [Count].Name := Name;
         Db^.Feld [Count].Typ := Typ;
         Db^.Feld [Count].Size := Breite;
         Db^.Feld [Count].NK := NK;

         WRITELN;
         INC (Count);
       END;
     UNTIL Name = '';

     Db^.AnzFelder := Count - 1;

     WRITE ('Name Datenbank: ');
     READLN (Name);
     WRITELN;

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

     DbCreate (Db,  Name);

     IF GetErr = 0 THEN
     BEGIN
       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,  '              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 GetErr = 0 THEN }

     DISPOSE (Db);

     CLOSE (D);
   END. { PROGRAM LL02 }

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