现有100个edit, 分别为edit1,edit2,edit3......edit100 , 现在想把前50个edit的text清空, 后50个不动, 如何操作简单些 , 请各位给点思路

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var tmp:TComponent;I:integer;sNum:stringbegin
    for i:=0 to self.ComponentCount-1 do
    begin
        tmp:=Components[i];
        if lowerCase(copy(tmp.Name,1,4))='edit' then
        begin
        sNum:=copy(tmp.name,5,length(tmp.Name)-4);
        if StrToInt(sNum)<=50 Then TEdit(tmp).Text :='';
        end;
    end;
    end;
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      i: Integer;
    begin
      for i := 1 to 50 do
        TEdit(Form1.FindComponent('Edit'+IntToStr(i))).Text := '';
    end;