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

 { ---------------------------------------------------------------- }
 {          TDB DEMOPROGRAMM 09 - TESTDATENS.TZE GENERIEREN         }
 { ---------------------------------------------------------------- }
 { Erzeugt eine neue Datenbank ("DB09.DBF") und "f.llt" sie mit     }
 { 1000 Testdatens.tzen.                                            }
 { Anschlie.end wird die Datenbank normal ge.ffnet und die Daten-   }
 { bankinformationen - wie bei "DB03" - ausgegeben.                 }
 { ---------------------------------------------------------------- }
 {       (c)  1992  by  Aurora  featuring  M.J. Schwaiger           }
 { ---------------------------------------------------------------- }
 {      History:                                                    }
 { 1992-04-15   MS   Interfacefestlegung und Implementierung.       }
 { ---------------------------------------------------------------- }

 PROGRAM Db09;

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


   VAR
     CI             : TCreateInfo;
     DB             : PDataBase;                  { Datenbankobjekt }
     Datum          : TDate;
     Cnt            : BYTE;
     Typ            : CHAR;                               { Feldtyp }
     Size,                                               { Feldgr..e }
     NK             : BYTE;          { Bei Zahlen: Nachkommastellen }


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

     FILLCHAR (CI.Felder,  SIZEOF (CI.Felder),  0);    { Vorsicht ist }
                                    { die Mutter der Porzellankiste }

     CI.Felder [1].Name := 'Text';           { Felddefinitionen f.r }
     CI.Felder [1].Typ := 'C';                 { die neue Datenbank }
     CI.Felder [1].Size := 100;
     CI.Felder [1].NK := 0;

     CI.Felder [2].Name := 'NormZahl';
     CI.Felder [2].Typ := 'N';
     CI.Felder [2].Size := 10;
     CI.Felder [2].NK := 0;

     CI.Felder [3].Name := 'RealZahl';
     CI.Felder [3].Typ := 'N';
     CI.Felder [3].Size := 12;
     CI.Felder [3].NK := 2;

     CI.Felder [4].Name := 'Logisch';
     CI.Felder [4].Typ := 'L';
     CI.Felder [4].Size := 1;
     CI.Felder [4].NK := 0;

     CI.Felder [5].Name := 'Datum';
     CI.Felder [5].Typ := 'D';
     CI.Felder [5].Size := 8;
     CI.Felder [5].NK := 0;

     CI.Felder [6].Name := 'Memos';
     CI.Felder [6].Typ := 'M';
     CI.Felder [6].Size := 10;
     CI.Felder [6].NK := 0;

     CI.AnzFelder := 6;                        { Exakt 6 Felder ... }

     WRITELN;
     WRITELN;

                            { Datenbank erzeugen, 1000 Datens.tze   }
                            { anh.ngen, Datenbank wieder schlie.en. }
     IF GenerateCreate ('DB09',  CI,  1000) THEN
     BEGIN

 {     DATENBANKINFORMATIONEN AUSGEBEN - VERGLEICHE "DBDEMO10" !    }

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

       IF GetErr = 0 THEN                          { Keine Fehler ? }
       BEGIN
         WRITELN;
         WRITELN ('Dateiname:       ',  DB^.FileName);
         WRITELN ('Dateigr..e:      ',  DB^.FILESIZE);
         WRITELN ('Headergr..e:     ',  DB^.HeaderSize);
         WRITELN ('Recordgr..e:     ',  DB^.RecordSize);
         WRITELN ('dBase-Version:   ',  DB^.DbVersion);

         IF DB^.coNtainsMemos THEN
           WRITELN ('Memos:           JA')
         ELSE
           WRITELN ('Memos:           NEIN');

         DB^.LastUpDate (Datum);

         WRITELN ('Anzahl Felder:   ',  DB^.AnzahlFelder);

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

           WRITE ('  Feldname: ',
                  LFormat (DB^.FeldName (Cnt),  14),
                  ' Typ: ',  Typ,  ' Gr..e: ',  Size);

           IF NK <> 0 THEN
             WRITELN (' : ',  NK)
           ELSE
             WRITELN;
         END;

         WRITELN ('Anzahl S.tze:    ',  DB^.LastRec);
         WRITELN ('Aktueller Satz:  ',  DB^.RecNo);

         IF DB^.BOF THEN
           WRITELN ('Begin Of File:   JA')
         ELSE
           WRITELN ('Begin Of File:   NEIN');

         IF DB^.EOF THEN
           WRITELN ('End Of File:     JA')
         ELSE
           WRITELN ('End Of File:     NEIN');

         DISPOSE (DB,  CLOSE);
       END;

       WRITELN;
       WRITE ('Weiter mit Taste ...');
       READLN;
       WRITELN;
     END;
   END. { PROGRAM Db09 }

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