现想得一循环语句实现同时清空30个edit,谢谢

解决方案 »

  1.   

    var i: Integer;
    begin
      for i := 1 to 30 do
        TEdit(FindComponent('Edit' + IntToStr(i))).Clear;
    end;
      

  2.   

    for i := 0 to ComponentCount - 1 do
    begin
      if Components[I] is TEdit then
      TEdit(Components[I]).Clear;
    end;
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    var i: Integer;
    begin
    for i := 0 to self.ComponentCount-1  do
        if self.Components[i].ClassType=TEdit then
            (self.Components[i] as Tedit).Clear;
    end;无论多少
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    var i: Integer;
    begin
    for i := 0 to self.ComponentCount-1  do
        if self.Components[i].ClassType=TEdit then
            (self.Components[i] as Tedit).Clear;
    end;无论多少
      

  5.   

    var i:integer;
    begin
     for i :=form1.ComponentCount-1   downto 0 do//downto可以防止出错!
     begin
        if Components[i] is Tbutton then
      (self.Components[i] as tbutton).Caption:='new' ; end;end;
      

  6.   

    遍历Controls,而非Componentsvar
     i: Integer;
    begin
    with Self do
      for i := 0 to ControlCount-1  do
        if Controls[i] is TEdit then
            (Controls[i] as TEdit).Clear;
    end;因为Components包括不可视的组件,这样会增加操作的元素!!!