Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Komponentennamen in Schleifenform als Array deklarieren (https://www.delphipraxis.net/134190-komponentennamen-schleifenform-als-array-deklarieren.html)

kellerassel007 17. Mai 2009 14:46


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.

Luckie 17. Mai 2009 14:49

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;

kellerassel007 17. Mai 2009 15:01

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;

DeddyH 17. Mai 2009 15:02

Re: Komponentennamen in Schleifenform als Array deklarieren
 
Was heißt "klappt nicht"? Wie sieht denn das Array aus?

kellerassel007 17. Mai 2009 15:04

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 ;
[...]

DeddyH 17. Mai 2009 15:06

Re: Komponentennamen in Schleifenform als Array deklarieren
 
Du musst ja auch noch den Parent zuweisen.

[edit]
Delphi-Quellcode:
FOR i := 82 TO 250 DO
    begin
      Shape[i] := TShape.Create(self) ;
      Shape[i].Parent := self;
      ...
    end;
[/edit]

mkinzler 17. Mai 2009 15:07

Re: Komponentennamen in Schleifenform als Array deklarieren
 
Hat der Array auch genügend Platz?

kellerassel007 17. Mai 2009 15:09

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 :)

Luckie 17. Mai 2009 15:10

Re: Komponentennamen in Schleifenform als Array deklarieren
 
Der Owner ist für die Speicherverwaltung der Komponente verantwortlich. Der Parent für das Zeichnen.

DeddyH 17. Mai 2009 15:11

Re: Komponentennamen in Schleifenform als Array deklarieren
 
Schau mal in der Hilfe nach TControl.Parent ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:34 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz