http://www.delphipraxis.net/192551-a...tiv-werte.html
Dynamische Arrays beginnen
immer bei 0. (in Pascal/Delphi)
Du mußt also deinen "freien" Index auf einen 0-basierenden Index umrechnen. (einen Offset addieren, was man auch in einer Klasse oder Prozedur "verstecken" kann)
Alternativ variante Arrays verwenden, aber der Offset ist bestimmt einfacher.
System.Variants.VarArrayCreate
TArr = Array[0..179,-210..210] of Integer;
ist die Kurzfassung von
TArr = Array[0..179] of Array[-210..210] of Integer;
das kann man auch getrennt deklarieren
Delphi-Quellcode:
TArr2 = Array[-210..210] of Integer;
TArr = Array[0..179] of TArr2;
und letztendlich kann man hier auch einige Ebenen dynamisch statt statisch geklarieren, siehe DeddyH.
Delphi-Quellcode:
TArr = Array[0..179] of Array of Integer;
// oder
TArr = Array of Array[-210..210] of Integer;