procedure TForm1.Button2Click(Sender: TObject);
var
  I:integer;
begin
  for i:=0 to Self.Componentcount-1 do//Self.Componentcount就是TForm1的控件数量
  begin
    if Self.Components[i] is TEdit then  //判断控件是否为TEdit
    begin
      if (Self.Components[i] as TEdit).Text='' then ShowMessage(Self.Components[i].Name);
    end;
  end;
end;

解决方案 »

  1.   

    遍历控件并不难,关键在于你的要求:
    是否只有一个edit是空;
    是否只要检测到一个edit是空的就可以了;
    是否是要把所有的空的edit都取出;
    .....
      

  2.   

    利用这个function FindComponent(const Name: string)函数你可以找到你要的任何控件,然后判断它是否为空.
      

  3.   

    除了用于输入数据的10个EDIT控件,还有别的EDIT控件,但只想控制这10个。最好能通过他们的名字控制?能吗?
      

  4.   

    千两狂死郎:
      除了用于输入数据的10个EDIT控件,还有别的EDIT控件,但只想控制这10个。最好能通过他们的名字控制?能吗? 
      

  5.   

    使用Tedit.findcomponents(edit(I))函数,i为控件的序号,具体看一下帮助!
      

  6.   

    还有一个方法就是给他们的TAG赋同一个值,比如1,其他默认为零,程序如下:
    procedure TForm1.Button2Click(Sender: TObject);
    var
      I:integer;
    begin
      for i:=0 to Self.Componentcount-1 do//Self.Componentcount就是TForm1的控件数量
      begin
        if Self.Components[i] is TEdit then  //判断控件是否为TEdit
        begin
          if (Self.Components[i] as TEdit).Text='')
             and (Self.Components[i] as TEdit).tag=1) then 
            ShowMessage(Self.Components[i].Name);
        end;
      end;
    end;