home *** CD-ROM | disk | FTP | other *** search
- { ──────────────────────────────────────────────────────────────── }
- { 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 }
-