有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;