Hallo miteinander,
ich
muss unbedingt in den Button "Nächster Patient?" eine
Schleife einbauen, sodass das ganze Programm sich wiederholt und man die Eingaben neu treffen kann.
Gerichtet ist es vllt an Mediziner (unoffiziel und dient nur als kleines Projekt). Man kann sich vorstellen man sei ein Arzt und will schnellstmöglich den BMI seiner Patienten errechnen und danach vom nächsten.
Ich brauche unbedingt Ratschläge und Tipps für dieses Projetk.
Der Quellcode ist unter Delphi 7 geschrieben und befindet sich als Screenshot im Anhang.
Delphi-Quellcode:
unit BMIquelle;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;
type
TForm1 =
class(TForm)
Titel: TLabel;
BitBtn1: TBitBtn;
Berechnen: TButton;
Kgewicht: TLabeledEdit;
Kgroesse: TLabeledEdit;
Ergebnis: TLabeledEdit;
Button1: TButton;
procedure BerechnenClick(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{--------------------------------------------------------------------------------------------------------------}
procedure TForm1.BerechnenClick(Sender: TObject);
//Variablendeklaration
var
W1, W2, W3: real;
X1,X2,Y1,Y2,Z1,Z2:boolean;
begin
//Konvertierung
W1:= StrToFloat (Kgroesse.Text);
W2:= StrToFloat (Kgewicht.Text);
//Plausibilitätsprüfung
X1:= W1 > 2.4;
X2:= W1 <= 0;
Y1:= W2 <= 0;
Y2:= W2 > 1000;
//Verzweigung bei falschen Daten und richtigen
if X1
or X2
or Y1
or Y2
then
begin
Ergebnis.Text := ('
Überprüfe Daten');
showmessage ('
Bitte Daten neu eingeben.');
Kgroesse.Text:= ('
');
Kgewicht.Text:= ('
');
end
else
begin
W3:= W2/(sqr(W1));
Z1:= 18.5 <= W3;
Z2:= 25 >= W3;
Ergebnis.Text:= FloatToStr (W3);
//Zweite Verzweigung um passende Sätze auszugeben
if Z1
and Z2
then
begin
showmessage ('
Glückwunsch! Du hast laut dem Body-Mass-Index Normalgewicht!');
end
else
begin
if W3 > 25
then
showmessage ('
Du bist übergewichtig.');
if W3 < 18.5
then
showmessage ('
Du bist untergewichtig.');
end;
end;
end;
{--------------------------------------------------------------------------------------------------------------}
end.