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;
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;