Delphi 7 出错
小弟新手,实在找不出原因了,望各位前辈指教,就这点分了
procedure TForm1.Button1Click(Sender: TObject);
var
a,b:integer;
begin
a:=Edit1.text*Edit2.Text;
b:=Edit3.text/Edit5.text;
Edit4:=(Edit3.text+a)/(Edit2.text+b);
end;
end.
答案:procedure TForm1.btn1Click(Sender: TObject);
var
a,b:integer;
begin
a:=StrToInt(Edit1.text)*StrToint(Edit2.Text);
b:=StrToInt(Edit3.text)div StrToInt(Edit5.text);
Edit4.Text:=IntToStr((StrToInt(Edit3.text)+a)div(StrToInt(Edit2.text)+b));
end;
这样就对了。由于Edit.Text是文本类型,所以要转换成Integer类型在计算,返回给文本框的时候一样要转换成string。还有div是整除,/是普通除法,所以你这里不可以用/
其他:a:=Edit1.text*Edit2.Text;
b:=Edit3.text/Edit5.text;
Edit4:=(Edit3.text+a)/(Edit2.text+b);
数值运算只能用数值型呀,Edit.Text是字符型。
你得先把这个Edit.Text转成数值型才可以做加减乘除。 procedure TForm1.Button1Click(Sender: TObject);
var
a,b:real;
begin
a:=strtofloat(Edit1.text)*strtofloat(Edit2.Text);
b:=strtofloat(Edit3.text)/strtofloat(Edit5.text);
Edit4.text:=floattostr((strtofloat(Edit3.text)+a)/(strtofloat(Edit2.text)+b));
end;
end.
用浮点类型进行计算。 明显的错误就是:Edit.Text的数据类型是字符串,你声明的是Integer.所以需要进行类型转化.
以下是答案:
procedure TForm1.Button1Click(Sender: TObject);
var
a,b:integer;
begin
a:=StrToInt(Edit1.text)*StrToInt(Edit2.Text);
b:=StrToInt(Edit3.text)/StrToInt(Edit5.text);
Edit4:=FloatToStr(StrToInt(Edit3.text)+a)/(StrToInt(Edit2.text)+b);
end;
end.
上一个:五个学生,每个学生五个属性,用delphi怎么定义
下一个:将delphi与sql连接,用DBGrid显示内容