1.  怎样遍历一个容器(如Panel)中的所有控件。   (20分)
2.  怎样一次性控制一个容器中的所有同类控件(如将Panel1中的所有
    TEdit类控件清空).   (20分)
3.  在数据库(使用ADO+ACCESS)设计时保存,出现Invalid Enum Value错误,是怎么
    回事。   (60分)

解决方案 »

  1.   

    1、容器应有以下属性ControlCount,Controls[i].name
    2、类不同好象不行吧
    3。不清楚能不能具体点,
      

  2.   

    1.
    procedure TForm1.Button1Click(Sender: TObject);
    var
      i,j:integer;
      s:string;
    begin
      i:=form1.Panel1.ControlCount;
      if i>0 then
      begin
        for j:=0 to i-1 do
        begin
          s:=form1.Panel1.Controls[j].Name;
          form1.ListBox1.Items.Add(s);
        end;
      end;
    end;
    2.
    procedure TForm1.Button2Click(Sender: TObject);
    var
      i,j:integer;
      s:string;
    begin
      i:=form1.Panel1.ControlCount;
      if i>0 then
      begin
        for j:=i-1 downto 0 do
        begin
          form1.Panel1.Controls[j].Free;
        end;
      end;
    end;
      

  3.   

    2.
    procedure TForm1.Button2Click(Sender: TObject);
    var
      i,j:integer;
      s:string;
    begin
      i:=form1.Panel1.ControlCount;
      if i>0 then
      begin
        for j:=i-1 downto 0 do
        begin
          if form1.Panel1.Controls[j].ClassName='TEdit' then
            form1.Panel1.Controls[j].Free;
        end;
      end;
    end;
      

  4.   

    清空指内容清空的话为
    procedure TForm1.Button2Click(Sender: TObject);
    var
      i,j:integer;
      s:string;
    begin
      i:=form1.Panel1.ControlCount;
      if i>0 then
      begin
        for j:=i-1 downto 0 do
        begin
          if form1.Panel1.Controls[j].ClassName='TEdit' then
            (form1.Panel1.Controls[j] as TEdit).Text:='';
        end;
      end;
    end;
      

  5.   

    2 if Controls[i] is TEdit then ((TEdit)Controls[i]).Text:='';