e40到e48的控件均存在且有値for i:=40 to 48 do
begin
sum:=sum+strtoint(Tedit(findcomponent('e'+inttostr(i))).Text);
end;为什么执行出错???
解决方案 »
- mysql 查询经常出现 Lost connection to MySQL server during query
- blazingfire近来接分8(如何在内存中直接打开Word文档?)
- 从指定的网站下载指定的一个文件,并下载完后检测文件的完整性,并自动运行下载好的程序。这样要怎么实现呢?高手指教!
- 一个外部DLL A.DLL,它的返回值是一个DATASET,请问DELPHI如何调用这个DLL及怎样接收返回值
- 大侠们救命啊,再搞不清楚就毕不了业了!!!!
- 如何在客户端把EXCEL导入到SQL
- for i:=0 to 10 do 语句中,我想退出循环,用exit,但我想继续执行for循环,用什么语句?loop不行,i:=i+1不行
- 无法找到DLL?
- 如何把文件存为16进制字节
- 关于《程序员大本营》里的一个控件使用方法请教
- 一个猜鸟问的通讯的问题。socket。其实是通讯协议的...
- 如何实现这样的报表,请进来看看!~!!!!!!!!!!!!!!!!!!!!!!!!!!!
对于你的问题 可以有中解决思路:
将所有EDIT放到一个容器里,如Panel 然后这样做
var
i,s: integer;
begin
for i:=0 to Panel.Controls.ControlCount-1 do
if Panel.Controls[i] is TEdit then
s:=s+StrToInt(TEdit(Panel.Controls[i]).Text);
end;
I,Sum: Integer;
tfComponent: TComponent;
begin
Sum := 0;
for I := 40 to 48 do
begin
tfComponent := FindComponent('e' + IntToStr(I));
if tfComponent <> nil then
Inc(Sum, StrToIntDef(Trim(TEdit(tfComponent).Text), 0));
end;
end;检查e40到e48的控件名字的第一个子目是“e”还是“E”—————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
—————————————————————————————————