比如有一百个控件:Edit1,Edit2,...100:现在我想用一个循环来给一百个控件赋同一个值:
我是这样写的(当然是错的)procedure save(.....);
var test:String;
control:String;
begin
test:='123';
for(int i:=1;i<=100,i++)
begin
control:='Edit'+inttostr(i);
control.text:=test;//运行结果提示该行出错;
end;
end;
我是这样写的(当然是错的)procedure save(.....);
var test:String;
control:String;
begin
test:='123';
for(int i:=1;i<=100,i++)
begin
control:='Edit'+inttostr(i);
control.text:=test;//运行结果提示该行出错;
end;
end;
begin
for i:=1 to 3 do
TEdit(FindComponent('Edit'+inttostr(i))).Text:=inttostr(i);
end;
VAR
I: Integer;
begin
for i := 0 to Form1.ComponentCount - 1 do
begin
if Form1.Components[i] is TEdit then
begin
TEdit(Form1.Components[i]).Text := 'aa';
end
end
end;
我试过了的
procedure TForm1.Button1Click(Sender: TObject);
var
i : integer;
e : TEdit;
begin
for i := 0 to self.ControlCount - 1 do
if self.Controls[i] is TEdit then
begin
e := self.Controls[i] as TEdit;
e.Text := '123';
end;
end;
begin
for i:=1 to 3 do
TEdit(FindComponent('Edit'+inttostr(i))).Text:=inttostr(i);
end;
VAR
I: Integer;
begin
for i := 0 to Form1.ComponentCount - 1 do
begin
if Form1.Components[i] is TEdit then
begin
TEdit(Form1.Components[i]).Text := 'aa';
end
end
end;
begin
for i:=1 to 100 do
(Form1.FindComponent('Edit'+IntToStr(i)) as TEdit).Text:='你需要的值';
end;
if Components[i] is TEdit then (Components[i]as TEdit).Text:=buf[i];
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
for i:=0 to ComponentCount-1 Do
TEdit(FindComponent('Edit' + IntToStr(i))).Text := buf[i];~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
http://community.csdn.net/Expert/topic/3706/3706098.xml?temp=.6325189
var
editlist:array of tedit;
begin
setlength(editlist,100);
for i:=0 to 99 do
begin
editlist[i]:='edit'+inttostr(i);
end;
for i:=0 to 99 do
editlist[i]:='123';end;
VAR
I: Integer;
begin
for i := 0 to Form1.ComponentCount - 1 do
begin
if Form1.Components[i] is TEdit then
begin
TEdit(Form1.Components[i]).Text := 'aa';
end
end
end;
var i:integer;
begin
for i:=1 to 100 do
(Form1.FindComponent('Edit'+IntToStr(i)) as TEdit).Text:='你需要的值';
end;
===========================================================================
如查你想循環的從別的循環中得值,那需寫另一個循環!