AGB  ·  Datenschutz  ·  Impressum  







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

Assoziatives Array oder ähnliches

Ein Thema von sentinal · begonnen am 22. Okt 2003 · letzter Beitrag vom 23. Okt 2003
 
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#7
  Alt 23. Okt 2003, 12:05
Hi Sentinal,

du kannst natürlich ein zweidimensionales Array (möglichst dynamisch) oder auch eine Stringliste verwenden.

Bei der Stringliste hast du natürlich das Problem, dass dein zweiter zuspeichernder Wert ein Typ TObject sein muß. Das kannst du aber einfach mit einer Zeigervariable lösen.

Üblicherweise schreibe ich mir für sowas eine kleine neue Klasse abgeleitet von TStringList um die Umwandlung in deinen Value-Wert nicht in der "Hauptanwendung" machen zu müssen.

Das sieht dann ansatzweise so aus:

Delphi-Quellcode:

type
  TKeyValueList = class(TStringList)
  public
    procedure AddKeyValue(Key, Value: String);
    function GetValue(Key : String) : String;
end;

procedure TKeyValueList.AddKeyValue(Key, Value:String);
var
  PValue : PChar;
begin
  // Value in PChar wandeln
  AddObjects(Key, TObject(PValue));
end;

function TKeyValueList .GetValue(Key, String):String;
var
  PValue : PChar;
  Index : Integer;
begin
  Result := '';
  try
    IF Find(Key, Index) then begin
   PValue := PChar(Object[Index]);
      // PValue in String und Result zuweisen
      end;
  except end;
end;
So kannst du dann den Rückgabewert von GetValue zum Key als deinen Value verarbeiten.

Gruß oki
  Mit Zitat antworten Zitat
 


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 01:39 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 by Thomas Breitkreuz