用数组来做:var edtArr : Array [100] of TEdit; begin for i := 0 to 99 do begin edtArr[i] := TEdit.Create(self); end;
var edtArr : Array [0..5] of TEdit; i: Integer; begin for i := 0 to 5 do begin edtArr[i] := TEdit.Create(Self); edtArr[i].Width := 60; edtArr[i].Left := i*70; edtArr[i].Parent := Self;//此句不能少 end; end;
不用数组也行。 var edtTemp: TEdit; i: integer; begin for i := 1 to 10 do begin edtTemp := TEdit.Create(Self); edtTemp.Width := 10; edtTemp.Height := 10; edtTemp.Left := i * 10; edtTemp.Parent := Self; end; end;记得要free它们。
其实不Free也没关系, 由Create(Self)指定了, Self会负责free它的。
换名话问一下,怎么表示此表表单中的第N个edit?(原本有的)
你如果要标识某一个EDIT(其它对象也一样)的话, 可以给它的TAG属性赋一个特定的值就是了,比如: procedure TFrom1.Button1Click(Sender: TObject); var edtTemp: TEdit; i: integer; begin for i := 1 to 10 do begin edtTemp := TEdit.Create(Self); edtTemp.Width := 10; edtTemp.Height := 10; edtTemp.Left := i * 10; edtTemp.Parent := Self; edtTemp.Tag := i;//打了标记 end; end;procedure TForm1.Button2Click(Sender: TObject); var i: Integer; begin for i := 0 to ComponentCount-1 do begin if (Components[i] is TEdit)and(Components[i].Tag = 2) then begin (Components[i] as TEdit).Font.Color := clRed; //other code end; end; end;
var cEdit: TEdit; i: integer; begin for i := 1 to 10 do begin cEdit:= TEdit.Create(Self); cEdit.Width := 10; cEdit.Height := 10; cEdit.Left := i * 10; cEdit.Parent := Self; end; end;
edtArr : Array [100] of TEdit;
begin
for i := 0 to 99 do
begin
edtArr[i] := TEdit.Create(self);
end;
edtArr : Array [0..5] of TEdit;
i: Integer;
begin
for i := 0 to 5 do
begin
edtArr[i] := TEdit.Create(Self);
edtArr[i].Width := 60;
edtArr[i].Left := i*70;
edtArr[i].Parent := Self;//此句不能少
end;
end;
var
edtTemp: TEdit;
i: integer;
begin
for i := 1 to 10 do
begin
edtTemp := TEdit.Create(Self);
edtTemp.Width := 10;
edtTemp.Height := 10;
edtTemp.Left := i * 10;
edtTemp.Parent := Self;
end;
end;记得要free它们。
由Create(Self)指定了,
Self会负责free它的。
可以给它的TAG属性赋一个特定的值就是了,比如:
procedure TFrom1.Button1Click(Sender: TObject);
var
edtTemp: TEdit;
i: integer;
begin
for i := 1 to 10 do
begin
edtTemp := TEdit.Create(Self);
edtTemp.Width := 10;
edtTemp.Height := 10;
edtTemp.Left := i * 10;
edtTemp.Parent := Self;
edtTemp.Tag := i;//打了标记
end;
end;procedure TForm1.Button2Click(Sender: TObject);
var
i: Integer;
begin
for i := 0 to ComponentCount-1 do
begin
if (Components[i] is TEdit)and(Components[i].Tag = 2) then
begin
(Components[i] as TEdit).Font.Color := clRed;
//other code
end;
end;
end;
cEdit: TEdit;
i: integer;
begin
for i := 1 to 10 do
begin
cEdit:= TEdit.Create(Self);
cEdit.Width := 10;
cEdit.Height := 10;
cEdit.Left := i * 10;
cEdit.Parent := Self;
end;
end;