Registriert seit: 10. Jun 2003
Ort: Berlin
9.590 Beiträge
Delphi 11 Alexandria
|
AW: Array über mit String als "Index"?
31. Jul 2012, 14: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!
|