type editarray= array of tEdit;procedure TForm1.Button1Click(Sender: TObject); var i,n:integer; edit:editarray; begin n:=5; setlength(edit,n); edit[0]:=tedit.Create(self); edit[0].Parent:=form1; edit[0].Top:=self.ClientRect.Top+50; edit[0].Left:=self.ClientRect.Left+50; for i:=1 to n-1 do begin edit[i]:=tedit.Create(self); with edit[i] do begin parent:=form1; Top:=30+edit[i-1].Top; Left:=self.ClientRect.Left+50; end; end;
procedure TForm1.MyClick(Sender: TObject); var i:integer; nam:string; begin i:=strtoint(Trim(Copy(TButton(Sender).Name,7,3))); TButton(Sender).Visible:=not TButton(Sender).Visible; i:=i+1; nam:='button'+inttostr(i); case i do i:..... end;procedure TForm1.FormCreate(Sender: TObject); var i:integer; begin for i:=1 to 100 do begin a[i]:=tbutton.Create(self); with a[i] do begin Top:=(i-1) div 10*20; Left:=(i-1) mod 10*20; Height:=20; Width:=20; Name:='button'+inttostr(i); Caption:=''; Parent:=Panel2; OnClick:=MyClick; end; end; Panel2.AutoSize:=true end;
改一下:Panel2.AutoSize:=true;//掉了个分号 事件中根据 i 的值不同,做不同的事,功能很象动态数组
edit1.Parent := Form1;
editarray= array of tEdit;procedure TForm1.Button1Click(Sender: TObject);
var
i,n:integer;
edit:editarray;
begin
n:=5;
setlength(edit,n);
edit[0]:=tedit.Create(self);
edit[0].Parent:=form1;
edit[0].Top:=self.ClientRect.Top+50;
edit[0].Left:=self.ClientRect.Left+50;
for i:=1 to n-1 do
begin
edit[i]:=tedit.Create(self);
with edit[i] do
begin
parent:=form1;
Top:=30+edit[i-1].Top;
Left:=self.ClientRect.Left+50;
end;
end;
var
i:integer;
nam:string;
begin
i:=strtoint(Trim(Copy(TButton(Sender).Name,7,3)));
TButton(Sender).Visible:=not TButton(Sender).Visible;
i:=i+1;
nam:='button'+inttostr(i);
case i do
i:.....
end;procedure TForm1.FormCreate(Sender: TObject);
var
i:integer;
begin
for i:=1 to 100 do
begin
a[i]:=tbutton.Create(self);
with a[i] do
begin
Top:=(i-1) div 10*20;
Left:=(i-1) mod 10*20;
Height:=20;
Width:=20;
Name:='button'+inttostr(i);
Caption:='';
Parent:=Panel2;
OnClick:=MyClick;
end;
end;
Panel2.AutoSize:=true
end;
事件中根据 i 的值不同,做不同的事,功能很象动态数组
//////////////////////////////////
上面的函数可得到控件