![]() |
Array über mit String als "Index"?
hallo zusammen,
ich habe eine große Menge Daten, die ich in ein Array laden will, was z.B. so aussieht: [0]: Name1, 5, 18, 24, 58 [1]: Name2, 4, 32, 55, 23 ... Dabei sind mir die "Namen" jederzeit bekannt und ich würde das Array gerne über die Datensatznamen ansprechen. normal muss ja immer die Zeilennummer des Array angegeben werden. Gibt es da evtl. eine Möglichkeit, das ganze ohne eine Schleife o.ä. zu realisieren? Danke und Gruß Thomas |
AW: Array über mit String als "Index"?
Schau dir mal das Values-Property von TStrings an.
|
AW: Array über mit String als "Index"?
![]() |
AW: Array über mit String als "Index"?
Himitsu hatte ein
![]() Würde aber auch ein TDictionary empfehlen, nachdem du schon XE hast. |
AW: Array über mit String als "Index"?
Mit Tstrings und TDictionary kann man aber nur einem String genau EINEN anderen Sting zuordnen, oder habe ich da jetzt was falsch verstanden?
Ich bräuchte irgendwie sowas, wie eine Datenbank, bei der ich sagen kann, ich will den gesamten Datensatz (bestehend aus mehreren Datenfeldern) mit dem namen "xy". Alternativ könnte ich wohl einfach die Datensätze (also die Zahlen) in ein Array laden und dann TDictionary oder Tstrings nutzen, um den ID's des Arrays die Namen zuzuordnen. Wäre zwar etwas umständlich, aber wie es scheint die einzige Möglichkeit, oder? |
AW: Array über mit String als "Index"?
Und wenn du ein Array of Record machst und dir eine Suchfunktion schreibst, die aus dem Namen den Array-Index sucht. Dann kannst du immer auf den kompletten Datensatz zugreifen. Ist perfomancetechnisch vielleicht nicht das allerschnellste, aber müsste ausreichend sein.
Gruß, Michael |
AW: Array über mit String als "Index"?
vielleicht wäre es gut wenn Du Deine Daten etwas näher beschreiben würdest.
Schon it einer Stringlist und binärer Suche hättest Du eine recht schnelle Möglichkeit für
Code:
Tdictonary kenn ich nicht aber vom Hörensagen ist das a) schneller b) einfacher zu handhaben.
name1 = 1 2 3 4 55 66 77
name2 = 1234 34 12342 2 77 name3 = irgendeinwert Gruß k-H |
AW: Array über mit String als "Index"?
Die Daten bestehen aus:
1.) Datensatzname 2.) 16 einzelnen Hexadezimalzahlen, die auch einzeln ansprechbar sein müssen Bisher hatte ich alles in einem Array und dann mit einer Schleife nach dem gewünschten Datensatznamen gesucht. Aber das ist bei der Anzahl von Daten (ca. 400 Datensätze) schon recht Zeitintensiv. |
AW: Array über mit String als "Index"?
Du kannst sowas:
Delphi-Quellcode:
in ein Array packen und dafür sorgen dass dieses sortiert ist und bleibt. Dann kannst du eine binäre Suche benutzen.
record
Name: String; Values: Array of Byte; end; Zitat:
|
AW: Array über mit String als "Index"?
Zitat:
Zitat:
Gruß K-H |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:46 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