Einzelnen Beitrag anzeigen

Rudy Velthuis

Registriert seit: 10. Sep 2011
Ort: Gelsenkirchen
42 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Length bestimmen Mehrdimensionale Arrays

  Alt 26. Apr 2019, 23:03
length(TestArray[0])
Aber vorher die erste Dimension des Arrays testen. Wenn length(TestArray) = 0, dann fliegt man mit length(TestArray[0]) auf die Nase.
Nach SetLength(MeinArray, X, Y) ist das Array rechteckig, aber bedenke, dass jedes Unterarray auch eine eigene Länge haben kann.

Vorbild:
Code:
    type
      TMyArray = array of array of Integer;
    var
      MA: TMyArray;
    begin
      SetLength(MA, 10, 10); // Noch rechteckig, 10 x 10
      SetLength(MA[0], 17); // Nicht mehr rechteckig
      SetLength(MA[3], 7);  // Jetzt erst recht nicht mehr
Das nennt man nicht umsonst ein "ragged array" ("Flatterarray", analog zu Flattersatz). In wirklichkeit ist das nämlich:
Code:
    type
      TMySubArray = array of Integer;
      TMyArray = array of TMySubArray;
Rudy Velthuis

Geändert von Rudy Velthuis (26. Apr 2019 um 23:08 Uhr)
  Mit Zitat antworten Zitat