Иллюстрированный самоучитель по Outlook2002


Типы данных - часть 7


Итак, опять мы встречаем знакомые конструкции — операторы объявления массива и имя массива. Размер массива может задаваться тремя способами.

  • Объявляется только верхняя граница, при этом нижняя граница по умолчанию принимает значение, равное 0. Синтаксис подобного объявления прост: { верхняяГраница}

  • Объявляется нижняя и верхняя граница изменения индекса: (нижняяГраница То верхняяГраница)

  • Размер массива вообще не объявляется, размерность массива неизвестна: ( )

Приведем ряд примеров, поясняющих использование синтаксических конструкций. В первом из них объявляется одномерный массив типа variant с использованием ключевого слова Dim, причем индексация производится от -14 до — 1. Данная индексация имеет смысл, например, в случае с метеорологическими данными, представляющими средние дневные температуры за последние две недели. В таком случае temperature (-2) будет соответствовать позавчерашней температуре. Во втором примере показано объявление двумерного массива магазинов с использованием константных аргументов, и инициализация элемента (7, 56).

Программа 20.4. Объявление массивов

{Первый пример}

Dim temperature( - 14 То -1)

temperature(-2) = -10

{Второй пример}

Const numbShop As Integer = 20, numbBook As Integer = 100

Dim numbBookSale (1 To numbShop, 1 To numbBook) As Integer

numbBookSale(7, 56) = 300

В приведенных примерах речь все время шла о массивах фиксированного размера, количество элементов в которых явно указано во время описания в операторе Dim. Такие массивы называются статическими. Но иногда количество элементов массива изначально не известно. Например, вы не знаете точного количества магазинов (возможно, появятся еще несколько магазинов, с которыми издательство будет сотрудничать). Как быть? Не стопорить же сбыт продукции до выявления конечного числа магазинов.

Для решения подобных проблем VBA предлагает использование динамических массивов, т. е. массивов, размеры и количество элементов которых при описании не фиксируются, но могут быть определены непосредственно при выполнении программы.


Начало  Назад  Вперед



Книжный магазин