Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: 2D dynamisches Array mit negativen Wertebereich

  Alt 28. Mai 2017, 19: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;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

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