Einzelnen Beitrag anzeigen

Benutzerbild von Jonas Shinaniganz
Jonas Shinaniganz

Registriert seit: 30. Aug 2011
249 Beiträge
 
Delphi XE5 Ultimate
 
#6

AW: Zweidimensionales Array of Boolean Verständnisfrage

  Alt 26. Sep 2013, 08:30
Mehrdimensionale Arrays in Delphi können in sich unterschiedlich lang sein!

Wenn du nicht genau weißt, wie lang die Dimensionen vorher sind musst du z.b. beim durchlaufen darauf achten.

1 Beispiel:

[a][b][c][d][e] - Eindimensionales Array

2 Beispiel:

[a][b][c][d][e] - Mehrdimensionales Array
[a][b][c][d][e]
[a][b][c][d][e]
[a][b][c][d][e]
[a][b][c][d][e]

3 Beispiel:

[a][b][c][d][e] - Mehrdimensionales Array
[a][b][c]....[e]
[a]....[c]
[a]....[c]
[a]....

Deswegen musst du für jede Dimension immer prüfen wie lang diese denn jetzt ist:

High(MyArray[0]) gibt auf das 3te Beispiel eine 4. High(MyArray[1]) gibt auf das 3te Beispiel nur eine 1. High gibt dir das höchste adressierbare Element zurück. High(MyArray) gibt dir auch eine 4 zurück, jedoch ist diese 4 die Länge der ersten Dimension und nicht die Länge der ersten Folge, der zweiten Dimension (wie High(MyArray[0])).

schöne Grüße

Edit:

Zitat:
Low(Array) / High(Array) Was ich grade aber nicht verstehe bzw. nicht darauf komme ist, wie ich auf den niedrigsten / höchsten Wert von einem zweidimensionalen Array komme.
Sogesehen musst du dich erstmal fragen, was dein niedrigsten / höchsten Wert denn ist. Ich glaube du möchtest das erste Element der ersten Dimension und das letzte Element der letzten Dimension anfragen. Das gelingt dir mit:

Delphi-Quellcode:
//"höchstes" Element:

Array[High(Array),High(Array[High(Array)])]

//"niedrigstes Element" (trivial)

Array[0,0]
Die Leiter der Entwicklungsabteilung dreht total am Mausrad!

Geändert von Jonas Shinaniganz (26. Sep 2013 um 08:40 Uhr)
  Mit Zitat antworten Zitat