delphi动态创建编辑框,并且动态获取编辑框的内容的有关问题
delphi动态创建编辑框,并且动态获取编辑框的内容的问题
我今天小测试的程序,动态创建30个编辑框,我想在遍历获取编辑框的内容
我动态创建编辑框的代码是,动态创建了30个边框
然后我想全部获取这30个边框的内容 edit.text
我用的代码是
结果,找不到边框的控件,我调试//showmessage(inttostr(Self.Componentcount)); 返回是1 因为我的窗体上只有一个控件
不包括动态创建的30个编辑框
所以,我想如何实现,循环获取动态编辑框的内容,我的编辑框是动态创建的
谢谢
------解决思路----------------------
我今天小测试的程序,动态创建30个编辑框,我想在遍历获取编辑框的内容
我动态创建编辑框的代码是,动态创建了30个边框
procedure TForm1.buildedit;
var sedit:TEdit; //直接生成edit不用赋值就行
i,j:integer;
ispace,itop,iwidth:integer;
begin
ispace:=25;
itop:=50;
iwidth:=260;
for i := 0 to 9 do
begin
for j := 0 to 2 do
begin
sedit:=Tedit.Create(Application);
sedit.Parent := Self;
//sedit.Name:='sedit'+inttostr(i);
//sedit.Text:='测试'+inttostr(i);
sedit.Left:=ispace+ispace*j+iwidth*j+120;
sedit.Top:=itop+itop*i;
sedit.Width:=140;
sedit.Height:=27;
sedit.Visible:=true;
end;
end;
end;
然后我想全部获取这30个边框的内容 edit.text
我用的代码是
function TForm1.getalltext():string;
var
I:integer;
s_tmp:string;
begin
s_tmp:='';
for i:=0 to Self.Componentcount-1 do//Self.Componentcount就是TForm1的控件数量
begin
if Self.Components[i] is TEdit then //判断控件是否为TEdit
begin
s_tmp:=s_tmp+(Self.Components[i] as TEdit).Text;
end;
end;
//showmessage(inttostr(Self.Componentcount));
result:=s_tmp;
end;
结果,找不到边框的控件,我调试//showmessage(inttostr(Self.Componentcount)); 返回是1 因为我的窗体上只有一个控件
不包括动态创建的30个编辑框
所以,我想如何实现,循环获取动态编辑框的内容,我的编辑框是动态创建的
谢谢
------解决思路----------------------
sedit := TEdit.Create(self);Application不可以