- •7.050105 “Банківська справа”, 7.050104 “Фінанси”
- •Донецьк 2005
- •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 Практичні завдання
- •Картка кількісного обліку товарів
- •Аналіз виконання плану товарообігу за структурою
- •Відомість розрахунків покупців по кредитах
- •Відомість результатів інвентаризації товарів
- •Рахунок-фактура
- •Відомості про вибірку фондів по плодоовочевим культурам за декаду
- •Відомість залишків основних фондів
- •Реєстр листків по тимчасовій непрацездатності
- •Відомість відрахувань із зарплати
- •Меню на відпустку харчування співробітникам столової
- •Аналіз забезпеченості кадрами
- •4.5 Тест
- •5 Розробка програм з використанням підпрограм – процедур і функцій, вікон повідомлень
- •5.1 Підпрограми – процедури і функції
- •5.2 Вікна повідомлень
- •Коди сполучень кнопок у вікні повідомлення
- •Коди значків у вікні повідомлення
- •Приклад програми з використанням підпрограм, вікон повідомлень
- •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 Тест
- •Література
- •7.050105 “Банківська справа”, 7.050104 “Фінанси”
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 |