Визуализация данных при помощи массивов элементов управления
Постановка задачи:
Разработать приложение, которое обеспечит ввод массива, обработку его элементов, вывод результатов обработки. Для ввода данных использовать массив текстовых полей. Ввод, обработку и отображение выполнять при помощи команд меню.
Реализации приложения.
-
Создать новый проект, главную форму создаваемого приложения организовать соответственно рис.1 Свойствам элементов, размещенных на форме, присвоить следующие значения:
Label1. Height = 375; Label1.Width = 375; Label1.Index=1
Text1. Height = 420; Text1.Width = 495; Text1.Index=1
Рис.1. Главная форма приложения
-
Реализовать следующие обработчики событий:
Option Base 1
Private Sub Form_Load() ‘ Процедура выполняется по загрузке главной формы
Form1.Height = 3000
Form1.Width = 3500
Wi = 3500
He = 3000
N = Val(InputBox("Задайте количество элементов массива", ""))
Call Massiv
End Sub
Private Sub Ввод_Click() ‘ Процедура выполняется по команде Ввод
N = Val(InputBox("Задайте количество элементов массива", ""))
Call Massiv
End Sub
Private SubОбработка_Click() ‘ Процедура выполняется по команде Обработка
Dim i As Byte
ReDim a(N)
Label2.Caption = " Выделение желтым цветом четных элементов "
For i = 1 To N
Text1(i).BackColor = vbWhite
Next i
For i = 1 To N
a(i) = Val(Text1(i).Text)
If CInt(Text1(i).Text) Mod 2 = 0 Then Text1(i).BackColor = vbYellow
Next i
End Sub
Private Sub Выход_Click() ‘ Процедура выполняется по командеВыход
End
End Sub
-
Добавить в приложение модуль Module1. Поместить в модуль следующий программный код.
Dim a() As Integer
Public N As Byte ' количество элементов массива
Public Wi As Integer
Public He As Integer
Public Sub Massiv() 'Процедура Massiv
Dim i As Integer
' Корректировка ширины формы по кол-ву элементов массива
Form1.Width = Wi + (N - 1) * 500
Form1.Label1(1).Visible = 1 ' отображение номера 0 элемента массива
Form1.Text1(1).Visible = True ' отображение текстового окна 0 элемента
Form1.Text1(1).Enabled = True ' разрешение редактирования текстокна
'Создание надписей и текстовых окон для остальных элементов массива
For i = 2 To N
'Добавление новой метки для номера i элемента и определение ее параметров
Load Form1.Label1(i) 'добавить новую метку
Form1.Label1(i).Left = Form1.Label1(i - 1).Left + 500 'определить координаты ее левой стороны
Form1.Label1(i).Caption = i ' значение номера i элемента
Form1.Label1(i).Visible = 1 ' отображение номера
'Добавление нового текстокна для значения i элемента и определение его параметров
Load Form1.Text1(i) ' новое текстовое окно
Form1.Text1(i).Left = Form1.Text1(i - 1).Left + 500 'изменение координаты текстокна по горизонтали
Form1.Text1(i).Visible = True ' изменение видимости текстокна
Form1.Text1(i).Alignment = 2 ' выравнивание по центру содержимого текстокна
Form1.Text1(i).Text = "" 'Str(i)
Form1.Text1(i).Enabled = True
Next i
End Sub
-
Отображение исходных данных и вывод результатов работы программы.
Рис.2. Результаты работы программы