unit uFenster;
// **********************************************************************
interface
// ======================================================================
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, Buttons,
uPerson, uDatensatz;
type
TFensterFrm =
class(TForm)
GroesseLbl: TLabel;
GroesseEdt: TEdit;
GewichtLbl: TLabel;
GewichtEdt: TEdit;
BMILbl : TLabel;
BmiEdt : TEdit;
NameEdt : TEdit;
NameLbl : TLabel;
SteuerPnl : TPanel;
BtnBerechnen: TButton;
BtnEnde: TButton;
BtnAbnehmen: TButton;
BtnZunehmen: TButton;
BtnDatenVerbergen: TButton;
BtnDatenAnzeigen: TButton;
EdtAnzahl: TEdit;
LblNummer: TLabel;
BtnDatensatzAnzeigen: TButton;
MemDatensatz: TMemo;
EdtAnzahlPatienten: TEdit;
LblAnzahlPatienten: TLabel;
BtnPatientenBestaetigen: TButton;
procedure BtnBerechnenClick (Sender: TObject);
procedure FormCreate (Sender: TObject);
procedure BtnEndeClick(Sender: TObject);
procedure BtnDatenVerbergenClick(Sender: TObject);
procedure BtnDatenAnzeigenClick(Sender: TObject);
procedure BtnAbnehmenClick(Sender: TObject);
procedure BtnZunehmenClick(Sender: TObject);
procedure BtnDatensatzAnzeigenClick(Sender: TObject);
procedure BtnPatientenBestaetigenClick(Sender: TObject);
private
procedure Init;
public
Anzahl : Integer;
end;
var
FensterFrm: TFensterFrm;
// --- das aktuelle Exemplar vom Fenster,
// in dem alles läuft
AktuellePerson : TPerson;
// --- das Objekt PERSON anlegen
Datensatz : TDatensatz;
implementation
{$R *.DFM}
// ======================================================================
procedure TFensterFrm.FormCreate(Sender: TObject);
begin
// --- das Objekt PERSON erzeugen
FensterFrm.Init;
Datensatz := TDatensatz.Create;
Datensatz.Init;
Anzahl := 0;
MemDatensatz.Clear;
EdtAnzahl.Text := '
1';
end;
procedure TFensterFrm.Init;
begin
// Alle Felder im Fenster leeren
end;
procedure TFensterFrm.BtnBerechnenClick(Sender: TObject);
begin
if (EdtAnzahl.Text = '
')
or (GewichtEdt.Text = '
')
or (GroesseEdt.Text = '
')
or (NameEdt.Text = '
')
or (EdtAnzahlPatienten.Text = '
')
then ShowMessage('
Bitte Fehlende Daten eingeben')
else begin
Datensatz.CreateArray;
// Daten einlesen und an PERSON übergeben
Datensatz.GetPerson(Anzahl).SetName(NameEdt.Text);
Datensatz.GetPerson(Anzahl).SetGroesse(StrToFloat(GroesseEdt.Text));
Datensatz.GetPerson(Anzahl).SetGewicht(StrToFloat(GewichtEdt.Text));
// Datensatz.GetPerson(Anzahl).SetAnzahlPatienten(StrtoInt(EdtAnzahlPatienten.Text));
// BMI ermitteln und ausgeben
BMIEdt.Text := FloatToStr(Datensatz.GetPerson(Anzahl).HatBmi);
end;
end;
procedure TFensterFrm.BtnEndeClick(Sender: TObject);
// ----------------------------------------------------------------------
begin
Close;
end;
procedure TFensterFrm.BtnDatenVerbergenClick(Sender: TObject);
begin
GroesseEdt.Text := '
';
GewichtEdt.Text := '
';
NameEdt.Text := '
';
BmiEdt.Text := '
';
end;
procedure TFensterFrm.BtnDatenAnzeigenClick(Sender: TObject);
begin
if (EdtAnzahl.Text = '
')
then ShowMessage('
Bitte Fehlende Nummer eingeben')
else begin
Anzahl := StrtoInt(EdtAnzahl.Text)-1;
NameEdt.Text := Datensatz.GetPerson(Anzahl).GetName;
GroesseEdt.Text := FloatToStr(Datensatz.GetPerson(Anzahl).GetGroesse);
GewichtEdt.Text := FloatToStr(Datensatz.GetPerson(Anzahl).GetGewicht);
BmiEdt.Text := FloatToStr(Datensatz.GetPerson(Anzahl).HatBmi);
end;
end;
procedure TFensterFrm.BtnAbnehmenClick(Sender: TObject);
begin
if (EdtAnzahl.Text = '
')
or (GewichtEdt.Text = '
')
or (GroesseEdt.Text = '
')
or (NameEdt.Text = '
')
then ShowMessage('
Bitte Fehlende Daten eingeben')
else begin
Datensatz.GetPerson(Anzahl).Abnehmen;
BMIEdt.Text := FloatToStr(Datensatz.GetPerson(Anzahl).HatBmi);
GewichtEdt.Text := FloatToStr(Datensatz.GetPerson(Anzahl).GetGewicht);
end;
end;
procedure TFensterFrm.BtnZunehmenClick(Sender: TObject);
begin
if (EdtAnzahl.Text = '
')
or (GewichtEdt.Text = '
')
or (GroesseEdt.Text = '
')
or (NameEdt.Text = '
')
then ShowMessage('
Bitte Fehlende Daten eingeben')
else begin
Datensatz.GetPerson(Anzahl).Zunehmen;
BMIEdt.Text := FloatToStr(Datensatz.GetPerson(Anzahl).HatBmi);
GewichtEdt.Text := FloatToStr(Datensatz.GetPerson(Anzahl).GetGewicht);
end;
end;
procedure TFensterFrm.BtnDatensatzAnzeigenClick(Sender: TObject);
var
i : Integer;
begin
//i := 1;
MemDatensatz.Clear;
{repeat} for i := 0
to AnzahlPatienten-1
do begin
MemDatensatz.Lines.Add('
Name: '+ Datensatz.GetPerson(i).GetName +'
Größe:'+ FloatToStrF(Datensatz.GetPerson(i).GetGroesse,ffFixed,8,2) +'
Gewicht:'+ FloatToStrF(Datensatz.GetPerson(i).GetGewicht,ffFixed,8,2) +'
BMI:'+ FloatToStrF(Datensatz.GetPerson(i).HatBmi,ffFixed,8,2));
{Inc(i);
until (Name = '');}
end;
end;
procedure TFensterFrm.BtnPatientenBestaetigenClick(Sender: TObject);
begin
AnzahlPatienten := StrtoInt(EdtAnzahlPatienten.Text);
Datensatz.CreateArray;
end;
end.
// ------ UNIT -------