![]() |
Delphi-Version: 5
Multidimensional assoziatives array
Hallo Zusammen,
wie implementiert man in Delphi folgendes:
Delphi-Quellcode:
Hatte schon versucht mit verschatelten TStringList zu arbeiten, funzt aber nicht.// Level 0 Arr[0, 'Foo', 'Bar1'] := 'Lorem Ipsum'; Arr[0, 'Foo', 'Bar2'] := 'Lorem Ipsum'; Arr[0, 'Foo', 'Bar3'] := 'Lorem Ipsum'; Arr[0, 'Foo1', 'Bar1'] := 'Lorem Ipsum'; Arr[0, 'Foo2', 'Bar2'] := 'Lorem Ipsum'; Arr[0, 'Foo3', 'Bar3'] := 'Lorem Ipsum'; // Level 1 Arr[1, 'Foo', 'Bar1'] := 'Lorem Ipsum'; Arr[1, 'Foo', 'Bar2'] := 'Lorem Ipsum'; Arr[1, 'Foo', 'Bar3'] := 'Lorem Ipsum'; Arr[1, 'Foo1', 'Bar1'] := 'Lorem Ipsum'; Arr[1, 'Foo2', 'Bar2'] := 'Lorem Ipsum'; Arr[1, 'Foo3', 'Bar3'] := 'Lorem Ipsum'; |
AW: Multidimensional assoziatives array
Ok habs,
Delphi-Quellcode:
var TempStringList: TStringList; TempArr: TDictionary<string, TStringList>; Arr: array of TDictionary<string, TStringList>; ... tempStringList := TStringList.Create; tempStringList.Add('Bar1=Lorem Ipsum'); tempArr := TDictionary<string, TStringList>.Create; tempArr.Add('Foo', tempStringList); Arr[0] := tempArr; ShowMessage(Arr[0]['Foo'].Values['Bar1']); //Output: Lorem Ipsum |
AW: Multidimensional assoziatives array
Als Array-Property? :zwinker:
Delphi-Quellcode:
Und das nun in eine Klasse oder Record (seit 2006).
function Getter(idx1: Integer; idx2, idx3: string): string;
procedure Setter(idx1: Integer; idx2, idx3: string; value: string); property TheArray[idx1: Integer; idx2, idx3: string]: string read Getter write Setter; default; Default, damit man
Delphi-Quellcode:
und nicht nur
Arr[...]
Delphi-Quellcode:
schreiben kann.
Arr.TheArray[...]
|
AW: Multidimensional assoziatives array
Und umsetzen mit einer einfachen String-Dictionary, wobei Du die drei Indices einfach mit einem Sonderzeichen deiner Wahl aneinanderklatscht.
MyAssoc['A','B','C'] <==> myDictionary('A|B|C') |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:41 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-2025 by Thomas Breitkreuz