![]() |
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! |
Re: variablenzugriff über string
Nein, sowas bringt Delphi nicht mit.
btw: Diese Konstrukte werden üblicherweise als "Dictionary" oder "assioziatives Array" bezeichnet. Bis neulich ... |
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 ![]() |
Re: variablenzugriff über string
Sowas gibt es:
TStringList und die Property "Values". Dort allerdings 'nur' als String, also so:
Delphi-Quellcode:
Eine Dictionary-Klasse (von mir :mrgreen:) finste hier:
Var
aList : TStringList; Begin aList := TStringList.Create; aList['MyName']:='Foo'; aList['MyAge'] := '8'; End; ![]() |
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
|
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 ... |
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.
|
Re: variablenzugriff über string
Zitat:
|
Re: variablenzugriff über string
|
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?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:10 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