var
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;
控件名是一种特殊的字符串 不能用普通的方法使用
对于你的问题 可以有中解决思路:
将所有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;