Ive usato una libreria chiamata Hashes.pas da Ciaran McCreesh ma dal momento che il suo sito web non è più disponibile, è possibile vedere il file PAS singolo dal seguente URL:
Link to Cian McCreesh - Hashes.pas
si possono anche trovare con Google con il testo: "Cian McCreesh Hash"
con questa libreria è possibile effettuare le seguenti operazioni:
aString := TStringHash.Create;
aString['color'] := 'blue';
ShowMessage(aString.Items['color']); // blue
O r oggetti:
aObj := TObjectHash.Create;
aObj['color'] := TBlueClass.Create;
bcBlue:=(aObj.Items['color'] as TBlueClass);
ShowMessage(bcBlue.Name); // Blue (supposing the TBLusClass as a Name property...
Spero che serva per te.
PS Penso che anche il progetto Ares AudioGalaxy lo utilizzi.
fonte
2010-05-20 00:38:06
Per quello che stai cercando di fare, in Delphi 6, andrei con la risposta di Andreas, ma TStringList è un po 'limitato. Se vuoi veri contenitori generici come puoi trovare nel C++ STL, hai bisogno di Delphi 2010. (Sono stati introdotti in Delphi 2009, ma con alcuni difetti che non sono stati risolti fino alla prossima versione.) L'implementazione della mappa generica è chiamata TDictionary, nell'unità Generics.Collections. –