home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / pascal / library / dos / database / tdb / demo / db03.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1992-05-31  |  4.0 KB  |  123 lines

  1. { ──────────────────────────────────────────────────────────────── }
  2. {    TDB DEMOPROGRAMM 3 - FEHLERBEHANDLUNG, KENNDATEN DATENBANK    }
  3. { ──────────────────────────────────────────────────────────────── }
  4. { Setzt die Standard-Fehlerbehandlungsroutine zur Druckerausgabe,  }
  5. { öffnet die Datenbank "DB02.DBF" (muß sich im gleichen Ver-       }
  6. { zeichnis befinden !), zeigt ihre "Kenndaten" und schließt sie -  }
  7. { nach einem Tastendruck des Benutzers - wieder.                   }
  8. { ──────────────────────────────────────────────────────────────── }
  9. {       (c)  1992  by  Aurora  featuring  M.J. Schwaiger           }
  10. { ──────────────────────────────────────────────────────────────── }
  11. {      History:                                                    }
  12. { 1992-04-15   MS   Interfacefestlegung und Implementierung.       }
  13. { ──────────────────────────────────────────────────────────────── }
  14.  
  15. PROGRAM DbDemo03;
  16.  
  17.   USES
  18.     DbTypes,                { Enthält die Typdefinitionen für alle }
  19.                             { Module des Datenbanksystems TDB.     }
  20.     Error,                  { Fehlerbehandlungsroutinen, -handler  }
  21.     ADatum,                 { Definition TDate (unter anderem ...) }
  22.     AStrTool,                                 { Stringformatierung }
  23.     TDB;                    { Die eigentlichen Datenbank-Objekte.  }
  24.  
  25.  
  26.   VAR
  27.     DB             : PDataBase;                  { Datenbankobjekt }
  28.     Datum          : TDate;
  29.     Cnt            : BYTE;
  30.     Typ            : CHAR;                               { Feldtyp }
  31.     Size,                                              { Feldgröße }
  32.     NK             : BYTE;          { Bei Zahlen: Nachkommastellen }
  33.  
  34.  
  35.   BEGIN                                            { Hauptprogramm }
  36.     SetErrHandler (ErrPrint);         { Alle Fehler werden auf dem }
  37.                                       { Drucker mitprotokolliert.  }
  38.  
  39.     DB := NEW (PDataBase,                { Speicherallozierung und }
  40.           Use ('DB02.DBF'));        { Initialisierung des Objektes }
  41.  
  42.     IF GetErr = 0 THEN                          { Keine Fehler ? }
  43.     BEGIN
  44.       WRITELN;
  45.       WRITELN ('Dateiname:       ', DB^.FileName);
  46.       WRITELN ('Dateigröße:      ', DB^.FileSize);
  47.       WRITELN ('Headergröße:     ', DB^.HeaderSize);
  48.       WRITELN ('Recordgröße:     ', DB^.RecordSize);
  49.       WRITELN ('dBase-Version:   ', DB^.dbVersion);
  50.  
  51.       IF DB^.ContainsMemos THEN
  52.         WRITELN ('Memos:           JA')
  53.       ELSE
  54.         WRITELN ('Memos:           NEIN');
  55.  
  56.       DB^.LastUpDate (Datum);
  57.  
  58.       WRITELN ('Anzahl Felder:   ', DB^.AnzahlFelder);
  59.  
  60.       FOR Cnt := 1 TO DB^.AnzahlFelder DO
  61.       BEGIN
  62.         DB^.FeldTyp (DB^.FeldName (Cnt), Typ, Size, NK);
  63.  
  64.         WRITE ('  Feldname: ',
  65.                LFormat (DB^.FeldName (Cnt), 14),
  66.                ' Typ: ', Typ, ' Größe: ', Size);
  67.  
  68.         IF NK <> 0 THEN
  69.           WRITELN (' : ', NK)
  70.         ELSE
  71.           WRITELN;
  72.       END;
  73.  
  74.       WRITELN ('Anzahl Sätze:    ', DB^.LastRec);
  75.       WRITELN ('Aktueller Satz:  ', DB^.RecNo);
  76.  
  77.       IF DB^.BOF THEN
  78.         WRITELN ('Begin Of File:   JA')
  79.       ELSE
  80.         WRITELN ('Begin Of File:   NEIN');
  81.  
  82.       IF DB^.EOF THEN
  83.         WRITELN ('End Of File:     JA')
  84.       ELSE
  85.         WRITELN ('End Of File:     NEIN');
  86.  
  87.       db^.First;
  88.  
  89.       WRITELN ('Nach "First":');
  90.  
  91.       IF DB^.BOF THEN
  92.         WRITELN ('  Begin Of File: JA')
  93.       ELSE
  94.         WRITELN ('  Begin Of File: NEIN');
  95.  
  96.       IF DB^.EOF THEN
  97.         WRITELN ('  End Of File:   JA')
  98.       ELSE
  99.         WRITELN ('  End Of File:   NEIN');
  100.  
  101.       db^.Last;
  102.  
  103.       WRITELN ('Nach "Last":');
  104.  
  105.       IF DB^.BOF THEN
  106.         WRITELN ('  Begin Of File: JA')
  107.       ELSE
  108.         WRITELN ('  Begin Of File: NEIN');
  109.  
  110.       IF DB^.EOF THEN
  111.         WRITELN ('  End Of File:   JA')
  112.       ELSE
  113.         WRITELN ('  End Of File:   NEIN');
  114.  
  115.       DISPOSE (DB, Close);
  116.     END; { IF GetErr = 0 THEN }
  117.  
  118.     WRITELN;
  119.     WRITE ('Weiter mit Taste ...');
  120.     READLN;
  121.     WRITELN;
  122.   END. { PROGRAM DbDemo03 }
  123.