我有20个Edit,现在我想用一个循环将他们的text都置空。怎样做啊?
谢谢!

解决方案 »

  1.   

    我首先假设你的20个edit都在form1上(为了方便,在其他Twincontrol上也可以的)
    procedure makenull;
    var I:integer;
    begin
            for I:=0 to form1.ComponentCount-1 do
            begin
                    if (form1.Components[I] is TEdit) then
                    begin
                            (form1.Components[I] as TEdit).text:='';
                    end;
            end;
    end;
      

  2.   

    var
      i:integer;
    for i:=componentcount-1 downto 0 do
     if components[i] is tedit then
       iedit(components[i]).text:='';
      

  3.   

    var
      i:integer;
    for i:=componentcount-1 downto 0 do
     if components[i] is tedit then
       Tedit(components[i]).text:='';//---changed something....  ^_^
      

  4.   

    var i:integer;
    begin
    For i:=0 to controlcount-1 do
       begin
        Tedit(components[i]).text:='';
       end;
    end;
      

  5.   

    这样也行
    For i:=0 to controlcount-1 do
    begin
    Tedit(FindComponent('edit'+inttostr(i))).text:='';
    end;