当前位置:编程学习 > Delphi >>

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显示内容

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,