- •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 “Фінанси”
Приклад програми
Щоб розглянути на прикладі використання елементів управління в формах, слід створити програму, у ході виконання якої можна розрахувати ціну та поживність порції морозива на основі визначених вхідних даних. Основним компонентом порції може бути морозиво одного з трьох видів, у кількості від 75 до 250 гр.
Вид морозива |
Ціна за 100 гр. |
Калорійність, ккал. на 100 гр. продукту |
Пломбір |
0,90 грн. |
100 |
Вершкове |
1 грн. |
110 |
Молочне |
0,80 грн. |
90 |
Порція морозива може також вміщувати:
Додаток |
Ціна |
Калорійність, ккал. |
Джем полуничний |
0,30 грн. |
50 |
Джем вишневий |
0,25 грн. |
47 |
Джем помаранчевий |
0,40 грн. |
48 |
Збиті вершки |
0,70 грн. |
80 |
Шоколад |
0,50 грн. |
120 |
Горіхи |
0,90 грн. |
130 |
Причому, якщо можна обрати лише один з видів джемів, інші інгредієнти можна включати у порцію за смаком.
Програма повинна включати 3 форми. Перша основна форма з’являється при запуску програми, дозволяє перейти до розрахунку, вивести інформацію про автора програми, завершити роботу (рис.3.1. а). Форма з відомостями про автора (рис.3.1. б) з’являється після натиснення кнопки Відомості про автора. Після знайомства з інформаційним вікном натисненням кнопки Ок можна повернутись до головного вікна програми. Третє вікно використовується для введення даних, виконання розрахунку (рис.3.1. в).
а) |
б) |
в) |
Рисунок 3.1 - Вікна програми – приклада використання декількох форм, різних елементів управління
При розв’язанні задачі використовуються такі змінні:
V – вага морозива в порції;
C – ціна порції;
K – калорійність.
Блок-схема розв’язання задачі подана на рис.3.2.
На етапі візуальної розробки програми слід створити головну форму frmMain у відповідності з описом, наданим у таблиці.
Об'єкт |
Властивість |
Значення |
Форма (Form) |
Name |
frmMain |
Caption |
Програма - приклад |
|
BackColor |
білий |
|
Командна кнопка (Command Button) |
Name |
cmdR |
Caption |
Початок розрахунку |
|
Командна кнопка (Command Button) |
Name |
cmdA |
Caption |
Відомості про автора |
|
Командна кнопка (Command Button) |
Name |
cmdZ |
Caption |
Завершення роботи |
|
Етикетка (Label) |
Name |
lbl1 |
Caption |
Працює програма, |
|
BackColor |
білий |
|
Font |
14 пунктів, напівжирний курсив |
|
Етикетка (Label) |
Name |
lbl2 |
Caption |
яка дозволяє розрахувати ціну та калорійність однієї порції морозива |
|
BackColor |
білий |
|
Font |
12 пунктів, напівжирний |
Далі необхідно додати до проекту ще одну форму командою меню Project – Add Form, створити форму інформаційного повідомлення у відповідності з таблицею.
Об'єкт |
Властивість |
Значення |
Форма (Form) |
Name |
frmА |
Caption |
Програма - приклад |
|
BackColor |
білий |
|
Командна кнопка (Command Button) |
Name |
cmdОк |
Caption |
Ок |
|
Етикетка (Label) |
Name |
lbl1 |
Caption |
Автором програми є студент групи ОФФ 99 А Ляшенко М.Д. |
|
BackColor |
білий |
|
Font |
14 пунктів, напівжирний |
|
Етикетка (Label) |
Name |
lbl2 |
Caption |
тел.: (0622) 92 – 13 - 70 |
|
BackColor |
білий |
|
Font |
12 пунктів, напівжирний |
Додати ще одну форму, помісти на неї елементи управління та визначити властивості об’єктів як у таблиці.
Об'єкт |
Властивість |
Значення |
1 |
2 |
3 |
Форма (Form) |
Name |
frmR |
Caption |
Програма - приклад |
|
BackColor |
білий |
|
1 |
2 |
3 |
Командна кнопка (Command Button) |
Name |
cmdRoz |
Caption |
Розрахунок |
|
Командна кнопка (Command Button) |
Name |
cmdExit |
Caption |
Вихід |
|
Етикетка (Label) |
Name |
lblV |
BackColor |
білий |
|
Font |
12 пунктів, напівжирний |
|
AutoSize |
True |
|
Етикетка (Label) |
Name |
lblR |
Caption |
“” (порожній рядок) |
|
BackColor |
білий |
|
Font |
12 пунктів, напівжирний |
|
Alignment |
2 - Center |
|
Горизонтальна смуга прокручування (HscrollBar) |
Name |
hsbV |
Min |
75 |
|
Max |
250 |
|
SmallChange |
25 |
|
Група (Frame) |
Name |
fraOK |
Caption |
Основний компонент |
|
BackColor |
білий |
|
Font |
12 пунктів, напівжирний |
|
Перемикач (OptionButton) |
Name |
optO1 |
Caption |
Пломбір |
|
BackColor |
білий |
|
Font |
12 пунктів, напівжирний |
|
Value |
True |
|
Перемикач (OptionButton) |
Name |
optO2 |
Caption |
Вершкове |
|
BackColor |
білий |
|
Font |
12 пунктів, напівжирний |
|
Перемикач (OptionButton) |
Name |
optO3 |
Caption |
Молочне |
|
BackColor |
білий |
|
Font |
12 пунктів, напівжирний |
|
Група (Frame) |
Name |
fraD |
Caption |
Джем |
|
BackColor |
білий |
|
Font |
12 пунктів, напівжирний |
|
Перемикач (OptionButton) |
Name |
optD1 |
Caption |
полуничний |
|
BackColor |
білий |
|
Font |
12 пунктів, напівжирний |
|
Value |
True |
|
Перемикач (OptionButton) |
Name |
optD2 |
Caption |
вишневий |
|
BackColor |
білий |
|
Font |
12 пунктів, напівжирний |
1 |
2 |
3 |
Перемикач (OptionButton) |
Name |
optD3 |
Caption |
помаранчевий |
|
BackColor |
білий |
|
Font |
12 пунктів, напівжирний |
|
Перемикач (OptionButton) |
Name |
optD4 |
Caption |
немає |
|
BackColor |
білий |
|
Font |
12 пунктів, напівжирний |
|
Прапорець (CheckBox) |
Name |
chk1 |
Caption |
збиті вершки |
|
BackColor |
білий |
|
Font |
12 пунктів, напівжирний |
|
Прапорець (CheckBox) |
Name |
chk2 |
Caption |
шоколад |
|
BackColor |
білий |
|
Font |
12 пунктів, напівжирний |
|
Прапорець (CheckBox) |
Name |
chk3 |
Caption |
горіхи |
|
BackColor |
білий |
|
Font |
12 пунктів, напівжирний |
Активізувати головну форму frmMain, створити такий код програми:
Дані в рядку коду |
Коментар |
Private Sub cmdA_Click() |
Заголовок процедури, яка виконується після клацання кнопкою миші на кнопці Відомості про автора. |
frmMain.Hide |
До головної форми програми frmMain застосовується метод Hide – форма зникає з екрану. |
frmA.Show |
До інформаційної форми frmA застосовується метод Show – форма з’являється на екрані. |
End Sub |
Кінець процедури. |
Private Sub cmdR_Click() |
Заголовок процедури, яка виконується при клацанні кнопкою миші на кнопці Початок розрахунку. |
frmMain.Hide |
До головної форми програми frmMain застосовується метод Hide – форма зникає з екрану. |
frmR.Show |
До форми для визначення даних і виконання розрахунку ціни і поживності порції морозива frmR застосовується метод Show – форма з’являється на екрані. |
End Sub |
Кінець процедури. |
Private Sub cmdZ_Click() |
При клацанні на кнопці Завершення роботи |
End |
програма закінчує роботу. |
End Sub |
Кінець процедури. |
Для інформаційної форми потрібно створити код, як у таблиці.
Дані в рядку коду |
Коментар |
Private Sub cmdOk_Click() |
Заголовок процедури, яка виконується при клацанні кнопкою миші на кнопці Ок у інформаційному вікні. |
frmA. Hide |
До інформаційної форми frmA застосовується метод Hide – форма зникає з екрану. |
frmMain.Show |
До головної форми програми frmMain застосовується метод Show – форма з’являється на екрані. |
End Sub |
Кінець процедури. |
З формою для розрахунків слід пов’язати такий програмний код:
Дані в рядку коду |
Коментар |
1 |
2 |
Dim V, c, k |
Оголошення змінних V, c, k |
Private Sub frmR_Load() |
Заголовок процедури, яка виконується у зв’язку з подією Load – завантаженням форми frmR |
hsbV.Value = 75 |
Властивості Value горизонтальної лінійки прокручування hsbV привласнюється значення 75 – мінімальна вага порції морозива. |
V = 75 |
Змінній V привласнюється значення 75. |
lblV.Caption = "Вага морозива в порції - " + Str(V) + " гр." |
Властивості Caption етикетки lblV для виведення повідомленні про обрану вагу морозива в порції привласнюється відповідне значення – “Вага морозива в порції 75 гр.”. |
End Sub |
Кінець процедури. |
Private Sub hsbV_Change() |
Заголовок процедури, яка виконується якщо бігунок змінив місце розташування на смузі прокручування – відбулась подія Change. |
V = hsbV.Value |
Змінній V привласнюється значення властивості Value смуги прокручування, яке відповідає поточному місцю розташування бігунка. |
lblV.Caption = "Вага морозива в порції - " + Str(V) + " гр." |
Властивості Caption етикетки lblV для виведення повідомленні про обрану вагу морозива в порції привласнюється відповідне значення – “Вага морозива в порції V гр.”. |
End Sub |
Кінець процедури. |
Private Sub hsbV_Scroll() |
Заголовок процедури, яка виконується під час переміщення бігунка по смузі прокручування – відбувається подія Scroll. |
hsbV_Change |
Виконується процедура hsbV_Change, пов’язана зі зміною положення на смузі. |
End Sub |
Кінець процедури. |
1 |
2 |
Private Sub cmdExit_Click() |
Заголовок процедури, пов’язаної з кнопкою Вихід. |
frmR.Hide |
До форми frmR застосовується метод Hide – форма зникає з екрану. |
frmMain.Show |
До головної форми frmMain застосовується метод Show – форма з’являється на екрані. |
End Sub |
Кінець процедури. |
Private Sub cmdRoz_Click() |
Заголовок процедури, пов’язаної з кнопкою Розрахунок. |
If optO1.Value = True Then |
Якщо властивість Value перемикача optO1 (пломбір) має значення True (перемикач у стані включено), то |
c = V * 0.9 / 100 |
обчислюється ціна за морозиво за формулою V * 0.9 / 100 |
k = V |
обчислюється калорійність за формулою V |
Else |
інакше |
If optO2.Value = True Then |
якщо властивість Value перемикача optO2 (вершкове) має значення True (перемикач у стані включено), то |
c = V / 100 |
обчислюється ціна за морозиво за формулою V / 100 |
k = V * 110 / 100 |
обчислюється калорійність за формулою V * 110 / 100 |
Else |
інакше, коли можливим є тільки значення True властивості Value перемикача optO3 (молочне) |
c = V * 0.8 / 100 |
ціна морозива обчислюється як V * 0.8 / 100 |
k = V * 90 / 100 |
калорійність обчислюється за формулою k = V * 90 / 100 |
End If |
Кінець внутрішнього оператору If |
End If |
Кінець першого оператору If |
If optD1.Value = True Then |
Якщо властивість Value перемикача optD1 (полуничний) у групі fraD має значення True (перемикач у стані включено), то |
c = c + 0.3 |
до ціни порції додається 0,3 грн. |
k = k + 50 |
до калорійності додається 50 ккал. |
Else |
інакше |
If optD2.Value = True Then |
якщо властивість Value перемикача optD2 (вишневий) має значення True, то |
c = c + 0.25 |
до ціни порції додається 0,25 грн. |
k = k + 47 |
до калорійності додається 47 ккал. |
Else |
інакше |
If optD3.Value = True Then |
якщо властивість Value перемикача optD3 (помаранчевий) має значення True, то |
c = c + 0.4 |
до ціни порції додається 0,4 грн. |
k = k + 48 |
до калорійності додається 48 ккал. |
1 |
2 |
End If |
кінець If |
End If |
кінець If |
End If |
кінець If |
If chk1.Value = 1 Then |
Якщо властивість Value прапорця chk1 (збиті вершки) має значення 1 (перемикач у стані включено, True), то |
c = c + 0.7 |
до ціни додається 0,7 грн. |
k = k + 80 |
до калорійності додається 80 ккал. |
End If |
кінець If |
If chk2.Value = 1 Then |
Якщо властивість Value прапорця chk2 (шоколад) має значення 1 (перемикач у стані включено), то |
c = c + 0.5 |
до ціни додається 0,5 грн. |
k = k + 120 |
до калорійності додається 120 ккал. |
End If |
кінець If |
If chk3.Value = 1 Then |
Якщо властивість Value прапорця chk3 (горіхи) має значення 1 (перемикач у стані включено), то |
c = c + 0.9 |
до ціни додається 0,9 грн. |
k = k + 130 |
до калорійності додається 130 ккал. |
End If |
кінець If |
lblR.Caption = "Ціна порції - " + Str(c) + " грн. (калорійність - " + Str(k) + " ккал.)" |
Властивості Caption етикетки lblR привласнюється нове значення – результат конкатенації (об’єднання) текстових рядків "Ціна порції - ", Str(c), " грн. (калорійність - ", Str(k) і " ккал.)" |
End Sub |
Кінець процедури. |