Пример кода, использующего массив:
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
• Запустить приложение, в процессе работы отредактировать рисунки.