- •Міністерство освіти і науки україни
- •1 Створення програм у середовищі Visual Basic 6.0. Основні поняття - об'єкт, властивість, подія.
- •1.1 Візуальне створення програми
- •1.2 Створення вихідного коду
- •1.3 Контрольні запитання
- •1.4 Практичні завдання
- •1.5 Тест
- •2 Основні оператори мови
- •2.1 Організація розгалужених обчислювальних процесів
- •2.1.1 Умовний оператор If
- •If умова Then
- •2.1.2 Оператор варіанти Select Case
- •2.2 Організація циклічних обчислювальних процесів
- •2.2.1 Оператор циклу For . . . Next
- •Частина початкового рядка циклу Step n може бути пропущена, коли крок зміни перемінної циклу дорівнює одиниці. Приклад використання циклу For … Next
- •2.2.2 Оператор циклу Do While . . . Loop
- •2.2.3 Оператор циклу Do. . . Loop While
- •2.3 Контрольні запитання
- •2.4 Практичні завдання
- •2.5 Тест
- •3 Використання елементів управління в програмах. Робота з формами. Поняття методу
- •3.1 Елементи управління - смуги прокручування, перемикачі, прапорці, групи, списки, що розчиняються
- •3.2 Робота з формами. Поняття методу
- •Приклад програми
- •3.2 Контрольні запитання
- •3.4 Практичні завдання
- •3.5 Тест
- •4 Управління програмою за допомогою меню. Робота з масивами елементів управління, змінних
- •4.1 Управління програмою за допомогою меню
- •4.2 Робота з масивами елементів управління, змінних
- •4.3 Контрольні запитання
- •4.4 Практичні завдання
- •Аналіз стану товарних запасів
- •5 Розробка програм з використанням підпрограм – процедур і функцій, вікон повідомлень
- •5.1 Підпрограми – процедури і функції
- •5.2 Вікна повідомлень
- •Коди сполучень кнопок у вікні повідомлення
- •Коди значків у вікні повідомлення
- •Можливі значення, що повертає функція MsgBox()
- •Приклад програми з використанням підпрограм, вікон повідомлень
- •5.3 Контрольні запитання
- •5.4 Практичні завдання
- •5.5 Тест
- •6 Робота з файлами
- •6.1 Файли довільного доступу
- •6.2 Файли послідовного доступу
- •6.3 Бінарні файли
- •Приклад виконання програми роботи з файлом
- •5.4 Контрольні запитання
- •5.5 Практичні завдання Завдання №1
- •Завдання №2
- •Завдання №3
- •7 Використання Visual Basic for Application у Microsoft Excel
- •7.1 Основні поняття
- •7.2 Редактор vba
- •7.3 Створення функцій користувача
- •7.4 Автоматизація розрахунків на робочому листі
- •7.5 Робота з формами у середовищі vba
- •7.6 Контрольні запитання
- •7.7 Практичні завдання
- •Створити таблицю «Зведення про реалізацію товарів», розрахунок підсумкових значень у який по рядках і в цілому по таблиці виконується за допомогою командної кнопки «Розрахунок».
- •7.8 Тест
- •Література
- •Інформатика та комп’ютерна техніка
2.1.2 Оператор варіанти Select Case
Оператор Select Case подібно оператору If здійснює розгалуження, але при цьому дозволяє організувати розгалуження відразу по декількох напрямках.
Загальна форма оператора:
Select Case X
Case <значення1 або віраз1>
ділянка програми, що виконується, якщо Х = значення1 або выраз1
Case <значення2 або віраз2>
ділянка програми, що виконується, якщо Х = значення2 або выраз2
. . .
Case <значенняN або віразN>
ділянка програми, що виконується, якщо Х = значенняN або выразN
Case Else
ділянка програми, що виконується, якщо жодна з умов не відповідає
фактичному значенню Х
End Select
Виконання оператору Select Case залежить від значення змінної Х – змінної варіанти. У першій гілці обчислюється значення виразу1, якщо він є в операторі, результат або значення1 порівнюється з фактичним значенням змінної Х. Якщо в наслідок порівняння отримано значення “істина”, виконуються оператори, які йдуть після рядка Case. Коли отримано значення “брехня”, обчислюється значення виразу2, змінна Х порівнюється з отриманим результатом або значенням2, якщо значення рівні, виконується друга гілка і т.д. Гілка Case Else в операторі не обов'язкова, виконується, якщо жодна з умов не відповідає фактичному значенню Х.
Приклад застосування оператора Select Case
Щоб розглянути використання оператора Select Case на прикладі потрібно доробити програму, створену в п.2.1.1. Після редагування програма повинна включати засоби аналізу клавіші, натиснутої при введенні даних у поле txtS (Сума нарахованої заробітної плати). Припустимим вважається натискання спеціальних клавіш (наприклад, клавіш керування курсором, Del, Home), клавіші Backspace, десяткової крапки, цифр від 0 до 9. У форму необхідно помістити ще один елемент - етикетку lblMesKey для виведення повідомлення у випадку натискання неприпустимої клавіші. Після натискання будь-якої клавіші в текстовому полі, якому відповідає подія KeyPress, потрібно виконати аналіз натиснутої клавіші. Якщо натиснута неприпустима клавіша, то видається повідомлення про помилку і вміст текстового поля знищується, у противному випадку ніяких дій не виконується. Аналіз натиснутої клавіші виконується за допомогою цілої числової змінної KeyAscii. Через цю змінну в момент натискання (подія KeyPress) процедурі, яка відповідає події, передається значення ASCII-коду натиснутої клавіші. Процедура повинна перевіряти символ, що вводиться, на припустимість. Список припустимих у процедурах кодів наведено в таблиці:
Значення змінної KeyAscii |
Пояснення |
0 |
Спеціальні клавіші |
8 |
Backspace |
46 |
Десяткова крапка |
48. .57 |
Цифри від 0 до 9 |
На етапі візуального програмування потрібно змінити ім'я форми, помістити у форму додатковий елемент - етикетку lblMesKey.
Рисунок 2.3 - Вікно програми - приклада використання оператора Select Case
До коду програми потрібно додати процедуру, яка подана в таблиці.
Дані в рядку коду |
Коментар |
Private Sub txtS_KeyPress (KeyAscii As Integer) |
Процедура, що виконується у випадку натискання будь-якої клавіші в полі txtS для введення нарахованої суми. Для створення процедури потрібно виконати подвійне клацання лівою кнопкою миші на текстовому полі. |
lblMesKey.Caption = " " |
Властивості Caption етикетки lblMesKey (для виведення повідомлення про помилку) привласнюється значення ““ (порожній рядок). |
Select Case KeyAscii |
Початок оператора Select Case, що реалізує розгалуження виконання програми в залежності від значення стандартної змінної KeyAscii |
Case 0, 8, 46, 48 To 57 |
У тому випадку, якщо змінна KeyAscii дорівнює 0, 8 або 46, або знаходиться в діапазоні від 48 до 57 ніяких дій не виконується. |
'Припустиме значення |
Рядок коментарю, який введено для зручності читання коду програми. |
Case Else |
інакше, коли жодна з умов не відповідає значенню змінної KeyAscii виконуються такі дії |
'Неприпустиме значення |
|
lblMesKey.Caption = "Натиснута неприпустима клавіша" |
Властивості Caption етикетки lblMesKey привласнюється значення "Натиснута неприпустима клавіша". |
txtS.Text = " " |
Властивості Text текстового поля txtS прив-ласнюється значення ““ (порожній рядок). |
KeyAscii = 0 |
Змінної KeyAscii присвоюється значення 0. |
End Select |
Завершення оператора Select Case. |
End Sub |
Завершення процедури txtS_KeyPress |