Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Variable Variablen (https://www.delphipraxis.net/107438-variable-variablen.html)

nottrott 27. Jan 2008 22:05


Variable Variablen
 
Hallo,

gibt es in Delphi die Möglichkeit, variable Variablen zu nutzen, also eine Variable anhand eines Strings zu benennen?

Ich möchte in einer Schleife mehreren Labels (label1..labelx) eine caption zuweisen und dazu nicht jedes Label einzeln angeben.
Ich hatte mir gedacht, dass es vllt. geht, eine for-Schleife mit i:=1 to x zu machen und dann mit sowas wie Labeli das jeweilige Label ansprechen.

Gibt es diese Möglichkeit unter Delphi?
Wenn nicht, habt ihr Vorschläge wie ich das sonst lösen könnte?

Gruß
Nottrott

sirius 27. Jan 2008 22:08

Re: Variable Variablen
 
Du kannst die Möglichkeit nutzen, dass jede Komponente der VCL ihren Namen kennt. "Normale" Variablen können das allerdings nicht.
Also für Label, etc. schau mal nach "findcomponent"

3_of_8 27. Jan 2008 22:08

Re: Variable Variablen
 
Normalerweise verwendet man dafür Arrays, da du aber wahrscheinlich die Labels per Formulareditor erstellt hast, wirst du wohl findcomponent verwenden müssen.

nottrott 27. Jan 2008 22:12

Re: Variable Variablen
 
WOW
3 Minuten :shock:
Danke, werd ich gleich mal ausprobieren.

Nottrott

sirius 27. Jan 2008 22:26

Re: Variable Variablen
 
Zitat:

Zitat von nottrott
3 Minuten :shock:

Sorry, dass es solange gedauert hat, aber ich bin nicht so schnell im Tippen. :zwinker:

Hier noch ein Beispiel:
Delphi-Quellcode:
for i:=1 to 10 do TLabel(findcomponent('Label'+inttostr(i))).caption:='Hallo';
Je nach Design, solltest du mit "if findcomponent() is TLabel" abfragen, ob du auch wirklich ein Label erwischt hast.

3_of_8 27. Jan 2008 23:17

Re: Variable Variablen
 
Da ist im übrigen zwar die leichteste Methode, aber auch etwas... naja, unsauber.

Die saubere wäre, die Labels dynamisch in einem Array zu erstellen und das dann mit ner Schleife durchzugehen. (Alternativ könnte man auch einmal alle Labels per findcompoent finden, in das Array packen und dann durch das Array durchgehen, dann muss man die Labels nicht dynamisch erzeugen)

rawsoul 28. Jan 2008 00:03

Re: Variable Variablen
 
Zitat:

Zitat von sirius
Zitat:

Zitat von nottrott
3 Minuten :shock:

Sorry, dass es solange gedauert hat, aber ich bin nicht so schnell im Tippen. [...]

[ot]Ich denke, das war eher positiv aufzufassen.[/ot]

sirius 28. Jan 2008 00:30

Re: Variable Variablen
 
Zitat:

Zitat von rawsoul
[ot]Ich denke, das war eher positiv aufzufassen.[/ot]

Ich weis :stupid:

peschai 28. Jan 2008 13:59

Re: Variable Variablen
 
Hallo

In einer TSTringList können "NameValuePaare getrennt mit=" abgelegt werden.
Mit Values['Nachname'] bekommst du dann z.b. "Müller" wenn die Liste wie folgt befüllt war

Nachname=Müller
Vorname=Franz

Aurelius 28. Jan 2008 14:07

Re: Variable Variablen
 
Zitat:

Zitat von sirius
Ich weis :stupid:

Das heißt "ich weiß" :warn:


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:26 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