Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

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

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

  Alt 31. Jul 2012, 13:01
Mal ein Beispiel (ohne Prüfung, ob der Wert existiert usw.):
Delphi-Quellcode:
type
  TExampleData = class
    Values: array of Integer;
    constructor Create(const AValues: array of Integer);
  end;

// ...

constructor TExampleData.Create(const AValues: array of Integer);
var
  i: Integer;
begin
  SetLength(Values, Length(AValues));
  for i := Low(AValues) to High(AValues) do
    Values[i] := AValues[i];
end;

// Verwendung:
var
  Demo: TObjectDictionary<string, TExampleData>;
  CurrentValue: Integer;
  CurrentData: TExampleData;
begin
  Demo := TObjectDictionary<string, TExampleData>.Create([doOwnsValues]);
  try
    Demo.Add('Test', TExampleData.Create([1, 3, 4, 7]));
    // einfachen Wert lesen
    ShowMessage(IntToStr(Demo['Test'].Values[1]));
    // alle Werte durchgehen
    for CurrentValue in Demo['Test'].Values do
      ShowMessage(IntToStr(CurrentValue));
    // mehrere Werte zu einem Key lesen
    CurrentData := Demo['Test'];
    ShowMessage(IntToStr(CurrentData.Values[1]));
    ShowMessage(IntToStr(CurrentData.Values[2]));
  finally
    Demo.Free;
  end;
end;
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat