home *** CD-ROM | disk | FTP | other *** search
- { ──────────────────────────────────────────────────────────────── }
- { TESTPROGRAMM 1 LOW-LEVEL-DBASE-ROUTINEN }
- { ──────────────────────────────────────────────────────────────── }
- { "Viewer" für beliebige dBase-Dateien. }
- { ──────────────────────────────────────────────────────────────── }
- { (c) 1992 by Aurora featuring M.J. Schwaiger }
- { ──────────────────────────────────────────────────────────────── }
- { History: }
- { Datum / Bearb. / Art }
- { 12. 3.1992 MS Implementierung. }
- { ──────────────────────────────────────────────────────────────── }
-
- PROGRAM LL01;
-
- USES
- Error,
- LLdBase,
-
- ADOS,
-
- CRT;
-
-
- VAR
- db : Pdbf;
- Name : STRING;
- Count : INTEGER;
- Params : BYTE;
- D : TEXT;
-
- BEGIN
- SetErrHandler (ErrPrint);
-
- db := NewDb;
-
- 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
- dbUse (db, Name);
-
- WRITELN (D);
- WRITELN (D, ' Datenbankstruktur:');
- WRITELN (D);
-
- FOR Count := 1 TO AnzahlFelder (db) DO
- BEGIN
- WRITE (D, Count : 2, '. ', FeldName (db, Count), ' ',
- db^.Feld [Count].Typ, ' ',
- db^.Feld [Count].NK);
-
- IF db^.Feld [Count].Typ = 'N' THEN
- WRITELN (D, ' : ', db^.Feld [Count].NK)
- ELSE
- WRITELN (D);
- END; { FOR Count := 1 TO AnzahlFelder (db) DO }
-
- WRITELN (D);
- WRITELN (D, AnzahlFelder (db), ' Felder, ', dbCount (db),
- ' Datensätze');
- WRITELN (D);
-
- WRITELN (D);
- WRITELN (D, ' Datenbankinhalt:');
- WRITELN (D);
-
- dbFirst (db);
-
- WHILE NOT (dbEOF (db)) DO
- BEGIN
- WRITE (D, dbRecNo (db) : 4, '. ');
-
- FOR Count := 1 TO AnzahlFelder (db) DO
- WRITE (D, dbRead (db, FeldName (db, Count)), ' ');
-
- WRITELN (D);
-
- dbSkip (db);
- END; { WHILE NOT (dbEOF (db)) DO }
-
- WRITELN (D);
-
- dbClose (db);
- 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
- dbUse (db, Name);
-
- WRITELN (D);
- WRITELN (D, ' Datenbankstruktur:');
- WRITELN (D);
-
- FOR Count := 1 TO AnzahlFelder (db) DO
- BEGIN
- WRITE (D, Count : 2, '. ', FeldName (db, Count), ' ',
- db^.Feld [Count].Typ, ' ',
- db^.Feld [Count].NK);
-
- IF db^.Feld [Count].Typ = 'N' THEN
- WRITELN (D, ' : ', db^.Feld [Count].NK)
- ELSE
- WRITELN (D);
- END; { FOR Count := 1 TO AnzahlFelder (db) DO }
-
- WRITELN (D);
- WRITELN (D, AnzahlFelder (db), ' Felder, ', dbCount (db),
- ' Datensätze');
- WRITELN (D);
-
- WRITELN (D);
- WRITELN (D, ' Datenbankinhalt:');
- WRITELN (D);
-
- dbFirst (db);
-
- WHILE NOT (dbEOF (db)) DO
- BEGIN
- WRITE (D, dbRecNo (db) : 4, '. ');
-
- FOR Count := 1 TO AnzahlFelder (db) DO
- WRITE (D, dbRead (db, FeldName (db, Count)), ' ');
-
- WRITELN (D);
-
- dbSkip (db);
- END; { WHILE NOT (dbEOF (db)) DO }
-
- WRITELN (D);
-
- dbClose (db);
-
- IF Params <> PARAMCOUNT THEN
- BEGIN
- WRITELN (D);
- WRITELN (D);
- END; { IF Params <> PARAMCOUNT THEN }
- END; { IF NOT (ExistiertDatei (Name)) THEN ... ELSE }
- END; { FOR Params := 1 TO PARAMCOUNT DO }
- END; { IF PARAMCOUNT < 1 THEN ... ELSE }
-
- DISPOSE (db);
-
- CLOSE (D);
- END. { PROGRAM LL01 }
-