Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Auf Variablen mit deren Namen in einer Schleife zugreifen? (https://www.delphipraxis.net/48981-auf-variablen-mit-deren-namen-einer-schleife-zugreifen.html)

LuckyLucas 3. Jul 2005 21:45


Auf Variablen mit deren Namen in einer Schleife zugreifen?
 
Moin DP!

Bin ein Neuling hier und auf Grund des "guten Rufs" zu euch gestoßen. So denn, präsentiere ich gleich mal meine erste Frage:

Wie kann ich folgenden Code in einer Schleife verpacken?

Delphi-Quellcode:
var
  Var1, Var2, Var3: TKlasse;
begin
  Listbox1.Add(Var1.StringProperty);
  Listbox1.Add(Var2.StringProperty);
  Listbox1.Add(Var3.StringProperty);
end;
Die Sache würde natürlich bei diesen kurzen Code-Beispielen keinen Sinn machen; mein Source ist also bedeutend länger. Also ich möchte es praktisch folgendermaßen haben:

Delphi-Quellcode:
var
  i: byte;
  Var1, Var2, Var3: TKlasse;
begin
  for i:=1 to 3 do Listbox1.Add(TKlasse('Var'+inttostr(i)).StringProperty);
end;
Das ganze wäre mit VCL-Komponenten (TComponents) kein Problem, dort kann man beispielsweise auf die Eigenschaft eines Labels mit TLabel('Label'+inttostr(i)).Caption zugreifen, oder wenistens FindComponent benutzen, doch bei Variablen "einfacher Klassen" geht das nicht.

Und ich habe nun eben keine Vorstellung, wie man sowas bequem und schlank programmiert :(

jfheins 3. Jul 2005 21:48

Re: Auf Variablen mit deren Namen in einer Schleife zugreife
 
Wie wäre es mit einem Array oder einer Typed TObjectList ?

Array:

MyArray: Array[0..6] ofTMyClass ;)

LuckyLucas 3. Jul 2005 21:56

Re: Auf Variablen mit deren Namen in einer Schleife zugreife
 
Okay, ich gebe zu, da habe ich nicht so richtig überlegt. :oops: Naja, ist schon spät.

Ich hatte es bereits mit einem Array probiert, aber einen flaschen Ansatz verfolgt... wie auch immer, mit einem Array[1..3] of TKlasse funktionierts jetzt.

Good night!

BlackJack 3. Jul 2005 23:37

Re: Auf Variablen mit deren Namen in einer Schleife zugreife
 
Zitat:

Zitat von LuckyLucas
Das ganze wäre mit VCL-Komponenten (TComponents) kein Problem, dort kann man beispielsweise auf die Eigenschaft eines Labels mit TLabel('Label'+inttostr(i)).Caption zugreifen, oder wenistens FindComponent benutzen, doch bei Variablen "einfacher Klassen" geht das nicht.

naja ob dieser Typecast eines strings mit einem TLabel überhaupt vom Compiler zugelassen wird wage ich mal stark zu bezweifeln. aber mit FindComponent hast du natürlich recht.


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