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 = xy ‘кода операції виконуємо дію

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 
25 26 27 28  Наверх ↑