UNIT uPerson;
(* ******************************************************************** *)
(* K L A S S E : TPerson *)
(* -------------------------------------------------------------------- *)
(* Version : 1.21 *)
(* Autor : S. Spolwig, OSZ-Handel I, 10997 Berlin *)
(* *)
(* Aufgabe : bildet das Objekt Person ab. *)
(* *)
(* Compiler : DELPHI 3.0 *)
(* Aenderung : V. 1.1 15-AUG-98 *)
(* 1.2 04-SEP-98 Datei lesen, schreiben *)
(* IstGleich *)
(* 1.21 20-JUL-99 procedure Init, Create *)
(* 1.22 11-OCT-00 Geschlecht *)
(* ******************************************************************** *)
INTERFACE
(* ========================== Export ================================== *)
USES Classes;
type
TPerson = class (TObject)
protected
Name,
Vorname : string[20];
Geburtstag : string[10];
Geschlecht : string[1]; (* m,w *)
public
constructor Create; virtual;
procedure Init; virtual;
procedure SetName (n: string); virtual;
procedure SetVorName (vn: string); virtual;
procedure SetGeburtstag (gb : string); virtual;
procedure SetGeschlecht (g: string); virtual;
function GetName : string; virtual;
function GetVorName : string; virtual;
function GetGeburtstag : string; virtual;
function GetGeschlecht : string; virtual;
function IstGleich (suchpers : TPerson) : boolean; virtual;
procedure InDateiSchreiben (var fs : TFilestream); virtual;
procedure AusDateiLesen (var fs : TFilestream); virtual;
end; (* TPerson *)
(* -------------------- B e s c h r e i b u n g -------------------------
Oberklasse : -
Bezugsklassen : Classes import: TFilestream, read write
TAdresse
Methoden
--------
Create
Auftrag: Person und Adresse erzeugen und Initialisieren
vorher : -
nachher: Person ist erzeugt,alle Datenfelder sind leer.
Init
Auftrag: Person Initialisieren
vorher : ist erzeugt
nachher: alle Datenfelder sind leer.
Set...
Auftrag: Attribut schreiben
vorher : Person ist vorhanden.
nachher: Attribut ist gesetzt
Get...
Anfrage: Attribut aus dem Objekt lesen
vorher : Person ist vorhanden.
nachher: -
IstGleich (suchperson : TPerson) : boolean
Anfrage: prüfen, ob Person gleich gesuchte Person ist.
vorher : Person ist vorhanden.
nachher: IstGleich ist wahr, wenn SuchpersonName und Name übereinstimmen.
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 TPerson.Create;
(* -------------------------------------------------------------------- *)
begin
inherited Create;
Init;
end;
procedure TPerson.Init;
(* -------------------------------------------------------------------- *)
begin
Name := '';
Vorname := '';
Geburtstag := '';
Geschlecht := chr(0);
end;
procedure TPerson.SetName (n: string);
(* -------------------------------------------------------------------- *)
begin
Name := n;
end;
procedure TPerson.SetVorName (vn: string);
(* -------------------------------------------------------------------- *)
begin
VorName := vn;
end;
procedure TPerson.SetGeburtstag (gb: string);
(* -------------------------------------------------------------------- *)
begin
Geburtstag := gb;
end;
procedure TPerson.SetGeschlecht (g: string);
(* -------------------------------------------------------------------- *)
begin
Geschlecht := g;
end;
function TPerson.GetName : string;
(* -------------------------------------------------------------------- *)
begin
result := Name;
end;
function TPerson.GetVorName : string;
(* -------------------------------------------------------------------- *)
begin
result := Vorname;
end;
function TPerson.GetGeburtstag : string;
(* -------------------------------------------------------------------- *)
begin
result := Geburtstag;
end;
function TPerson.GetGeschlecht : string; //char;
(* -------------------------------------------------------------------- *)
begin
result := Geschlecht;
end;
function TPerson.IstGleich (suchpers : TPerson) : boolean;
(* -------------------------------------------------------------------- *)
begin
result := false;
if suchpers.Name = Name
then result := true
end;
procedure TPerson.InDateiSchreiben (var Fs : TFileStream);
(* -------------------------------------------------------------------- *)
begin
Fs.write(Name, SizeOf(Name));
Fs.write(VorName, SizeOf(VorName));
Fs.write(Geburtstag, SizeOf(Geburtstag));
Fs.write(Geschlecht, SizeOf(Geschlecht));
end;
procedure TPerson.AusDateiLesen (var Fs : TFileStream) ;
(* -------------------------------------------------------------------- *)
begin
Fs.read(Name, SizeOf(Name));
Fs.read(VorName, SizeOf(VorName));
Fs.read(Geburtstag, SizeOf(Geburtstag));
Fs.read(Geschlecht, SizeOf(Geschlecht));
end;
END.
|