Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Namen TShape zusammensetzen (https://www.delphipraxis.net/91887-namen-tshape-zusammensetzen.html)

Student81 11. Mai 2007 11:40


Namen TShape zusammensetzen
 
Hallo zusammen, ich habe folgendes Problem:

Ich habe unter anderem 500 Shapes (Quadrate). Der User gibt eine Startzahl ein und es wird von dieser Zahl an ein Intervall von 500 Zahlen durchlaufen. Wenn eine Primzahl gefunden wird, spielt der PC einen Ton, und das entsprechende Quadrat soll angemalt werden.
Nun möchte ich wenn irgendwie möglich diese Shapes in meiner Intervall-Schleife aber allgemein ansprechen.

Die Shapes heißen ja alle ShapeXXX. Und dann müsste ich doch sowas sagen können wie

Shape+'i'.Brush.Color:=clmaroon;

Ums kurz zu sagen, wie setze ich einen Objektnamen aus einem konstanten String und einer Integerzahl zusammen?

Vielen Dank im Voraus!!

marabu 11. Mai 2007 11:58

Re: Namen TShape zusammensetzen
 
Herzlich willkommen in der Delphi-PRAXiS, Student81.

Warum verwendest du nicht einfach die Komponente TDrawGrid an Stelle von 500 TShapes? So könntest du die einzelnen Rechtecke einfach über ihren Index ansprechen.

Freundliche Grüße vom marabu

angos 11. Mai 2007 12:12

Re: Namen TShape zusammensetzen
 
Hi,

aber allgemein möglich ist das, so auf die Objekte zuzugreifen wie Student1 es wünscht -> mit FindComponent. (Schau mal in die Onlinehilfe)

Student81 11. Mai 2007 12:13

Re: Namen TShape zusammensetzen
 
Danke, werde das vielleicht auch mal ausprobieren. Habe jetzt noch folgende Möglichkeit gefunden, für die, die vielleicht mal das gleiche Problem haben:

Code:
TShape(FindComponent('Shape'+IntToStr(Quadratzaehler))


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:36 Uhr.

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