[<<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