form1 上有10个edit(edit1...edit10),想通过一个循环来显示edit上的text,应如何做呢?
在下尝试了如下:
for i:=1 to 10 do
  begin
    showmessage(edit[i].text);  end;
结果通不过,请问应如何呢?

解决方案 »

  1.   

    for i:=0 to self.componentcount-1 do
    begin
      if (self.components[i] is TEdit) then
         showmessage((self.components[i] as TEdit).Text);
    end;
      

  2.   

    如果你的Edit控件的名称是edit1\edit2\edit3.....edit10也可以这样:myedit:Tedit;
      for I := 1 to 10 do
      begin
        Myedit := FindComponent ('Edit' + IntToStr (I)) as Tedit;
        showmessage(Myedit.text);
       end;
      

  3.   

    for I := 1 to 10 do
       showmessage(TEdit(FindComponent('Edit' + IntToStr (I))).text);
      

  4.   

    WMAFU(无鸣)和minercxy(Codewhy)的方法应该都可以,在给你一个比较菜的方法,声明一个字符串数组,在每个edit控件的OnExit事件中为数组赋值,然后再显示就可以了