Da Du die Labels zur Laufzeit erstellst, kann Du nicht schon im Quellcode über einen Namen darauf zugreifen. Du hast im Grunde 2 Möglichkeiten:
1. Du packst die Labels in ein array, und greifst dann über den Index auf das Label zu
2. Du verzichtest auf das Array und suchst beim Zugriff auf das Label mittels FindComponent danach. Du kannst im Label die Eigenschaft Tag setzen, den Du als Index für dein Label nehmen kannst... Du hast doch schon die Variable Anzahl. Ich würde als den Tag einfach mit dem Wert von Anzahl füllen. Wenn Du nun also das 3. erstellte Label suchst, könntest Du diese Funktion nutzen:
Delphi-Quellcode:
function TForm1.LabelNr (Index : integer) : TLabel ;
var
i : integer ;
begin
Result := nil ;
for i := 0 to ComponentCount-1 do if Components[i] is TLabel then begin
if (Components[i] as TLabel).Tag = Index then begin
Result := Components[i] as TLabel ;
abort ;
end ;
end ;
end ;
Der Aufruf würde dann etwa so aussehen:
Delphi-Quellcode:
procedure TForm1.MachWasMitDemLabel ;
var
Label : TLabel ;
begin
Label := LabelNr (3) ;
if assigned(Label) then with Label do begin
// Mach irgend was.
end ;
end ;