Referenz - UBOUND
Syntax: UBOUND (Array[, Dimension])
Typ: Funktion
Kategorie: Speicher
UBOUND gibt den größten Index des angegebenen Arrays zurück.
- 'Array' ist der Name des Arrays, dessen oberster Index zurückgegeben werden soll.
- 'Dimension' ist die Nummer der Dimension, deren oberster Index zurückgegeben werden soll. Wird dieser Wert ausgelassen, so nimmt FreeBASIC automatisch 1 an. Ist 'Dimension' gleich 0, so wird die Anzahl an Dimensionen im Array zurückgegeben. Ist 'Dimension' kleiner als 0, so werden ungültige Werte erzeugt. Ist 'Dimension' größer als die Anzahl der Dimensionen, so wird 0 ausgegeben.
Ist das Array bisher nur deklariert, hat aber noch keine Dimensionen, so gibt UBOUND den Wert -1 aus. Ob das Array nun den höchsten Index -1 besitzt oder einfach keine Dimensionen, kann man über die Adresse des ersten Elements erfahren, welche 0 ist, sofern es keine Dimensionen gibt. Alternativ kann zusätzlich LBOUND abgefragt werden, was in einem solchen Fall 0 zurück gibt. Eine weitere Möglichkeit besteht darin, LBOUND und UBOUND mit Dimension 0 abzufragen, wobei bei ersterem der Wert 1 und bei letzterem der Wert 0 (keine Dimensionen) zurückgegeben wird.
Beispiel:
DIM Array(-10 TO 10, 5 TO 15, 1 TO 2) AS INTEGER
DIM unArray() AS INTEGER ' Array ohne Dimensionen
PRINT UBOUND(Array, 1)
PRINT UBOUND(Array, 2)
PRINT UBOUND(Array, 3)
PRINT UBOUND(Array, 4)
PRINT
' Überprüfung, ob das Array dimensioniert wurde
PRINT UBOUND(unArray)
PRINT @unArray(0)
IF UBOUND(unArray) < LBOUND(unArray) THEN
PRINT "Das Array wurde noch nicht dimensioniert."
END IF
SLEEP
Ausgabe:
10
15
2
-1
-1
0
Das Array wurde noch nicht dimensioniert.
Unterschiede zu früheren Versionen von FreeBASIC:
- Bis einschließlich FreeBASIC v0.24 führten sowohl der Wert 0 als auch 1 bei 'Dimension' dazu, dass die Grenzen der ersten Dimension abgefragt werden.
- In den FreeBASIC-Versionen von v0.16 bis v0.24 ergaben leere Dimensionen statt -1 den Wert 0.
Siehe auch:
LBOUND, DIM, REDIM, Arrays
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|