ArraySize()
Синтаксис
Result = ArraySize(Array() [, Dimension])
Описание
Возвращает размер указанного измерения Массива, который был задан при объявлении Массива с помощью ключевого слова Dim или ReDim.
Параметры
Array() Имя Массива, размер которого требуется узнать. Dimension (дополн.) Этот параметр используется для многомерных массивов и указывает Номер измерения, для получения величины конкретного измерения. Нумерация начинается с 1.
Возвращаемое значение
Возвращает размер указанного измерения Массива. Если Массив еще не объявлен (или его размещение не удалось), возвратится -1.
Комментарии
Количество элементов равно размеру указанному в Dim + 1. Например: Dim a(2) задаёт размер 2, но при этом создаёт Массив с 3 элементами от a(0) до a (2).
Эта функция не работает со статическими Массивами, объявленными в структурах. Вместо неё используйте команду SizeOf.
Пример
Dim MyArray.l(10) Debug ArraySize(MyArray()) ; Выведет '10' Dim MultiArray.l(10, 20, 30) Debug ArraySize(MultiArray(), 2) ; Выведет '20' Dim MultiArray2.l(2, 2, 2) For n = 0 To ArraySize(MultiArray2(), 2) MultiArray2(0, n, 0) = n+1 Next n Debug MultiArray2(0, 0, 0) ; Выведет '1' Debug MultiArray2(0, 1, 0) ; Выведет '2' Debug MultiArray2(0, 2, 0) ; Выведет '3' Debug ArraySize(MultiArray2(), 2) ; Выведет '2'
Пример
Dim Test.q(99999999999999999) If ArraySize(Test()) <> -1 Test(12345) = 123 ; все нормально Else Debug "Не удалось инициализировать массив 'Test()'." EndIf
Пример
Structure MyStructure ArrayStatic.l[3] ; Статический массив, только в структурах Array ArrayDynamic.l(4) ; Динамический Массив EndStructure Debug SizeOf(MyStructure\ArrayStatic) ; Выведет 12 Debug SizeOf(MyStructure\ArrayDynamic) ; Выведет 8 Ex.MyStructure Debug ArraySize(Ex\ArrayDynamic()); Выведет 4
См. также
ListSize(), MapSize()
Поддерживаемые OS
Все