![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
где 1) Dim – служебное слово
2) DynArray – имя переменной массива
То есть, массивом может стать любая объявленная переменная
Далее в программе, где это необходимо, с помощью оператора ReDim указывают размерность массива. Например:
ReDim DynArray1 (5) ‘ для вектора
или
ReDim DynArray1 (3, 4) ‘ для матрицы
или
ReDim DynArray1 (2, 4, 7) ‘ трёхмерного массива
При каждом выполнении оператора ReDim значения всех элементов массива, сохранённые ранее, теряются. VBScript переустанавливает их в Empty (пустое значение) (для Variant-массивов), в нулевые значения (для числовых массивов), в строки нулевой длины (для строковых массивов).
Конечно, это, скорее всего, неудобно. Если вам нужно добавить к массиву новый элемент в конец массива, то есть увеличить размер массива, то нет смысла терять при этом, может быть, «с трудом полученные» ранее элементы. “К счастью”, с помощью ключевого слова Preserve в операторе ReDim можно указать, чтобы система сохранила значения массива, размеры которого изменяются.
В следующем примере размер вектора увеличивается на единицу от текущего размера с сохранением значений, ранее запомненных в массиве. Текущий размер массива определяется с помощью функции UBound (подробнее о ней будет рассказано ниже):
ReDim Preserve DynArray2 (UBound(DynArray)+1)
VBScript имеет функцию, которая освобождают пользователя от необходимости вручную отслеживать верхний предел массива – функция UBound. Эта функция возвращают верхнее граничное значение индекса массива.
Пример использования:
Dim A (3, 4) ‘ объявление матрицы А
MsgBox UBound (A, 1) ‘ вывод на экран максимального индекса в строке
MsgBox UBound (A, 2) ‘ вывод на экран максимального индекса в столбце
Ценное замечание
Для того чтобы определить является ли переменная массивом можно использовать функцию IsArray(ArrName), возвращающую «Истина», тогда и только тогда когда ArrName – массив.
Дата публикования: 2015-04-07; Прочитано: 191 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!