Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Array mit Strings als bezeichner / schlüssel (https://www.delphipraxis.net/133596-array-mit-strings-als-bezeichner-schluessel.html)

jokerfacehro 5. Mai 2009 15:41


Array mit Strings als bezeichner / schlüssel
 
hallo !

ich suche ein array, welches strings als bezeichner zulässt.

z.B.
Delphi-Quellcode:
array1['123abchallo']='wert';
hab da schon gesucht, aber nix brauchbares gefunden :/

Gruß da Joka

3_of_8 5. Mai 2009 15:44

Re: Array mit Strings als bezeichner / schlüssel
 
Keines. Was du brauchst, ist eine Map, zum Beispiel eine HashMap. Such mal danach.

mkinzler 5. Mai 2009 15:46

Re: Array mit Strings als bezeichner / schlüssel
 
Schau die mla TStrings.Names[] bzw. TStrings.Values[] an

jokerfacehro 5. Mai 2009 15:48

Re: Array mit Strings als bezeichner / schlüssel
 
jo, hab mir sowas schon gedacht und das hier ausprobiert http://www.delphipraxis.net/internal...egerdictionary

allerdings weiß ich jetz nich genau wie ic hdamit umgehen soll.

ich hab 2 stringlists. die erste hat den bezeichner und die 2. hat den wert.
muss ich jetz die 2.stringlist erhalten und nen pointer auf jeden einzelnen wert der stringlist setzen ?

hab sowas noc hnciht gemacht

jokerfacehro 5. Mai 2009 15:51

Re: Array mit Strings als bezeichner / schlüssel
 
cih schau mir ma letzteres an ;)

jokerfacehro 5. Mai 2009 16:17

Re: Array mit Strings als bezeichner / schlüssel
 
alles klar, habs mit ner TStringList gemacht.

ich lade einfach alle daten einer section einer IniFile
in eine TStringList per ReadSectionValues.

auf die greife ich dann per StringList.Values[bezeichner] zu


Edit: hier noc hen BSP

Delphi-Quellcode:
var StringList:TStringList;
    Ini:TIniFile;
begin

if FileExists('hallo.ini') then begin

StringList:=TStringList.Create;
StringList.NameValueSeperator:='=';

Ini:=TIniFile.Create('hallo.ini');

 try
  Ini.ReadSectionValues('Section',StringList);

  Showmessage('wert = '+StringList.Values[bezeichner]);

 finally
  Ini.Free;
  StringList.Free;
  end;
 end;

Dankööö :D

himitsu 5. Mai 2009 16:47

Re: Array mit Strings als bezeichner / schlüssel
 
in neueren Delphi-Versionen (ab Turbo Delphi bzw. Delphi 2006) wäre auch noch sowas möglich

http://www.delphipraxis.net/internal...ght=assocarray

allerdings dann ohne Generics, da dieses nicht immer geht.

Aber man kann den Code ja einfach übernehmen und statt "Typ" überall seinen Wunschtyp angeben (in diesem Fall also "String")


Alle Zeitangaben in WEZ +1. Es ist jetzt 12: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