Hi,
eine weitere Möglichkeit ist es, die Liste Components des Owner nach den Labels zu durchsuchen. Das macht natürlich nur Sinn, wenn du alle Labels oder einen mathematisch eingrenzbaren Bereich bearbeiten möchtest.
In meinem Bsp. soll der Owner ein Panel (Panel1) sein.
Delphi-Quellcode:
For Counter := 0 to Panel1.ComponentCount - 1 do
IF Panel1.Components[Counter] is TLable then
(Panel1.Components[Counter] as TLable).Caption := 'Hallo';
Du kannst natürlich auch auf den Componentennamen mittels (Panel1.Components[Counter] as TLable).Name als String zugreifen und für die Bearbeitung die entsprechenden Labels "filtern".
Sirius Methode läuft sozusagen anders herum. Du bildest wie in deinem Beispiel einen Namen und übergibst diesen FindComponent. Wird das passende Label gefunden, so liefert FindComponent dieses zurück. Damit kannst du dann auch auf die Caption zugreifen.
Delphi-Quellcode:
var Lable : TLable;
LableName : String;
...
For Counter := 0 to 20 do begin
LableName := Format('Lable%d', [Counter]);
Lable := self.FindComponent(LableName);
If Assigned(Lable) then
Lable.Caption := 'Hallo';
end;
Gruß oki