Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VB_6.doc
Скачиваний:
97
Добавлен:
01.12.2018
Размер:
3.77 Mб
Скачать

4.6. Функции lBound и uBound.

При решении некоторых задач нижние и верхние границы индексов массива могут не вводиться, а вычисляться, в этих случаях пользователю они могут быть неизвестны. Для их определения служат функции LBound и UBound . Их синтаксис:

LBound (<имя массива>, <номер индекса>)

UBound (<имя массива>, <номер индекса>)

LBound определяет значение нижней границы индекса, а UBound - верхней. Если границы индекса неизвестны, то циклы по элементам, например, двумерного массива М с использованием этих функций можно организовать следующим образом:

For i = LBound(M, i) To UBound(M, i)

For j = LBound(M, j) To UBound(M, j)

. . . . . . . . . . . . . . . . .

Next j, i

4.7. Массивы элементов управления.

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

Private Sub Command1_Click()

Dim n%, i%

n = 5

For i = 0 To n - 1

Text1(i).BackColor = RGB(100+10*i, 150+20*i, 200+5*i)

Text1(i). ForeColor = RGB(150+5*i, 150+10*i, 150+ 20*i)

Next i

End Sub

Здесь n – это количество элементов Text1 в массиве. Функция RGB(r,g,b) возвращает насыщенность красной(r), зеленой(g) и синей(b) компонент цвета. Параметры r, g, b должны лежать в пределах от 0 до 255 каждый.

Создать массив элементов управления можно, расположив первый из них на форме и воспользовавшись командами “Копировать” и “Вставить”, либо поместив все элементы на форму и задав всем им одно и то же имя.

Методы Load и UnLoad позволяют добавлять и удалять элементы массива элементов в режиме run. Например:

i = Text1.UBound

Load Text1(i + 1)

Text1(i + 1).Top = Text1(i).Top + Text1(i).Height + 100

Text1(i + 1).Left = Text1(i).Left

Text1(i + 1).Visible = True

Здесь мы программным путем переместили вновь созданный элемент, так как он после создания располагается на уже существующем. Кроме того, у добавляемого элемента свойство Visible = False, поэтому мы его тоже изменили программно, чтобы добавленный элемент стал видимым.

Добавить новый элемент в массив элементов можно программным путем только тогда, когда хотя бы один групповой элемент был создан в режиме design.

Удалить i-ый элемент из группы позволяет метод Unload:

UnLoad Text(i).

4.8. Сопоставление массивов и списков.

Списки обоих типов (ListBox и ComboBox), так же, как и массивы,

являются упорядоченной по индексу последовательностью данных. Исходя из их свойств, можно дать следующие рекомендации:

1. Если заранее известно количество элементов обрабатываемой последовательности данных, то целесообразно использовать статический массив.

2. Если количество элементов меняется в процессе выполнения программы, но каждый раз оно может быть задано, то следует использовать динамический массив.

3. Если о количестве элементов заранее ничего не известно и в

процессе выполнения программы одни элементы добавляются, а другие

удаляются, то необходимо использовать либо ListBox, либо

ComboBox. Ведь по существу, каждый из них - это массив, индексы

которого все гда начинаются с нуля и не имеют фиксированной верхней

границы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]