我是棵白菜,我有edit1,edit2,........edit10个编辑框,现样把它定义成数组,想成组清空,或判如果其中有一个为空则提示。知不知道怎么写?请大家帮忙!

解决方案 »

  1.   

    to delphiseabird(沙鸥)
    循环不是那么好些吧?
      

  2.   

    for i:=1 to 10 do
    begin
      if(trim(editGroup[i].text))='' then  //editGroup为edit数组。
         showmessage('至少有一个edit为空!');     
    end;当然也可以不用数组,这样写:
    with Form1 do
      for i:=0 to ControlCount-1 do
      if (Controls[i] is Tedit) then
         if (Controls[i] as Tedit).text:='' then showmessage('至少有一个edit为空!');
      全部清空用一个循环把他们负值为''就行了。
      

  3.   

    var
      I, n: Integer;
    begin
      n := 10;
      for I := 1 to n do
      begin
        TEdit(self.FindComponent('edit'+IntToStr(I))).Text:='';
      end;
      

  4.   

    to noil0125(珏心)
    厉害!明白了
      

  5.   

    public
     edit : array [1..10] of tedit; 
    //...for j := 1 to 10 do
      begin
        edit[j]:= TEdit.Create(self);
        edit[j].Parent := form1;
        edit[j].Top := j*50+100; //自己设定
        edit[j].Left := 100;//自己设定
      end;
    ///...
    然后:
    在某事件了判断就行了for i:=1 to 10 do 
      edit[i].text:='';//成组清空或者
    for i:=1 to 10 do 
      if edit[i].text:='' then
        showmessage('edit'+inttostr(i))+'是空的');
    //...
      

  6.   

    //组清空
    var
      I:Integer;
    begin
      for I:=1 to 10 do 
        if Length((Self.FindComponent('Edit'+IntToStr(I)) as TEdit).Text)>0 then
          (Self.FindComponent('Edit'+IntToStr(I)) as TEdit).Clear;
    end;
    //报信息
    var
      I:Integer;
    begin
      for I:=1 to 10 do 
        if Length((Self.FindComponent('Edit'+IntToStr(I)) as TEdit).Text)=0 then
          ShowMessage('编辑框'+(Self.FindComponent('Edit'+IntToStr(I)) as TEdit).Name+'当前内容为空!');
    end;