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

  1. { ──────────────────────────────────────────────────────────────── }
  2. {                TDB-ERWEITERTER TDATABASE-PROTOTYP                }
  3. { ──────────────────────────────────────────────────────────────── }
  4. {      (c)  1992  by  Aurora  featuring  M.J. Schwaiger            }
  5. { ──────────────────────────────────────────────────────────────── }
  6.  
  7. UNIT ADDON02B;
  8.  
  9. INTERFACE
  10.  
  11.   USES
  12.     DbTypes,                             { Globale Typdefinitionen }
  13.     ADatum,                                       { Datumsroutinen }
  14.     Error,                                      { Fehlerbehandlung }
  15.     AStrings,                            { Null-terminated Strings }
  16. {$IFDEF Windows}
  17.     STRINGS,                     { Windows-Null-terminated Strings }
  18. {$ENDIF}
  19.     TDB;                                          { Turbo-Database }
  20.  
  21.  
  22.   TYPE
  23.  
  24. { ──────────────────────────────────────────────────────────────── }
  25. { Definition Record als Äquivalent zu Datensatz.                   }
  26. { ──────────────────────────────────────────────────────────────── }
  27.  
  28.     TDataRec       = RECORD
  29.       Deleted      : BOOLEAN;
  30.       KEY          : STRING [70];
  31.       INHALT       : PChar;
  32.       SELECT       : BOOLEAN;
  33.     END;
  34.  
  35.  
  36. { ──────────────────────────────────────────────────────────────── }
  37. { Definition neues - erweitertes - Datenbankobjekt.                }
  38. { ──────────────────────────────────────────────────────────────── }
  39.  
  40.     PDataBase      = ^TDataBase;
  41.     TDataBase      = OBJECT (TDB.TDataBase)
  42.       FUNCTION ReadRec (VAR Rec : TDataRec) : BOOLEAN; VIRTUAL;
  43.       FUNCTION ReplaceRec (Rec : TDataRec) : BOOLEAN; VIRTUAL;
  44.       FUNCTION AppendRec (Rec : TDataRec) : BOOLEAN; VIRTUAL;
  45.     END;
  46.  
  47.  
  48. IMPLEMENTATION
  49.  
  50. { ──────────────────────────────────────────────────────────────── }
  51. { Definition neues - erweitertes - Datenbankobjekt.                }
  52. { ──────────────────────────────────────────────────────────────── }
  53.  
  54.   FUNCTION TDataBase.ReadRec (VAR Rec : TDataRec) : BOOLEAN;
  55.  
  56.     VAR
  57.       Result       : BOOLEAN;
  58.  
  59.     BEGIN
  60.       FILLCHAR (Rec, SIZEOF (Rec), 0);
  61.  
  62.       Result := True;
  63.  
  64.       WITH Rec DO
  65.       BEGIN
  66.         Rec.Deleted := TDataBase.Deleted;
  67.         Result := Result AND (GetErr = 0);
  68.  
  69.         KEY := Read ('KEY');
  70.         Result := Result AND (GetErr = 0);
  71.         INHALT := ReadM ('INHALT');
  72.         Result := Result AND (GetErr = 0);
  73.         SELECT := ReadB ('SELECT');
  74.         Result := Result AND (GetErr = 0);
  75.       END; { WITH Rec DO }
  76.  
  77.       ReadRec := Result;
  78.     END; { FUNCTION TDataBase.ReadRec }
  79.  
  80.  
  81.   FUNCTION TDataBase.ReplaceRec (Rec : TDataRec) : BOOLEAN;
  82.  
  83.     VAR
  84.       Result       : BOOLEAN;
  85.  
  86.     BEGIN
  87.       Result := True;
  88.  
  89.       WITH Rec DO
  90.       BEGIN
  91.         Result := Result AND Replace ('KEY', KEY);
  92.         Result := Result AND ReplaceM ('INHALT', INHALT);
  93.         StrDispose (INHALT);
  94.         Result := Result AND ReplaceB ('SELECT', SELECT);
  95.       END; { WITH Rec DO }
  96.  
  97.       ReplaceRec := Result;
  98.     END; { FUNCTION TDataBase.ReplaceRec }
  99.  
  100.  
  101.   FUNCTION TDataBase.AppendRec (Rec : TDataRec) : BOOLEAN;
  102.  
  103.     VAR
  104.       Result       : BOOLEAN;
  105.  
  106.     BEGIN
  107.       Result := Append;
  108.  
  109.       WITH Rec DO
  110.       BEGIN
  111.         Result := Result AND Replace ('KEY', KEY);
  112.         Result := Result AND ReplaceM ('INHALT', INHALT);
  113.         StrDispose (INHALT);
  114.         Result := Result AND ReplaceB ('SELECT', SELECT);
  115.       END; { WITH Rec DO }
  116.  
  117.       AppendRec := Result;
  118.     END; { FUNCTION TDataBase.AppendRec }
  119.  
  120.  
  121.   END. { UNIT ADDON02B }
  122.