guten morgen...
ich hab folgendes problem...
ich möchte eine größere menge an Panels in einen Array des gleichen Typs schreiben, um später zwischen der Form und anderen Units kommunizieren zu können und die Panels aus anderen Units steuern zu können...
folgendes hab ich jetzt da stehen, aber stilvoller wärs natürlich mit ner schleife.. (das gleiche könnte ich bei meinem nächsten spiel mit shapes dann auch machen - das werden dann so 50, 60 shapes...)
im type bereich einen Array von 0 bis 8 vom Typ TPanel (TPanel, damit ich später die Panels direkt über den Array anwählen kann...)
|
Source code
|
1
2
|
private
Arr_SpielPanels :array[0..8] of TPanel;
|
|
Source code
|
1
2
3
4
|
Arr_SpielPanels[0]:=Panel1; // <- hier liegt das problem
// später kann ich dann so spielereien vollbringen...
x:=Arr_SpielPanels[0];
x.Color:=clBlack;
|
ich möchte diese Zuweisung mit zb 100 Panels machen. Jetzt will ich keine 100 Zeilen da hin schreiben, sondern lieber ne while oder for schleife da hin basteln... ich finde nur den richtigen befehl nicht...
was der sache am nächsten kam war:
|
Source code
|
1
2
3
4
5
6
7
8
9
10
|
proc... blah
var: a:array[0..8] of string;
i:integer;
begin
i:=0;
while (i<=8) do begin
a:=(FindComponent('TPanel'+inttostr(i)) as TPanel).Name);
inc(i);
end;
end;
|
FindComponent bestimmt mir die Panels mit dem Namen TPanel1 bis TPanel8... aber nur in String Form... ich brauch die aber unbedingt in TPanel
... jemand ne idee? :/