Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#3

AW: 2D dynamisches Array mit negativen Wertebereich

  Alt 28. Mai 2017, 20:58
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.
Delphi-Referenz durchsuchenSystem.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;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (28. Mai 2017 um 21:06 Uhr)
  Mit Zitat antworten Zitat