Einzelnen Beitrag anzeigen

Pylickuz

Registriert seit: 31. Okt 2015
11 Beiträge
 
#1

Welche Schleife könnte man hier einbauen?

  Alt 11. Feb 2016, 18:18
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.
Miniaturansicht angehängter Grafiken
bmiloop1.jpg   bmiloop2.jpg  

Geändert von Pylickuz (11. Feb 2016 um 18:26 Uhr) Grund: Ich schreibe gerne auch den Quellcode rein.
  Mit Zitat antworten Zitat