Gibt die Größe der Dimension eines Arrays oder die Schlüssel einer Map zurück.
UBound ( Variable [, Dimension = 1] )
Variable | Ein Array- oder Map-Variable. |
Dimension | [optional] Für ein Array: Welche Größe der Dimension zurückgegeben werden soll: $UBOUND_DIMENSIONS (0) = Anzahl von Subscripts in dem Array $UBOUND_ROWS (1) = Anzahl von Zeilen in dem Array (Standard) $UBOUND_COLUMNS (2) = Anzahl von Spalten in dem Array Für Arrays mit mehr als 2 Dimensionen ist der dazugehörige Integer zu verwenden Für eine Map: Dieser Parameter wird ignoriert und die Anzahl der Schlüssel wird zurückgegeben Die Konstanten sind in AutoItConstants.au3 definiert. |
Erfolg: | Die Größe der Array-Dimension or die Anzahl der Schlüssel innerhalb einer Map. |
Fehler: | 0 und setzt das @error Flag auf ungleich null. |
@error: | 1 = Array: Die Variable ist kein Array oder eine Map. 2 = Die Dimension ist ungültig. |
Es ist zu beachten, dass für Arrays der zurückgegebene Wert um 1 größer, als der Index des letzten Elements in der Dimension wo die Zählung startete [0], ist.
#include <AutoItConstants.au3>
#include <MsgBoxConstants.au3>
#include <Array.au3> ; Required for _ArrayDisplay.
Example()
Func Example()
Local $aArray[10][20]
Local $iRows = UBound($aArray, $UBOUND_ROWS) ; Gesamte Anzahl von Zeilen. In diesem Beispiel sind es 10.
Local $iCols = UBound($aArray, $UBOUND_COLUMNS) ; Gesamte Anzahl von Spalten. In diesem Beispiel sind es 20.
Local $iDimension = UBound($aArray, $UBOUND_DIMENSIONS) ; Die Dimension des Arrays, z. B. 1/2/3 dimensional.
MsgBox($MB_SYSTEMMODAL, "", "Das Array ist ein " & $iDimension & " dimensionales Array mit " & _
$iRows & " Zeilen & " & $iCols & " Spalten.")
; Füllt das Array mit Daten.
For $i = 0 To $iRows - 1
For $j = 0 To $iCols - 1
$aArray[$i][$j] = "Zeile: " & $i & " - Spalte: " & $j
Next
Next
_ArrayDisplay($aArray)
EndFunc ;==>Example
#include <Array.au3>
_Example()
Func _Example()
ConsoleWrite("> $aTest_1_Leeres_Array" & @CRLF)
Local $aTest_1_Empty_Array[]
ConsoleWrite(UBound($aTest_1_Empty_Array, $UBOUND_DIMENSIONS) & @CRLF)
ConsoleWrite(UBound($aTest_1_Empty_Array, $UBOUND_ROWS) & @CRLF)
ConsoleWrite(UBound($aTest_1_Empty_Array, $UBOUND_COLUMNS) & @CRLF)
ConsoleWrite("> $aTest_2_Leeres_1D" & @CRLF)
Local $aTest_2_Empty_1D[0]
ConsoleWrite(UBound($aTest_2_Empty_1D, $UBOUND_DIMENSIONS) & @CRLF)
ConsoleWrite(UBound($aTest_2_Empty_1D, $UBOUND_ROWS) & @CRLF)
ConsoleWrite(UBound($aTest_2_Empty_1D, $UBOUND_COLUMNS) & @CRLF)
ConsoleWrite("> $aTest_3_Leeres_2D" & @CRLF)
Local $aTest_3_Empty_2D[0][5]
ConsoleWrite(UBound($aTest_3_Empty_2D, $UBOUND_DIMENSIONS) & @CRLF)
ConsoleWrite(UBound($aTest_3_Empty_2D, $UBOUND_ROWS) & @CRLF)
ConsoleWrite(UBound($aTest_3_Empty_2D, $UBOUND_COLUMNS) & @CRLF)
ConsoleWrite("> $aTest_4_1D" & @CRLF)
Local $aTest_4_1D[] = [0, 1, 2]
ConsoleWrite(UBound($aTest_4_1D, $UBOUND_DIMENSIONS) & @CRLF)
ConsoleWrite(UBound($aTest_4_1D, $UBOUND_ROWS) & @CRLF)
ConsoleWrite(UBound($aTest_4_1D, $UBOUND_COLUMNS) & @CRLF)
ConsoleWrite("> $aTest_5_2D" & @CRLF)
Local $aTest_5_2D[][] = _ ; [[0, 1, 2], [3, 4, 5]]
[ _
[0, 1, 2], _
[3, 4, 5] _
]
ConsoleWrite(UBound($aTest_5_2D, $UBOUND_DIMENSIONS) & @CRLF)
ConsoleWrite(UBound($aTest_5_2D, $UBOUND_ROWS) & @CRLF)
ConsoleWrite(UBound($aTest_5_2D, $UBOUND_COLUMNS) & @CRLF)
ConsoleWrite("> $aTest_6_2D" & @CRLF)
Local $aTest_6_2D[][] = _ ; [[0, 1, 2], [3, 4, 5], [6, 7, 8], [0, 1, 2]]
[ _
[0, 1, 2], _
[3, 4, 5], _
[6, 7, 8], _
[0, 1, 2] _
]
ConsoleWrite(UBound($aTest_6_2D, $UBOUND_DIMENSIONS) & @CRLF)
ConsoleWrite(UBound($aTest_6_2D, $UBOUND_ROWS) & @CRLF)
ConsoleWrite(UBound($aTest_6_2D, $UBOUND_COLUMNS) & @CRLF)
EndFunc ;==>_Example