Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - schleifenproblem
piffy - Di 21.09.10 10:43
Titel: schleifenproblem
Guten Tag
ich haben ein program mit vielen panels und ich möchte die position von ihnen in zwei array schreiben.
was ich versucht habe aber nicht geht ist folgendes:
for i := 1 to 50 do
begin
x_arr[i] := paneli.left;
y_arr[i] := paneli.top;
das panel"i" mag er nicht.
2te frage am rande
kann man wärend ein program läuft ein neues panel erzeugen, wenn man vorher einen button mit z.B. creat.panel oder so ähnlich erstellt???
mkinzler - Di 21.09.10 11:31
Wenn die Panels panel1 usw. heissen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| var pan: TPanel; ... for i := 1 to 50 do begin pan := ( FindComponent( 'panel'+IntToStr(i) as TPanel); x_arr[i] := pan.left; y_arr[i] := pan.top; ... |
bummi - Di 21.09.10 11:36
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| type TArr=Array[1..50] of TRect; var Arr:TArr; p:TPanel; i:Integer; begin for i := 1 to 50 do begin p := TPanel(FindComponent('Panel' + IntToStr(i))); if Assigned(p) then arr[i] := p.BoundsRect;
end end; |
piffy - Di 21.09.10 11:51
vieln dank
die zeile " pan := TPanel(FindComponent('Panel' + IntToStr(i)));" hat mir gefehlt.
jetzt gehts :D
Andreas L. - Di 21.09.10 13:23
piffy hat folgendes geschrieben : |
kann man wärend ein program läuft ein neues panel erzeugen, wenn man vorher einen button mit z.B. creat.panel oder so ähnlich erstellt??? |
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| var p: TPanel; begin p := TPanel.Create(Self);
p.Parent := Form1;
p.Caption := 'Mein Titel'; p.Left := 100; end; |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!