Ich versuche ein recht einfaches Programm zur BMI-Berechnung zu erstellen, aber ich scheine diesen Fehler immer wieder zu bekommen und bin mir nicht sicher warum oder wie man es repariert.Delphi: Inkompatible Typen: 'Integer' und 'Extended', wenn beide Werte als real zugewiesen sind
das sind meine Variablen:
weight : real;
height : real;
bmi : real;
meine Codierung wie folgt:
procedure TForm1.Button1Click(Sender: TObject);
begin
weight := strtofloat(inputbox('weight', 'Enter your weight in kilograms',''));
height := strtofloat(inputbox('height', 'Enter your height in centimeters',''));
bmi := weight/sqr(height);
EDIT1.Text := floattostr(BMI);
end;
Wie kann ich diesen Fehler zu beheben, und was es verursacht?
Danke für diese Lösung. Zum Zeitpunkt der Programmierung dachte ich nicht über den Variablennamen nach, der das Problem verursacht hat, aufgrund der Fehlermeldung: "Inkompatible Typen: 'Integer' und, Extended ', wenn beide Werte als echt zugewiesen sind" aber Danke für Ihre Hilfe. Ich werde das bei der Programmierung berücksichtigen. – 1337x
Für die vollständige Abdeckung der möglichen Wege - gibt es auch eine dritte Option - um die globale Variable mit dem Namen der Einheit, wie "BMI: = Gewicht/sqr (Unit1.Height);" - und eine vierte Option - machen diese Variablen Mitglieder der TForm1-Klasse. In diesem speziellen Fall sind die Variablen jedoch von Natur aus temporäre Variablen und local-vars (Methode # 1) sind die richtigen Methoden, um das Programm zu entwerfen. –