var
  lbl :array[1..100] of TLabel;for i:=1to 100 do
begin
  lbl[i]:= TLabel.Create(self);
  lbl[i].Parent := self;
  ...
end;

解决方案 »

  1.   

    TLabel(FindComponent('Label'+IntToStr(20))).Caption := 'OK'+IntToStr(20);
      

  2.   

    都说完了,不过你也可以利用tag。
      

  3.   

    可以,
    如Label1.....Label100共100个Label控件。
    for i := 1 to 100 do
    var
      L : TLabel;
    begin
      L := FindComponent('Label'+inttostr(i));
      if L<>nil then L.caption := ...;
    end;
      

  4.   

    用Tstringlist,它的效率和方便要超过自定义数组。
    Tstringlist.addobject方法可以将字符串与相应的对象关联起来,之后就可以通过检索字符串或者直接引用下标来使用相应对象,很好用。
      

  5.   

    用控件数组,以EDIT为例:
    type
      TEditArray = array of TEdit;
    var
      DTEdit: TEditArray;
      DTName: array [0..3] of String;
      i: Integer;
    begin
      DTName[0] := 'A';
      DTName[1] := 'AA';
      DTName[2] := 'AAA';
      DTName[3] := 'AAAA';  SetLength(DTEdit, 4);
      DTEdit[0] := Edit1;  
      DTEdit[1] := Edit2;  
      DTEdit[2] := Edit3;  
    DTEdit[3] := Edit4;    for i := 0 to 3 do
      begin
        DTEdit[i].Name := DTName[i];
      end;
      

  6.   

    假设有Label1...Label100这100个Label控件
    var
     L : TLabel;
    begin
      for i := 1 to 100 do
      begin
         L := TLabel(FindComponent('Label'+inttostr(i)));
         if L<>nil then
         L.Caption := '...';
      end;
    end;
      

  7.   

    如果你的Tlabel是已经创建了的,楼上的方法就能实现了.如果你是动态创建的,建议你用TList来保存所创建的TLabel.示例代码如下:
    type  
      TLabelPtr = ^TLabel;
    var
      lblList:TList;
      PLabel:TLabelPtr;
    ...
      lblList := TList.Create;
    ...
      new(PLabel);
      lblList.Add(PLabel);
    ...
      

  8.   

    给你一个简单的
    procedure TForm1.Button1Click(Sender: TObject);
    var
      arrTLabe:array[1..4] of TLabel;
    begin
      arrTLabe[1]:=TLabel;
      arrTLabe[1].caption :='a';
    ......
    end;