Массивы. 2 вида массивы: управляющие и массивы переменных (обычные массивы или списки)

2 вида массивы: управляющие и массивы переменных (обычные массивы или списки).

Управляющие массивы состоят из нескольких однотипных элементов управления, использующих общие свойства, по отличающимся порядковым номерам или индексам. Может быть не более 255 элементов в таком массиве. При этом новые элементы на форме помещаются на место исходных элементов управляющего массива. Поэтому при размещении на форме их следует позиционировать и двигать, чтобы они не перекрывали друг друга. Например, можно создать на форме матрицу надписей или текстовых полей.

Одномерные массивы или списки определяются именем и положением элемента в списке. Например данные о выпуске продукции за 12 месяцев.

Могут быть фиксированные и динамические списки. Размеры их могут быть велики и определяются объемом свободной памяти.

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

Динамические списки более гибки в работе.

Списки могут быть видимыми всему приложению, данной форме (модулю) или только одной процедуре.

Создание фиксированного списка:

а) в форме (модуле). Описание помещается в разделе деклараций формы (модуля)

Dim Massiv$(20)

доступен любой процедуре модуля или формы;

б) в пределах всего проекта (глобальный)

Public Massiv(20) As String - 21 элемент от 0 до 20

или Global

в) локальный массив, который сохраняется до следующего вызова процедуры

Private Sub ...........

Static Massiv A(20)

Создание динамических массивов.

а) в форме

В размере декларации формы Dim DYNMAS() As String

А внутри процедуры выделяем нужный размер

Private Sub ...........

Dim N %

ReDim DYNMAS(N) As String

При работе команды ReDim информация в массиве теряется.

Для сохранения информации при изменении размера массива

ReDim Preserve DYNMAS(N+1) As String

или (N-1) удалит последний элемент

б) Глобальный динамический список, видимого в пределах всего проекта

Public DYNMAS() As String

или Global

Далее можно использовать ReDIM в любой процедуре всего проекта.

Ввести данные в массив можно с помощью INPUT BOX, текстового поля.

Для изменения нумерации в массиве не с 0, а с 1 - оператор Option Base 1 в разделе деклараций формы (модуля).

Можно задавать массив диапазоном значений

вместо Dim A(19)

Dim A (1980 TO 2000)

Освобождение ОП от динамический массивов Erase DYNMAS/ Для фиксированных списков Erase только очищает массив.


Наши рекомендации