![]() |
Komponentennamen in Schleifenform als Array deklarieren
Hi,
ein Problem habe ich noch... Ich habe ein Array mit dem Namen Shape vom Typ TShape gemacht. Jetzt will ich, dass Shape[1] als Shape1, Shape[2] als Shape2 deklariert wird usw. bis Shape[250] als Shape250. Muss ich dafür jetzt diesen Befehl für jedes einzelne Shape eintippen oder geht das auch mit einer Schleife? Ich weiß halt nicht wie man auf die Zahl im Namen zugreift. Wär super, wenn ich schnell Hilfe bekäme. |
Re: Komponentennamen in Schleifenform als Array deklarieren
Meist du so was?
Delphi-Quellcode:
for i := 0 to 9 do
begin myShape := TShape.Create(...); myShape.name := 'myShape' + IntToStr(i); end; |
Re: Komponentennamen in Schleifenform als Array deklarieren
Villeicht klappt es,
aber wenn ich die einzelnen Shapes anzusprechen versuche, also sie zum Beispiel sichtbar mache, klappt das nicht (s. Quelltext u.)
Delphi-Quellcode:
FOR i := 82 TO 250 DO
begin Shape[i] := TShape.Create(self) ; Shape[i].Name := 'Shapes' + IntToStr(i) ; Shape[i].Visible := True ; Shape[i].Width := 20 ; Shape[i].Height := 20 ; Shape[i].Top := 300 ; Shape[i].Left := 300 ; end; |
Re: Komponentennamen in Schleifenform als Array deklarieren
Was heißt "klappt nicht"? Wie sieht denn das Array aus?
|
Re: Komponentennamen in Schleifenform als Array deklarieren
Da werden keine Shapes sichtbar,
und es müssten ja eigentlich 170 sichtbar werden.
Delphi-Quellcode:
[...]
private Shape : Array of TShape ; [...] |
Re: Komponentennamen in Schleifenform als Array deklarieren
Du musst ja auch noch den Parent zuweisen.
[edit]
Delphi-Quellcode:
[/edit]
FOR i := 82 TO 250 DO
begin Shape[i] := TShape.Create(self) ; Shape[i].Parent := self; ... end; |
Re: Komponentennamen in Schleifenform als Array deklarieren
Hat der Array auch genügend Platz?
|
Re: Komponentennamen in Schleifenform als Array deklarieren
Oh stimmt ^^,
danke für den Tipp mit dem Parent, Das bedeutet auf welchem Formular das angezeigt wird oder wofür steht der Parent? Super es klappt jetzt :) |
Re: Komponentennamen in Schleifenform als Array deklarieren
Der Owner ist für die Speicherverwaltung der Komponente verantwortlich. Der Parent für das Zeichnen.
|
Re: Komponentennamen in Schleifenform als Array deklarieren
Schau mal in der Hilfe nach TControl.Parent ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz