|
[Home
| Programmiersprachen |
Delphi] |
unit uPerson;
(* ******************************************************************** *)
(* K L A S S E : TPerson *)
(* -------------------------------------------------------------------- *)
(* Version : 0.9 *)
(* Autor : S. Spolwig, OSZ-Handel I, 10997 Berlin *)
(* Aufgabe : bildet das Objekt Person ab und berechnet BMI. *)
(* Compiler : DELPHI 5.0 *)
(* Aenderung : V. 0.9 15-AUG-01 *)
(* 1.0 09-OCT-04 Ereignis *)
(* ******************************************************************** *)
interface
(* ==================================================================== *)
type
TNotifyChange = procedure of object; // Deklaration eines Methodenzeigertyps
TPerson = class(TObject)
private
Name : string;
Groesse : real;
Gewicht : real;
public
OnChanged : TNotifyChange; // Vereinbarung einer Referenzvariablen
constructor Create;
procedure Init;
procedure SetName (n : string);
function GetName : string;
procedure SetGroesse (gr : real);
function GetGroesse : real;
procedure SetGewicht (gw : real);
function GetGewicht : real;
function HatBMI: real;
procedure Abnehmen;
end;
implementation
(* ==================================================================== *)
constructor TPerson.Create;
(* -------------------------------------------------------------------- *)
begin
inherited Create;
Init;
end;
procedure TPerson.Init;
(* ----------------------------------------- *)
begin
Name := '';
Groesse := 1; // muss <> 0 bei Division !
Gewicht := 1; // muss <> 0 bei Division !
end;
procedure TPerson.SetName (n : string);
(* ----------------------------------------- *)
begin
Name := n;
if assigned(OnChanged)
then OnChanged; // Ereignis auslösen
end;
function TPerson.GetName : string;
(* ----------------------------------------- *)
begin
Result := Name;
end;
procedure TPerson.SetGroesse (gr : real);
(* ----------------------------------------- *)
begin
Groesse := gr;
if assigned(OnChanged)
then OnChanged; // Ereignis auslösen
end;
function TPerson.GetGroesse: real;
(* ----------------------------------------- *)
begin
Result := Groesse;
end;
procedure TPerson.SetGewicht (gw : real);
(* ----------------------------------------- *)
begin
Gewicht := gw;
if assigned(OnChanged)
then OnChanged; // Ereignis auslösen
end;
function TPerson.GetGewicht: real;
(* ----------------------------------------- *)
begin
Result := Gewicht;
end;
function TPerson.HatBMI: real;
(* ----------------------------------------- *)
begin
result:= gewicht / (Groesse * Groesse);
end;
procedure TPerson.Abnehmen;
(* ----------------------------------------- *)
begin
Gewicht := Gewicht - 1;
if assigned(OnChanged)
then OnChanged; // Ereignis auslösen
end;
END. // ----- UNIT -------
|
|
© 04. Oktober 2008 Siegfried Spolwig |
|