delphi 遍历控件(转)

有10个EDIT控件,取名为EDT1,EDT2,EDT3。。。EDT10,如何用一个循环知道哪个EDIT控件的值是空的?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; 
利用这个function   FindComponent(const   Name:   string)函数你可以找到你要的任何控件,然后判断它是否为空. 使用Tedit.findcomponents(edit(I))函数,i为控件的序号,具体看一下帮助!
还有一个方法就是给他们的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;  

posted @ 2012-09-21 16:28  Unique.Y  阅读(8720)  评论(0编辑  收藏  举报