[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
DB04.PAS
{ ---------------------------------------------------------------- }
{ TDB DEMOPROGRAMM 4 - LESEN }
{ ---------------------------------------------------------------- }
{ Gibt die S.tze der Datenbank "DB02.DBF" am Bildschirm aus. }
{ Es wird dabei eine Datei zur Standardausgabe ge.ffnet, um die }
{ Ausgabe auch auf ein File / den Drucker umlenken zu k.nnen. }
{ ---------------------------------------------------------------- }
{ (c) 1992 by Aurora featuring M.J. Schwaiger }
{ ---------------------------------------------------------------- }
{ History: }
{ 1992-04-15 MS Interfacefestlegung und Implementierung. }
{ ---------------------------------------------------------------- }
PROGRAM Db04;
USES
DbTypes, { Enth.lt die Typdefinitionen f.r alle }
{ Module des Datenbanksystems TDB. }
Error, { Fehlerbehandlungsroutinen, -handler }
ADatum, { Definition TDate (unter anderem ...) }
AStrTool, { Stringformatierung }
TDB; { Die eigentlichen Datenbank-Objekte. }
VAR
DB : PDataBase; { Datenbankobjekt }
Datum : TDate;
Cnt : BYTE;
Typ : CHAR; { Feldtyp }
Size, { Feldgr..e }
NK : BYTE; { Bei Zahlen: Nachkommastellen }
Out : TEXT; { Textfile f.r Standardausgabe }
BEGIN { Hauptprogramm }
ASSIGN (Out, '');
REWRITE (Out); { Standardausgabe }
SetErrHandler (ErrPrint); { Alle Fehler werden auf dem }
{ Drucker mitprotokolliert. }
DB := NEW (PDataBase, { Speicherallozierung und }
Use ('DB02.DBF')); { Initialisierung des Objektes }
IF (GetErr = 0) AND (DB^.Count > 0) THEN { Keine Fehler ? }
{ .berhaupt Datens.tze ? }
BEGIN
WRITELN (Out);
WRITELN (Out);
FOR Cnt := 1 TO DB^.AnzahlFelder DO
BEGIN
DB^.FeldTyp (DB^.FeldName (Cnt), Typ, Size, NK);
IF Typ = 'D' THEN
WRITE (Out, LFormat (DB^.FeldName (Cnt), 10), ' ')
ELSE
WRITE (Out, LFormat (DB^.FeldName (Cnt), Size), ' ');
END; { FOR Cnt := 1 TO DB^.AnzahlFelder DO }
WRITELN (Out);
WHILE NOT (DB^.EOF) DO
BEGIN
FOR Cnt := 1 TO DB^.AnzahlFelder DO
BEGIN
DB^.FeldTyp (DB^.FeldName (Cnt), Typ, Size, NK);
CASE Typ OF
'C' :
WRITE (Out, LFormat (DB^.READ (DB^.FeldName (Cnt)),
Size), ' ');
'L' :
IF DB^.ReadB (DB^.FeldName (Cnt)) THEN
WRITE (Out, 'J ')
ELSE
WRITE (Out, 'N ');
'N' :
IF NK = 0 THEN
WRITE (Out,
DB^.ReadL (DB^.FeldName (Cnt)) : Size, ' ')
ELSE
WRITE (Out, DB^.ReadR
(DB^.FeldName (Cnt)) : Size : NK, ' ');
'D' :
WRITE (Out, DB^.ReadD_ (DB^.FeldName (Cnt)), ' ');
'M' :
WRITE (Out,
LFormat ('M: ' + DB^.READ
(DB^.FeldName (Cnt)), Size), ' ');
END; { CASE Typ OF }
END; { FOR Cnt := 1 TO DB^.AnzahlFelder DO }
WRITELN (Out);
DB^.Skip (1);
END; { WHILE NOT (DB^.EOF) DO }
DISPOSE (DB, CLOSE);
END; { IF (GetErr = 0) AND ... }
WRITELN;
WRITE ('Weiter mit Taste ...');
READLN;
WRITELN;
CLOSE (Out);
END. { PROGRAM Db04 }
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson