home *** CD-ROM | disk | FTP | other *** search
- { ──────────────────────────────────────────────────────────────── }
- { TDB-TESTPROGRAMM 10 - VIEWER FÜR BELIEBIGE DBASE-DATEIEN }
- { ──────────────────────────────────────────────────────────────── }
- { Es werden die in der Kommandozeile angegebenen Datenbank-Dateien }
- { - sofern möglich / existent - in Struktur und Inhalt angezeigt. }
- { Wildcards sind nicht erlaubt; sollte keine Datei angegeben wer- }
- { den, so wird eine Eingabe erfragt. }
- { ──────────────────────────────────────────────────────────────── }
- { (c) 1992 by Aurora featuring M.J. Schwaiger }
- { ──────────────────────────────────────────────────────────────── }
- { History: }
- { 1992-03-15 MS Modulschnittstelle / Objektdefinitionen }
- { ──────────────────────────────────────────────────────────────── }
-
- PROGRAM TDBTst1;
-
- USES
- ADOS,
-
- Error,
- TDB;
-
- VAR
- db : PDataBase;
- Name : STRING;
- Count : INTEGER;
- Typ : CHAR;
- NK,
- Size,
- Params : BYTE;
- D : TEXT;
-
- BEGIN
- SetErrHandler (ErrPrint);
-
- ASSIGN (D, '');
- REWRITE (D);
-
- IF PARAMCOUNT < 1 THEN
- BEGIN
- WRITELN;
- WRITE ('Dateiname: ');
- READLN (Name);
-
- IF POS ('.', Name) < 1 THEN
- Name := Name + '.DBF';
-
- IF NOT (ExistiertDatei (Name)) THEN
- BEGIN
- WRITELN (D);
- WRITELN (D, 'Datenbank ', Name, ' nicht gefunden !');
- WRITELN (D);
- END { IF NOT (ExistiertDatei (Name)) THEN }
- ELSE
- BEGIN
- db := NEW (PDataBase, Use (Name));
-
- WRITELN (D);
- WRITELN (D, ' Datenbankstruktur:');
- WRITELN (D);
-
- FOR Count := 1 TO db^.AnzahlFelder DO
- BEGIN
- db^.FeldTyp (db^.FeldName (Count), Typ, Size, NK);
-
- WRITE (D, Count : 2, '. ', db^.FeldName (Count), ' ',
- Typ, ' ', NK);
-
- IF Typ = 'N' THEN
- WRITELN (D, ' : ', NK)
- ELSE
- WRITELN (D);
- END; { FOR Count := 1 TO db^.AnzahlFelder DO }
-
- WRITELN (D);
- WRITELN (D, db^.AnzahlFelder, ' Felder, ', db^.Count,
- ' Datensätze');
- WRITELN (D);
-
- WRITELN (D);
- WRITELN (D, ' Datenbankinhalt:');
- WRITELN (D);
-
- IF db^.EOF THEN
- BEGIN
- WRITELN (D);
- WRITELN (D, 'Keine Datensätze gespeichert');
- END
- ELSE
- BEGIN
- db^.First;
-
- WHILE NOT (db^.EOF) DO
- BEGIN
- WRITE (D, db^.RecNo : 4, '. ');
-
- FOR Count := 1 TO db^.AnzahlFelder DO
- WRITE (D, db^.Read (db^.FeldName (Count)), ' ');
-
- WRITELN (D);
-
- db^.Skip (1);
- END; { WHILE NOT (db^.EOF) DO }
- END; { IF db^.EOF THEN ... ELSE }
-
- WRITELN (D);
-
- DISPOSE (db, Close);
- END; { IF NOT (ExistiertDatei (Name)) THEN ... ELSE }
- END { IF PARAMCOUNT < 1 THEN }
- ELSE
- BEGIN
- FOR Params := 1 TO PARAMCOUNT DO
- BEGIN
- Name := PARAMSTR (Params);
-
- IF POS ('.', Name) < 1 THEN
- Name := Name + '.DBF';
-
- IF NOT (ExistiertDatei (Name)) THEN
- BEGIN
- WRITELN (D);
- WRITELN (D, 'Datenbank ', Name, ' nicht gefunden !');
- WRITELN (D);
- END { IF NOT (ExistiertDatei (Name)) THEN }
- ELSE
- BEGIN
- db := NEW (PDataBase, Use (Name));
-
- WRITELN (D);
- WRITELN (D, ' Datenbankstruktur:');
- WRITELN (D);
-
- FOR Count := 1 TO db^.AnzahlFelder DO
- BEGIN
- db^.FeldTyp (db^.FeldName (Count), Typ, Size, NK);
-
- WRITE (D, Count : 2, '. ', db^.FeldName (Count), ' ',
- Typ, ' ', NK);
-
- IF Typ = 'N' THEN
- WRITELN (D, ' : ', NK)
- ELSE
- WRITELN (D);
- END; { FOR Count := 1 TO db^.AnzahlFelder DO }
-
- WRITELN (D);
- WRITELN (D, db^.AnzahlFelder, ' Felder, ', db^.Count,
- ' Datensätze');
- WRITELN (D);
-
- WRITELN (D);
- WRITELN (D, ' Datenbankinhalt:');
- WRITELN (D);
-
- IF db^.EOF THEN
- BEGIN
- WRITELN (D);
- WRITELN (D, 'Keine Datensätze gespeichert');
- END
- ELSE
- BEGIN
- db^.First;
-
- WHILE NOT (db^.EOF) DO
- BEGIN
- WRITE (D, db^.RecNo : 4, '. ');
-
- FOR Count := 1 TO db^.AnzahlFelder DO
- WRITE (D, db^.Read (db^.FeldName (Count)), ' ');
-
- WRITELN (D);
-
- db^.Skip (1);
- END; { WHILE NOT (db^.EOF) DO }
- END; { IF db^.EOF THEN ... ELSE }
-
- WRITELN (D);
-
- DISPOSE (db, Close);
- END; { IF NOT (ExistiertDatei (Name)) THEN ... ELSE }
- END; { FOR Params := 1 TO PARAMCOUNT DO }
- END; { IF PARAMCOUNT < 1 THEN ... ELSE }
-
- CLOSE (D);
- END. { PROGRAM TDBView }
-