Thema: Delphi Hashtable in Delphi

Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Hashtable in Delphi

  Alt 12. Jun 2008, 11:57
Ach würde mir eine Klasse implementieren, die einen String hält (und vielleicht noch mehr Informationen)
Delphi-Quellcode:
Type
  TMyData = Class
  Public
    Property StringValue : String;
    Property AnotherValue : Double;
  End;

...
procedure AddDataRecordToHashMap (aSD : TStringDictionary; aDataSet : TDataset);
Var
  d : TMyData;
  sKey : String;


Begin
  d := TMyData.Create;
  d.StringValue := aDataset['SomeStringValueFieldName'];
  d.AnotherValue := aDataset['AFloatFieldName'];

  sKey := aDataset['KeyFieldName'];
  aSD.Add(sKey, d);
End;
Du musst den Speicher aber selbst aufräumen. Also entweder packst Du alle TMyData in eine eigene TObjectList und gibst diese TObjectList frei (OwnsObject = True), oder Du iterierst durch die Hashmap und gibst alle 'Data'-Instanzen selbst frei.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat