UNIT uPatient;
(* ******************************************************************** *)
(* K L A S S E : TPatient *)
(* -------------------------------------------------------------------- *)
(* Version : 1.3 *)
(* Autor : S. Spolwig, OSZ-Handel I, 10997 Berlin *)
(* *)
(* Beschreibung: bildet das Objekt Patient ab. *)
(* *)
(* Compiler : DELPHI 3.0 *)
(* Aenderung : V. 1.1 15-AUG-98 *)
(* 1.3 21-JUL-99 erbt von TPerson, Create statt Init *)
(* 02-OKT-01 Pat agg. ADR *)
(* 2.0 Datei schreiben, lesen *)
(* ******************************************************************** *)
INTERFACE
(* ========================== Export ================================== *)
USES Classes,
uPerson,
uAdresse;
type
TPatient = class (TPerson)
Adresse : TAdresse;
private
Krankenkasse: string[25];
Blutgruppe : string[4]; (* AB-p *)
public
constructor Create; override;
procedure Init; override;
procedure SetKrankenkasse (k : string);
procedure SetBlutgruppe (b : string);
function GetKrankenkasse : string;
function GetBlutgruppe : string;
procedure InDateiSchreiben (var Fs : TFilestream); override;
procedure AusDateiLesen (var Fs : TFilestream); override;
end; (* TPatient *)
(* -------------------- B e s c h r e i b u n g -------------------------
Oberklasse : TPerson
Bezugsklassen : TClasses - import: TFilestream, read,write
TAdresse - : alles
Methoden
--------
Create
Auftrag: Patienten erzeugen und init.
vorher : -
nachher: ist vorhanden; alle Felder sind leer
Init
Auftrag: Patienten mit Anfangswerten initialisieren
vorher : Person ist vorhanden.
nachher: alle Felder sind leer
Set...
Auftrag: Attribut schreiben
vorher : Person ist vorhanden.
nachher: Attribut ist gesetzt
Get...
Auftrag: Attribut aus dem Objekt lesen
vorher : Person ist vorhanden.
nachher: -
InDateiSchreiben (var fs : TFilestream)
Auftrag: Attribute auf die Festplatte speichern
vorher : fs ist geöffnet
nachher: Attribute sind an fs uebergeben
AusDateiLesen (var fs : TFilestream)
Auftrag: Attribute von der Festplatte laden
vorher : fs ist geöffnet
nachher: Attribute sind an Patient uebergeben
----------------------------------------------------------------------- *)
IMPLEMENTATION
(* ==================================================================== *)
constructor TPatient.Create;
begin
inherited Create; // geerbte Person zuerst erzeugen
Adresse := TAdresse.Create; // als Komposition miterzeugen
Init;
end;
procedure TPatient.Init;
(* -------------------------------------------------------------------- *)
begin
inherited Init; // was von TPerson kommt
Krankenkasse := '';
Blutgruppe := ' ';
end;
procedure TPatient.SetKrankenkasse (k : string);
(* -------------------------------------------------------------------- *)
begin
Krankenkasse := k;
end;
procedure TPatient.SetBlutgruppe (b : string);
(* -------------------------------------------------------------------- *)
begin
Blutgruppe := b;
end;
function TPatient.GetKrankenkasse : string;
(* -------------------------------------------------------------------- *)
begin
result := Krankenkasse;
end;
function TPatient.GetBlutgruppe : string;
(* -------------------------------------------------------------------- *)
begin
result := Blutgruppe;
end;
procedure TPatient.InDateiSchreiben (var Fs : TFilestream);
(* -------------------------------------------------------------------- *)
begin
inherited InDateiSchreiben(Fs);
Adresse.InDateiSchreiben(Fs);
Fs.write( Krankenkasse, sizeoF(Krankenkasse));
Fs.write( Blutgruppe, sizeoF(Blutgruppe));
end;
procedure TPatient.AusDateiLesen (var Fs : TFilestream) ;
(* -------------------------------------------------------------------- *)
begin
inherited AusDateiLesen(Fs);
Adresse.AusDateiLesen(Fs);
Fs.read( Krankenkasse, sizeoF(Krankenkasse));
Fs.read( Blutgruppe, sizeoF(Blutgruppe));
end;
END.
|