1
BMIを計算するためにかなり基本的なプログラムをコンパイルしようとしていますが、それを修正する方法。デルファイ:互換性のない型:両方の値が実数として割り当てられている場合、「整数」と「拡張」
これらは私の変数であり、次のように
weight : real;
height : real;
bmi : real;
私のコーディングは次のとおりです。
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;
は、どのように私はこのエラーを修正することができ、そして何がそれを引き起こしていますか?
ありがとうございます。プログラミング時に、私は変数名がエラーメッセージ "Incompatible types: 'Integer'と 'Extended'の両方の値が実際に割り当てられているために発生したと考えていませんでしたが、助けてくれてありがとうございます。私はプログラミングの際にそれを念頭に置いています。 – 1337x
可能な方法を完全に網羅するために、 'BMI:= Weight/sqr(Unit1.Height);のようなユニット名でグローバル変数をスコープする3番目のオプションもあります。それらの変数はTForm1クラスのメンバです。しかし、この特定のケースでは、その性質上の変数は一時的な変数であり、ローカル変数(#1メソッド)はプログラムを設計する正しい方法です。 –