Erstellt man die Komponenten zur Laufzeit selbst, ist ein Array sicher die beste Lösung.
Andernfalls bietet sich auch diese Alternative an:
Delphi-Quellcode:
function TForm4.GetCircle(AIndex: Integer): TShape;
begin
case AIndex
of
1: Result := circle1a;
2: Result := circle2a;
3: Result := circle3a;
4: Result := circle4a;
5: Result := circle5a;
6: Result := circle6a;
7: Result := circle7a;
8: Result := circle8a;
9: Result := circle9a;
10: Result := circle10a;
else Result :=
nil;
// oder Exception auslösen
end;
end;
procedure TForm4.SetCircleVisible(ACount: Integer);
var
i: Integer;
begin
for i := 1
to 10
do
begin
GetCircle(i).Visible := (i <= ACount);
end;
end;