procedure TForm1.Button1Click(Sender: TObject);
var
  i : integer;
  bTemp : boolean;
begin
  while true do
  begin
    bTemp := false;
    for i:=0 to Panel1.ControlCount-1 do //replace panel1
    begin
      if Panel1.Controls[i] is Tlabel then
      begin
        Panel1.Controls[i].Free;
        bTemp := true;
      end;
      if bTemp then
        break;
    end;
    if i>= Panel1.ControlCount then
      exit;
  end;
end;以上的代码是把Panel1上的Tlabel 清除掉谁能有办法能把的Label1的Caption变成''(空),
不要用 Label1.Caption='';
      Label2.Caption='';
      Label3.Caption='';
      Label4.Caption='';
      .........

解决方案 »

  1.   

    for i:=0 to form1.companentCount-1 do //replace panel1
          if form1.companents[i] is Tlabel then
          (form1.companents[i] as tlabe1).caption:='';
      

  2.   

    不好意思,拼写错误companent应为component
    for i:=0 to form1.componentCount-1 do //replace panel1
          if form1.components[i] is Tlabel then
          (form1.components[i] as tlabe1).caption:='';
      

  3.   


        for i:=0 to Panel1.ControlCount-1 do //replace panel1
        begin
          if Panel1.Controls[i] is Tlabel then
            (Panel1.Controls[i] as TLabel).Caption:='';
          ......
        end;