Пример кода, использующего массив:
Dim М(0 То 30) As Single 'описание массива
Dim Nmb As Integer, Nmb1 As Integer
Dim NmbStr As String
Dim Flag As Byte
Private Sub Form_Load() 'срабатывает при выводе формы
Nmb1 = 1 'начальное значение счетчика
Text2.Text = Str(Nmb1)
End Sub
Private Sub Text1_Click() 'ввод значений массива
M(Nmb1) = Val(Text1.Text)
Nmb1 = Nmb1 + 1 'счетчик номера записи
Text2.Text = Str(Nmb1)
Textl.Text =""
M(0) = Nmb1-1 'число введенных значений
End Sub
Private Sub Command1_Click() 'вывод массива на просмотр
Label2.Caption = "Всего дней"
Label2.ForeColor = vbBlue
Text2.ForeColor = vbBlue
Text2.Text = Str (M(0))
For Nmb = 1 To Nmb1 - 1
Text3.Text = Text3.Text & Str(M(Nmb)) &";"
Next
End Sub
Private Sub Command2_Click() 'вычисление среднего значения
Dim A As Single
For Nmb =1 To Nmb1 - 1
A = A + M(Nmb)
Next
Text4.Text = Str (A/ (Nmbl - 1))
End Sub
Private Sub Command3_Click()'минимальное значение
Dim Min As Single, I As Integer
Min = 999999
For Nmb=1 To Clnt(M(0))
If M(Nmb) < Min Then
Min = M(Nmb)
End If
Next
Text5.Text = Str(Min)
End Sub
Private Sub Command4 Click() 'максимальное значение
Dim Max As Single
Max = -999999
For Nmb = 1 To Clnt (M(0))
If (M(Nmb) > Max) Then Max = M(Nmb)
Next
Text6.Text = Str(Max)
End Sub
Private Sub Command5_Click() 'Очистка
Text1.Text =
Text2.Text =
Text3.Text =
Text4.Text =
Text5.Text =
Text6.Text =
Nmb1 = 0
For Nmb = 1 To M(0)
M(Nmb) = 0
Next
M(0) = 0
Label2.Caption = "Индекс(день)"
Label2.ForeColor = vbBlack
Text2.ForeColor = vbBlack
End Sub
Private Sub Command6_Click() 'выход
End
End Sub
В этом примере (рис. 43) рассчитывается среднее значение температуры нескольких дней и выбираются наименьшее и наибольшее значения.
Рис. 43
Массив объектов
Массивы могут состоять не только из чисел, но и из строк, объектов. Следующая программа (рис. 44) демонстрирует работу с массивом объектов, картинок. Форма приложения является библиотекой объектов OLE-рисунков PaintBrush.
Рис. 44
На форме устанавливаются объекты управления, в которых помещаются изображения. Объектами выбираются контейнеры OLE из стандартного набора Tollbox.
Пиктограмма этого инструмента показана на рис. 45. После размещения контейнера OLE на экранной форме появляется системное окно Windows. Для того чтобы картинка целиком умещалась в границах объекта OLE на экранной форме, следует установить значение свойства SizeMode этого объекта равным Stretch или Autosize.
Рис. 45
Код приложения:
Private Sub Command 1_Click() 'выбор из массива по
'значению TabIndex=0
OLE1(Command1.Tablndex).Visible = True
End Sub
Private Sub Command2_Click() 'выбор из массива по
'значению TabIndex=1
OLE1(Command2.Tablndex).Visible = True
End Sub
Private Sub Command3_Click() 'выбор из массива по
'значению TabIndex=1
OLE1(Command3.Tablndex).Visible = True
End Sub
Многомерный массив
Массивы могут быть и многомерными. В таких массивах присутствует несколько диапазонов значений индексов, которые записываются через запятую в скобках после имени массива. Пример объявления двумерного и трехмерного массивов:
DimМассивА(1 То 100, -5 То 4) As Double DimМассивВ(19,49,100) As String* 10 |
Упражнение 8
• Сделать приложение по рис. 43.
• Запустить приложение, проверить работу.
• Сделать приложение по рис. 44. Массив объектов OLE делается копированием вынесенного на форму объекта. Выбор объекта сделать по рис. 46.
Рис. 46
• Заполнение контейнеров OLE выполняется через редактор Paint-Brush
(рис. 47).
Рис. 47
• Запустить приложение, в процессе работы отредактировать рисунки.