我正在使用数组来管理我的数据和输出。
我的问题是我需要从连续增加1的文本框中输入或输出,所以我的数组从1开始到31结束。我的变量是文本数组,不能是数组,其名称类似于memo67。 。-memo97。
是否可以使用tmepcounter?所以我想在for循环中使用诸如memo(a + 66)之类的东西。这样,我就可以用文本数组[a] 1到31填充文本框。
礼物
答案 0 :(得分:0)
正如Andreas所说,通常在这种情况下使用数组。但是,如果您喜欢我喜欢快速复制和过去的操作,则可以通过一个步骤使用TComponent功能来填充此类数组:
Type
TForm1 = class
editsset1 : array of tedit;
end;
type TControlDynArray = Array of TControl;
procedure loadarray (root:tcomponent;var x : TControlDynArray;basename:string;i1,i2:integer);
var l,i : integer;
begin
l:=i2-i1+1;
setlength(x,l);
for i := i1 to i2 do
begin
x[i-i1]:=tcontrol(root.FindComponent(basename+inttostr(i)));
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
// loads edit1..31 into editsset1[0] ... editsset[30]
loadarray(self,TControlDynArray(editsset1),'Edit',1,31);
end;
免责声明:上面的代码是从工作代码中拼凑而成的,但是我没有测试最终结果