Delphi在循环中获取组件

问题描述 投票:0回答:2

我有3页的页面控制。在每一页上,我都有控件,例如TEdit,其名称为edt1(在第一页上),etd2(在第二页上),edt3(在第三页上)。

我想为每个对象进行迭代并设置一个文本值。

类似:

 for j := 0 to pages.count-1 do
begin
edt[j].text:= 'something ' + IntToStr(j);
end;

但是这种方式不起作用

delphi loops components
2个回答
2
投票

这应该起作用:

for i := 0 to pages.Count - 1 do
begin
    TEdit(FindComponent('edt' + IntToStr(i))).Text := 'something';
end;

[如果FindComponent返回nil,则应添加一些错误检查。

© www.soinside.com 2019 - 2024. All rights reserved.