如:from1中有控件edit1,edit2...edit11,button
我要edit1.text+edit2.text+...+edit10.text=edit11.text
如何用for语句使他们相加,并得出结果!
我要edit1.text+edit2.text+...+edit10.text=edit11.text
如何用for语句使他们相加,并得出结果!
解决方案 »
- 谁来谈谈delphi里的过程类型及方法指针,并举几个实际应用的小例子???
- 一个对数据表查询,统计的问题
- 请教如何将多个文件传输,indytcp+tfilestream
- 高分征求delphi 帮助手册
- 有人知道在哪可以下載crystal reports企業版嗎?給最終用戶做分析報表的
- 在panel上没有OnKeyPress事件,怎么样实现按键盘某键触发该Panel上的button事件
- ado, 防止驱动没有装,我该怎么办?
- 怎么捕捉主键异常
- ======十万火急,请问一个错误!=======
- 如何将窗体上的所有控件及窗体打印出来?
- delphi 数据库提取浮点型数据的问题
- TImageList如何自定义图标?
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
j,sum:Double;
begin
sum:=0;
for i :=1 to 11 do
if TryStrToFloat(Tedit(FindComponent('edit'+inttostr(i))).Text,j) then begin
sum:=sum+j;
end;
showmessage(floattostr(sum));
end;
bein
if compents[I] is TEdit then
begin
num := strtoint((compents[I] as TEdit).text);
sum := sum + num;
end;
end; 这样写要注意的几点
1、必须确定该form里的edit控件都是用来做加法用的,没有用做其他用途的edit,如果有,那么就需要加入其他判断,比如name的判断等等,这个根据自己需要来2、如果可肯出现异常,比如字符串不能转换成数字等情况,用try包起来,运算之前先检查字符有效性就更好了
var
i:integer;
j,sum:Double;
begin
sum:=0;
for i :=1 to 11 do
if TryStrToFloat(Tedit(FindComponent('edit'+inttostr(i))).Text,j) then begin
sum:=sum+j;
end;
edit12.text:=floattostr(sum);{显示最后结果}
end;
GDTOPONE的回答比较接近我的想法,GDTOPONE能不能说明下这句的意思:
if TryStrToFloat(Tedit(FindComponent('edit'+inttostr(i))).Text,j) then begin