AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Array über mit String als "Index"?

Ein Thema von Pow3rus3r · begonnen am 30. Jul 2012 · letzter Beitrag vom 1. Aug 2012
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.346 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: Array über mit String als "Index"?

  Alt 30. Jul 2012, 15:53
Die Daten bestehen aus:
1.) Datensatzname
2.) 16 einzelnen Hexadezimalzahlen, die auch einzeln ansprechbar sein müssen
Da ist ein TObjectDictionary mit einem String und einer Klasse darin am besten. Denn dann kannst du entweder nur einen einzelnen Wert ansprechen, klar, oder aber auch die Daten zu einem Datensatz einmal suchen und dann alle Werte dazu benutzen ohne erneut zu suchen.

Wobei bei der geringen Anzahl der Datensätze die Frage ist, ob man da nicht noch anders herangehen kann. Aber dafür fehlen detailliertere Informationen wie (und wie oft) auf die Daten zugegriffen wird.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.009 Beiträge
 
Delphi 12 Athens
 
#12

AW: Array über mit String als "Index"?

  Alt 30. Jul 2012, 23:09
Die Daten bestehen aus:
1.) Datensatzname
2.) 16 einzelnen Hexadezimalzahlen, die auch einzeln ansprechbar sein müssen
Dann sähe die Deklaration etwas so aus:

Delphi-Quellcode:
type
  TDatensatz = array[0..15] of Integer; // oder auch 1..16, Byte, Word, String oder was auch immer

var
  Datenbank: TDictionary<string, TDatensatz>;

var
  gibHer: Integer;

begin
  // Zugriff auf Zeile "Name1", Wert 5
  gibHer := Datenbank['name1'][5];
end;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
tgvoelker

Registriert seit: 9. Sep 2002
Ort: Oelsnitz, Vogtland
39 Beiträge
 
Delphi 2009 Professional
 
#13

AW: Array über mit String als "Index"?

  Alt 30. Jul 2012, 23:46
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
Würde ich als Descendant von TStringList implementieren. Im Constructor Sorted auf True, Duplicates auf dupError und OwnsObjects auf True. Die Daten selber als Objekt implementieren (class of TObject). Wäre meiner Ansicht nach am streßfreiesten.
Thomas Völker
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.140 Beiträge
 
Delphi 12 Athens
 
#14

AW: Array über mit String als "Index"?

  Alt 31. Jul 2012, 01:23
Nja, wozu eine TStringList misbrauchen, wenn es das Dictionary gibt?
Und dazu noch als Generic, wo man bei der TStingList ständig alles selber (unsicher) casten muß. (abgesehn davon, wenn man alles via AS casten würde)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#15

AW: Array über mit String als "Index"?

  Alt 31. Jul 2012, 05:06
TDictionary gibt es ja nur für neuere Delphi bzw. nicht für das alte Zeugs.

Ich habe nur BDS2006 und muss mir mit einer Hashmap helfen. die hier im Forum rumgeistert.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.140 Beiträge
 
Delphi 12 Athens
 
#16

AW: Array über mit String als "Index"?

  Alt 31. Jul 2012, 08:02
http://www.delphipraxis.net/132817-u...ler-e2506.html
Generics raus und dafür einen festen Typen verwendet ... da sollte es auch locker noch unter D2006 laufen können.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.346 Beiträge
 
Delphi 11 Alexandria
 
#17

AW: Array über mit String als "Index"?

  Alt 31. Jul 2012, 08:06
TDictionary gibt es ja nur für neuere Delphi bzw. nicht für das alte Zeugs.

Ich habe nur BDS2006 und muss mir mit einer Hashmap helfen. die hier im Forum rumgeistert.
THashedStringList gab es da ja schon.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!

Geändert von jaenicke (31. Jul 2012 um 08:08 Uhr)
  Mit Zitat antworten Zitat
tgvoelker

Registriert seit: 9. Sep 2002
Ort: Oelsnitz, Vogtland
39 Beiträge
 
Delphi 2009 Professional
 
#18

AW: Array über mit String als "Index"?

  Alt 31. Jul 2012, 08:17
wozu eine TStringList misbrauchen
Viele Wege führen nach Rom.
wenn es das Dictionary gibt?
Da gefallen mir die Haare nicht. Davon abgesehen habe ich irgendwann mal mit Turbo Pascal 4 angefangen, neue Sachen verwende ich nur, wenn die "alten" nicht funktionieren für eine Sache oder ein Jungspund etwas komisch mit einem Dictionary implementiert. Was der Bauer nicht kennt und so.
Thomas Völker
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.346 Beiträge
 
Delphi 11 Alexandria
 
#19

AW: Array über mit String als "Index"?

  Alt 31. Jul 2012, 09:19
wozu eine TStringList misbrauchen
Viele Wege führen nach Rom.
Ja, richtig. Nur ist es eben schon ein Unterschied, ob man auf einer Straße mit einem Großsteinpflaster oder auf einer asphaltierten Autobahn fährt.
Ich für meinen Teil nehme dann doch eher die Autobahn, es sei denn ich bin im Urlaub und will mir Zeit lassen.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
tgvoelker

Registriert seit: 9. Sep 2002
Ort: Oelsnitz, Vogtland
39 Beiträge
 
Delphi 2009 Professional
 
#20

AW: Array über mit String als "Index"?

  Alt 31. Jul 2012, 12:07
Der Vergleich hinkt nicht nur, der lahmt. Der Vorteil eines TStringList-Descendants ist die Zuweisungskompatibilität zu Items von Listboxen, Comboboxen u.ä.
Thomas Völker

Geändert von tgvoelker (31. Jul 2012 um 12:29 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:18 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