А.Н.
Павлов. Высокоуровневые методы информатики и программирования
4.4.5. Работа с массивами
Большинство приложений, с
которыми работают пользователи, предназначены для ввода, обработки и
преобразования однотипных записей, которые либо должны накапливаться в
оперативной памяти компьютера, либо представляются пользователю в виде списков для
выбора необходимых сведений. Под массивом следует понимать – набор переменных с
одним и тем же именем и одного типа. Такие объекты, как Combo Box и
List Box в
языке Visual Basic по определению работают с массивами. Поэтому, когда
пользователь заносит в такой объект данные, то совокупность данных
рассматривается как массив. Вместе с тем, часто требуется создавать собственные
массивы, т.е. назначить одно имя переменной для хранения нескольких однотипных
данных. Размножение имени осуществляется вводом индекса, т.е. порядкового
номера элемента в массиве (это и есть проявление полиморфизма). Объявление
массива очень похоже на объявление переменной:
Dim |
Public | Private Имя
массива (индекс) As Тип данных
Область
действия массива определяется ключевым словом, например, ключевое слово Dim позволяет сделать
видимыми данные только внутри процедуры, тогда следует его вводить после
определения имени процедуры. В том
случае, если слово Dim вынесено за пределы процедуры (использование на уровне
модуля), тогда он будет виден из любого места программы (аналогично действию
ключевого слова Public).
Ключевое слово Private для определения массива используется только в разделе General формы
или модуля, что сделает его видимым только в пределах формы или модуля.
Индекс
массива, как правило, обозначается целыми числами. При явном объявлении массива,
т.е., когда заранее известно, сколько отвести места в памяти для хранения всех
переменных массива, указывается номер последнего элемента. Нумерация элементов
в массивах начинается с нуля, поэтому указывают на единицу меньше, чем число
переменных в массиве. Если индексы в массиве начинаются не с нуля, а с какой то
другой цифры, тогда в разделе General модуля следует поместить
оператор Option Base n,
где n обозначает
номер первого элемента в массиве, с которого начинается индекс.
Примером
использования массивов, может являться продолжение рассмотрения создания
проекта для работы с фамилиями сотрудников. Необходимо создать интерфейс
пользователя, с помощью которого он может просмотреть добавления фамилий из
первой формы проекта (рис. 17) в отдельный список для дальнейшего формирования
выходного файла.
Новая форма
должна быть создана в пределах досягаемости уже созданной ранее формы 1,
поэтому форму 2 следует открыть в существующем проекте. Для этого необходимо в
главном окне проекта в строке меню выбрать Project/Add Form. На
новой форме целесообразно расположить окно списка (List Box), две командные кнопки (Command Button) и для разнообразия можно
воспользоваться инструментом Image – Изображение, чтобы понять его отличие от инструмента Picture Box –
Графическое окно. На рис. 25 представлен
окончательный вариант формы 2 для разработанного проекта.
Рис. 25. Внешний вид формы 2 для
проекта
В новой форме
(F2) создается массив
для хранения переданных данных из формы 1 с помощью оператора Dim Mas(15) As String. Данные в этот массив
передаются после того, как будет вызвано событие – нажатие на кнопку с наименованием
«Посмотреть добавления». Одновременно с записью данных в массив Mas(i), в поле списка, добавляется
переменная, которая выбрана из комбинированного списка формы 1 в виде текстовой
переменной. На рис. 25 показан фрагмент окна с кодами программы.
Рис. 25. Фрагмент окна с
программными кодами для формы 2
Необходимо напомнить, что интерфейс
пользователя с формой 2 (имя формы F2), появится на экране после того, как пользователь выберет в
списке фамилию на форме 1 и щелкнет по ней левой клавишей мыши. Произойдет
событие, которое необходимо обработать, для этого создается процедура в форме 1
(имя формы - F1), состоящая
из одной записи - вызвать метод «Показать» (Show) объект F2,
дополнения к программе показаны на рис. 26.
Рис. 26. Обработка события при нажатии на строку в списке
Последовательность действий пользователя
при работе с массивами (с пояснениями), которые создаются на форме 1 и
передаются в форму 2, показано на рис. 27.
Рис. 27. Отображение последовательности работы пользователя с массивами данных на рабочих формах приложения