5.3. Використання елементів управління перемикач та прапорець.
Для надання користувачеві альтернатив у виборі тієї чи іншої дії в інтерфейсній частині програми VBA має такі елементи управління як перемикач та прапорець.
Перемикач – це об’єкт, що може знаходитись у включеному та виключеному стані в залежності від стану інших об’єктів такого ж типу. Тобто з групи перемикачів тільки один може бути включеним. Рядок тексту, що знаходиться праворуч від самого перемикача і вказує на призначення цього перемикача, задається у властивості Caption у режимі створення проекту або при виконанні програми оператором Option1.Caption = “… “. Стан об’єкту (включений / виключений) визначається властивістю Value, яка може приймати значення TRUE ( істина ), коли перемикач встановлений , або FALSE (хибність) – перемикач не обраний.
Якщо проект передбачає розміщення на формі декількох груп перемикачів, в кожній з яких потрібно обрати один, то перемикачі об’єднуються в контейнери.
Використання стану перемикача можна здійснити за таким оператором:
If OptionButton1.Value Then
‘ дії, якщо перемикач обраний
EndIf
Прапорець – це об’єкт, що може знаходитись у включеному та виключеному стані, але його стан не залежить від стану інших об’єктів такого ж типу. Рядок тексту, що знаходиться праворуч від об’єкта і вказує на його призначення, також задається у властивості Caption у режимі створення проекту або при виконанні програми оператором Check1.Caption = “…“. Стан об’єкту (включений / виключений) визначається властивістю Value, яка може приймати значення:
0 - прапорець виключений (не встановлений);
1 – прапорець включений (встановлений);
2 – прапорець невизначений.
Невизначеність використовується тоді, коли прапорець сигналізує про явність певної характеристики в групі об’єктів, а насправді частина об’єктів має цю характеристику, а частина – ні.
Як правило, використовуються перших два значення. Перевірку стану прапорця( встановлений/ скинутий) можна визначити за допомогою оператора IF:
If CheckBox1.Value=1 Then
… ‘ дії, якщо прапорець встановлений
Else
…’ дії, якщо прапорець невстановлений
End If
Запис розгалужень розглянемо на прикладі.
Завдання 5.1. Створити програму, яка містить 5 кнопок і текстове поле (рис 5.1). Чотири кнопки задають арифметичні операції, п’ята – вивід результату. Вихідні дані вводяться послідовно з клавіатури в текстове поле. Результат відображається в текстовому полі.
Вікно форми зображене на рис 5.1, таблиця відповідності для елементів управління – у табл. 5.1, а таблиця відповідності змінних – у табл. 5.2.
Порядок роботи з програмою:
а) ввести перше число;
б) натиснути кнопку арифметичної операції;
в) ввести друге число;
г) натиснути кнопку “=”
Рис 5.1 Вікно форми завдання 5.1.
Таблиця 5.1 Властивості елементів управління.
Назва |
Name |
Caption (Text) |
Форма |
Frm1 |
Арифмометр |
Кнопка |
Key1 |
+ |
Кнопка |
Key2 |
– |
Кнопка |
Key3 |
* |
Кнопка |
Key4 |
/ |
Кнопка |
Key5 |
= |
Текстове поле |
Txt1 |
Таблиця 5.2 Призначення змінних
Ім’я змінної |
Тип |
Призначення |
x |
Single |
Перше число |
y |
Single |
Друге число |
z |
Single |
Результат |
f |
Integer |
Індикатор операції |
Текст програми (кодова частина) має такий вигляд:
Dim x!, y!, z!, f%
Private Sub Key1_Click()
x = CDbl(Txt1.Text)’читаємо перше число
Txt1.Text = "" ‘очищаємо поле
f = 1 ‘ запам’ятовуємо код операції
End Sub
Private Sub Key2_Click()
x = CDbl(Txt1.Text)’читаємо перше число
Txt1.Text = "" ‘очищаємо поле
f = 2 ‘ запам’ятовуємо код операції
End Sub
Private Sub Key3_Click()
x = CDbl(Txt1.Text)’читаємо перше число
Txt1.Text = "" ‘очищаємо поле
f = 3 ‘ запам’ятовуємо код операції
End Sub
Private Sub Key4_Click()
x = CDbl(Txt1.Text)’читаємо перше число
Txt1.Text = "" ‘очищаємо поле
f = 4 ‘ запам’ятовуємо код операції
End Sub
Private Sub Key5_Click()
y = CDbl(Txt1.Text)
If f = 1 Then z = x + y ‘В залежності від значення
If f = 2 Then z = x – y ‘кода операції виконуємо дію
If f = 3 Then z = x * y ‘
If f = 4 Then z = x / y ‘
Txt1.Text = CStr(z) ‘виводимо результат
End Sub
Вибір арифметичної операції в процедурі Key5_Click() можна було б здійснити і за допомогою оператора Case. Відповідний оператор мав би такий вигляд:
Select case f
Case 1 : z = x+y
Case 2 : z = x–y
Case 3 : z = x*y
Case 4 : z = x/y
End Select
Завдання 5.2. Створити програму, яка містить кнопку, текстове поле і 4 перемикачі (рис 5.2). Перемикачі задають арифметичні операції, кнопка здійснює введення даних і вивід результату. Вихідні дані вводяться послідовно з клавіатури в текстове поле. Результат відображається в текстовому полі.
Таблиці відповідності для елементів управління і змінних наведені в – у табл. 5.3 і 5.4.
Порядок роботи з програмою:
а) ввести перше число;
б) натиснути кнопку для запам’ятовування першого числа та вводу другого числа;
в) ввести друге число;
г) обрати арифметичну операцію за допомогою перемикача;
д) натиснути кнопку для виводу результату.
Рис 5.2 Вікно форми завдання 5.2.
Таблиця 5.3 Властивості елементів управління.
Назва |
Name |
Caption (Text) |
Форма |
Frm1 |
Арифмометр з перемикачем |
Перемикач |
Opt1 |
+ |
Перемикач |
Opt2 |
– |
Перемикач |
Opt3 |
* |
Перемикач |
Opt4 |
/ |
Кнопка |
Key1 |
= |
Текстове поле |
Txt1 |
Таблиця 5.4 Призначення змінних
Ім’я змінної |
Тип |
Призначення |
x |
Single |
Перше число |
y |
Single |
Друге число |
z |
Single |
Результат |
f |
Integer |
Індикатор введення чисел |
Кодова частина програми має такий вигляд:
Dim x!, y!, z!, f%
Private Sub Key1_Click()
If f = 0 Then
x = CSng(Txt1.Text)
Txt1.Text = ""
f = 1
Else
y = CSng(Txt1.Text)
Txt1.Text = ""
If Opt1.Value Then z = x + y
If Opt2.Value Then z = x - y
If Opt3.Value Then z = x * y
If Opt4.Value Then z = x / y
Txt1.Text = CStr(z)
f = 0
End If
End Sub
25 26 27 28 Наверх ↑