Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi variablenzugriff über string (https://www.delphipraxis.net/51439-variablenzugriff-ueber-string.html)

Mr. No 12. Aug 2005 12:07


variablenzugriff über string
 
Hallo,
gibt es eine in Delphi eine Datenstruktur, in der man über einen String auf seine Attribute zugreifen kann?
Etwa so:

Struktur('einName') := 4;

oder auch so:

variable := Objekt.getElementByName('einName');

Gibt es sowas in der Art?

Danke!

Grendel 12. Aug 2005 12:12

Re: variablenzugriff über string
 
Nein, sowas bringt Delphi nicht mit.

btw: Diese Konstrukte werden üblicherweise als "Dictionary" oder "assioziatives Array" bezeichnet.

Bis neulich ...

Bernhard Geyer 12. Aug 2005 12:15

Re: variablenzugriff über string
 
Sicherlich ist sowas möglich und für einige Komponenten auch implementier. Und zwar über Array-Properties.
Einfach in der delphi-Hilfe nach "Array-Eigenschaften" suchen.

z.B.

Values-Property von TStrings.
Bei XML-P gibt es z.B. getElementsByTagName-Methoden.

alzaimar 12. Aug 2005 12:16

Re: variablenzugriff über string
 
Sowas gibt es:
TStringList und die Property "Values". Dort allerdings 'nur' als String, also so:
Delphi-Quellcode:
Var
  aList : TStringList;

Begin
  aList := TStringList.Create;
  aList['MyName']:='Foo';
  aList['MyAge'] := '8';
End;
Eine Dictionary-Klasse (von mir :mrgreen:) finste hier:
Hashtabellen

SirThornberry 12. Aug 2005 12:21

Re: variablenzugriff über string
 
man könnte dafür eine Stringliste nutzen. Die Zahl hängt man dann einfach als Object an das Item. Und zugriff geht dann über Stringlist.IndexOf

Grendel 12. Aug 2005 12:24

Re: variablenzugriff über string
 
alzaimar: :shock: jetzt programmiere ich schon 4 Jahre mit Delphi aber das ist mir noch nicht untergekommen. Hab mit stattdessen ebenfalls ein eigenes Dictionary gebaut.
Wieder was dazugelernt.

Bis neulich ...

alzaimar 12. Aug 2005 12:55

Re: variablenzugriff über string
 
Das TStringList.Values Teil ist natürlich sehr langsam [O(N)], da ich aber etwas schnelleres brauchte, hab ich mir eben das Teil mit O(1) gebaut.

BlackJack 12. Aug 2005 13:12

Re: variablenzugriff über string
 
Zitat:

Zitat von alzaimar
Das TStringList.Values Teil ist natürlich sehr langsam [O(N)], da ich aber etwas schnelleres brauchte, hab ich mir eben das Teil mit O(1) gebaut.

aber das teil hat dann wahrscheinlich einen ziemlich erhöten speicherverbraucht, oder?

Die Muhkuh 12. Aug 2005 13:13

Re: variablenzugriff über string
 
http://www.delphipraxis.net/internal...ct.php?t=57060

alzaimar 12. Aug 2005 13:46

Re: variablenzugriff über string
 
@BlackJack: Der Speicherverbrauch ist ca. 20 Bytes pro Eintrag. Im Jahr 2005 eigentlich nebensächlich. Wie viele Einträge brauchst Du denn?

BlackJack 12. Aug 2005 14:03

Re: variablenzugriff über string
 
Zitat:

Zitat von alzaimar
@BlackJack: Der Speicherverbrauch ist ca. 20 Bytes pro Eintrag. Im Jahr 2005 eigentlich nebensächlich. Wie viele Einträge brauchst Du denn?

nee, das war nur eine frage aus reinem interesse. alles was mit strings zu tun hat kommt für mich meistens eh nicht in frage, viel zu langsam ;)

Olli 12. Aug 2005 14:07

Re: variablenzugriff über string
 
Ich behaupte mal, daß ich gelesen hätte in der JCL gäbe es eine Hashklasse. Kann aber sein, daß die im offiziellen Release noch nicht drin ist (also erst im CVS).


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