Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Модуль 1_VBasic

.pdf
Скачиваний:
21
Добавлен:
22.02.2016
Размер:
5.61 Mб
Скачать

This document is created with trial version of Document2PDF Pilot 2.16.100.

7.2 Робота з формами. Поняття методу

Програма, розроблена засобами Visual Basic, може містити декілька форм. Щоб додати до проекту нову форму, потрібно виконати команду меню Project - Add Form. При завантаженні форми з нею відбувається подія Load. Таким чином можна створити пов’язану з формою процедуру, яка буде виконуватись при завантаженні форми. Для роботи з формами й іншими об'єктами можуть використовуватися методи.

Метод визначає деяку дію, що може бути виконана з об'єктом, але на відміну від процедури вона нерозривно пов'язана з об'єктом, якому він належить. Методи адекватні створеними раніше процедурам, що можуть бути виконані стосовно деяких об'єктів. Наприклад, застосування методу Cls стосовно форми призводить до очищення форми. Об'єднання імені об'єкта і через точку імені методу дає ім'я існуючої процедури, що виконує визначені дії з об'єктом. Кожний об'єкт у середовищі Visual Basic володіє не тільки набором властивостей, але супутнім набором стандартних процедур, які називаються методами. Для форм можуть бути застосовані методи Show - показати форму, Hide - сховати форму (прибрати з екрана).

Якщо в програмі є декілька форм і змінні, які створюються чи редагуються в одній формі, використовуються в інших формах, то такі змінні слід оголошувати як глобальні. Для цього до проекту слід додати модуль командою меню Project Add Module, у вікні модуля оголосити змінні після зарезервованого слова Global. Приклади оголошення глобальних змінних:

Global Х

Global Zap As String

Приклад програми

Щоб розглянути на прикладі використання елементів управління в формах, слід створити програму, у ході виконання якої можна розрахувати ціну та пож ивність порції морозива на основі визначених вхідних даних. Основним компонентом порції може бути морозиво одног о з трьох видів, у кількості від 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

Причому, якщо можна обрати лише один з видів джемів, інші інгредієнти можна включати у порцію за смаком.

This document is created with trial version of Document2PDF Pilot 2.16.100.

Програма повинна включати 3 форми. Перша основна форма з’являється при запуску програми, дозволяє перейти до розрахунку, вивести інформацію про автора програми, завершити роботу (рис.7.1. а). Форма з відомостями про автора (рис.7.1. б) з’являєтьс я після натиснення кнопки Відомості про автора. Після знайомства з інформаційним вікном натисненням кнопки Ок можна повернутись до головного вікна програми. Третє вікно використовується для введення даних, виконання розрахунку (рис.7.1. в).

а)

б)

в)

Рисунок 7.1 - Вікна програми – приклада використання декількох форм, різних елементів управління

При розв’язанні задачі використовуються такі змінні: V – вага морозива в порції;

C – ціна порції;

K – калорійність.

Блок-схема розв’язання задачі подана на рис.7.2.

This document is created with trial version of Document2PDF Pilot 2.16.100.

Початок

Введення початкових даних: вид морозива, вага

Обрано пломбір?

так

 

ні

 

 

 

 

 

 

C=V*0.9/100

 

 

 

 

K=V

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

так

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обрано вершкове?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ні

 

 

 

 

 

 

C=V

K=V*110/100

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

так

 

 

 

 

 

 

 

Обрано молочне?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ні

 

 

 

 

 

 

C=V*0.8/100

K=V*90/100

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

так

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обрано полу-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нич.джем?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ні

 

 

 

 

 

 

C=C+0.3

 

K=K+50

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

так

 

 

 

 

 

 

 

Обрано вишневий

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

джем?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C=C+0.25

 

K=K+47

 

 

ні

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

так

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обрано пома-ранчевий

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

джем?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ні

 

 

 

 

 

 

C=C+0.4

 

K=K+48

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

так

Додати

збиті

C=C+0.7 K=K+80

ні

так

Додати

шоколад?

C=C+0.5 K=K+120

ні

так

Додати

горіхи?

C=C+0.9 K=K+130

ні

Рисунок 7.2 - Блок-схема розв’язання задачі

Друкуван-ня

Кінець

C, K

This document is created with trial version of Document2PDF Pilot 2.16.100.

На етапі візуальної розробки програми слід створити головну форму frmMain у відповідності з описом, наданим у таблиці.

Об'єкт

 

Властивість

 

Значення

Форма (Form)

 

Name

frmMain

 

 

 

 

 

 

 

Caption

Програма - приклад

 

 

BackColor

білий

 

Командна кнопка

 

Name

cmdR

 

(Command Button)

 

Caption

Початок розрахунку

Командна кнопка

 

Name

cmdA

 

(Command Button)

 

Caption

Відомості про автора

Командна кнопка

 

Name

cmdZ

 

(Command Button)

 

Caption

Завершення роботи

Етикетка (Label)

 

Name

lbl1

 

 

 

Caption

Працює програма,

 

 

BackColor

білий

 

 

 

Font

14 пунктів, напівжирний курсив

Етикетка (Label)

 

Name

lbl2

 

 

 

Caption

яка дозволяє розрахувати ціну та калорійність

 

 

 

однієї порції морозива

 

 

BackColor

білий

 

 

 

Font

12 пунктів, напівжирний

Далі необхідно додати до проекту ще одну

форму командою меню

Project – Add

Form, створити форму інформаційного повідомлення у

відповідності з таблицею.

 

 

Об'єкт

 

Властивість

 

Значення

Форма (Form)

 

Name

frmА

 

 

 

 

 

 

 

Caption

Програма - приклад

 

 

BackColor

білий

 

Командна кнопка

 

Name

cmdОк

 

(Command Button)

 

Caption

Ок

 

Етикетка (Label)

 

Name

lbl1

 

 

 

Caption

Автором програми є студент групи ОБ 05 А

 

 

 

Коваль Ф.(записати свою групу ТКДП)

 

 

BackColor

білий

 

 

 

Font

14 пунктів, напівжирний

Етикетка (Label)

 

Name

lbl2

 

 

 

Caption

тел.: (0622) 304 – 13 - 70

 

 

BackColor

білий

 

 

 

Font

12 пунктів, напівжирний

Додати ще одну форму, помісти на неї елементи управління та визначити властивості об’єктів як у таблиці.

Об'єкт

Властивість

Значення

1

2

3

Форма (Form)

Name

frmR

 

Caption

Програма - приклад

 

BackColor

білий

Командна кнопка

Name

cmdRoz

(Command Button)

Caption

Розрахунок

Командна кнопка

Name

cmdExit

(Command Button)

Caption

Вихід

Етикетка (Label)

Name

lblV

 

BackColor

білий

 

Font

12 пунктів, напівжирний

This document is created with trial version of Document2PDF Pilot 2.16.100.

1

2

3

 

AutoSize

True

Етикетка (Label)

Name

lblR

 

Caption

ëû” (порожній рядок)

 

BackColor

білий

 

Font

12 пунктів, напівжирний

 

Alignment

2 - Center

Горизонтальна смуга

Name

hsbV

прокручування (HscrollBar)

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 пунктів, напівжирний

Перемикач (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 пунктів, напівжирний

This document is created with trial version of Document2PDF Pilot 2.16.100.

Активізувати головну форму 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 застосовується метод

End Sub

 

Show – форма з’являється на екрані.

Кінець процедури.

Private Sub cmdZ_Click()

При клацанні на кнопці Завершення роботи

End

програма закінчує роботу.

End Sub

Кінець процедури.

Для інформаційної форми потрібно створити код, як у таблиці.

Дані в рядку коду

 

Коментар

Private Sub cmdOk_Click()

Заголовок процедури, яка виконується при клацанні кнопкою

 

миші на кнопці Ок у інформаційному вікні.

frmA. Hide

 

До інформаційної форми frmA

 

 

застосовується метод Hide – форма зникає з

 

 

екрану.

frmMain.Show

 

До головної форми програми frmMain

 

 

застосовується метод Show – форма

End Sub

 

з’являється на екрані.

Кінець процедури.

З формою для розрахунків слід пов’язати такий програмний код:

Дані в рядку коду

 

Коментар

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 = "Вага морозива в

Властивості Caption етикетки lblV для виведення

порції - " + Str(V) + " гр."

 

повідомленні про обрану вагу морозива в порції

 

привласнюється відповідне значення – “Вага морозива в

End Sub

 

порції 75 гр.”.

 

Кінець процедури.

This document is created with trial version of Document2PDF Pilot 2.16.100.

 

1

2

 

Private Sub hsbV_Change()

Заголовок процедури, яка виконується якщо бігунок

 

 

змінив місце розташування на смузі прокручування –

 

 

відбулась подія Change.

 

V = hsbV.Value

 

Змінній V привласнюється значення властивості Value

 

 

смуги прокручування, яке відповідає поточному місцю

 

 

розташування бігунка.

 

lblV.Caption =

"Вага морозива в

Властивості Caption етикетки lblV для виведення

порції - " + Str(V) + " гр."

повідомленні про обрану вагу морозива в порції

привласнюється відповідне значення – “Вага морозива в

End Sub

 

порції V гр.”.

 

 

Кінець процедури.

 

Private Sub hsbV_Scroll()

Заголовок процедури, яка виконується під час

 

 

переміщення бігунка по смузі прокручування –

 

 

відбувається подія Scroll.

 

hsbV_Change

 

Виконується процедура hsbV_Change, пов’язана зі

End Sub

 

зміною положення на смузі.

 

 

Кінець процедури.

 

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 (пломбір) має

c = V * 0.9 / 100

 

значення True (перемикач у стані включено), то

 

обчислюється ціна за морозиво за формулою

 

 

V * 0.9 / 100

 

k = V

 

обчислюється калорійність за формулою V

 

Else

 

інакше

 

If optO2.Value = True Then

якщо властивість Value перемикача optO2 (вершкове) має

c = V / 100

 

значення True (перемикач у стані включено), то

 

обчислюється ціна за морозиво за формулою

k = V * 110 / 100

V / 100

 

обчислюється калорійність за формулою

 

Else

 

V * 110 / 100

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 (вишневий) має

c = c + 0.25

 

значення True, то

 

 

до ціни порції додається 0,25 грн.

 

k = k + 47

Else

до калорійності додається 47 ккал.

інакше

This document is created with trial version of Document2PDF Pilot 2.16.100.

1

 

2

If optD3.Value = True Then

 

якщо властивість Value перемикача optD3 (помаранчевий)

c = c + 0.4

 

має значення True, то

 

до ціни порції додається 0,4 грн.

k = k + 48

 

до калорійності додається 48 ккал.

End If

 

кінець If

End If

 

кінець If

End If

 

кінець If

If chk1.Value = 1 Then

 

Якщо властивість Value прапорця chk1 (збиті вершки)

c = c + 0.7

 

має значення 1 (перемикач у стані включено, True), то

 

до ціни додається 0,7 грн.

k = k + 80

 

до калорійності додається 80 ккал.

End If

 

кінець If

If chk2.Value = 1 Then

 

Якщо властивість Value прапорця chk2 (шоколад) має

c = c + 0.5

 

значення 1 (перемикач у стані включено), то

 

до ціни додається 0,5 грн.

k = k + 120

 

до калорійності додається 120 ккал.

End If

 

кінець If

If chk3.Value = 1 Then

 

Якщо властивість Value прапорця chk3 (горіхи) має

c = c + 0.9

 

значення 1 (перемикач у стані включено), то

 

до ціни додається 0,9 грн.

k = k + 130

 

до калорійності додається 130 ккал.

End If

 

кінець If

lblR.Caption = "Ціна порції

- " +

Властивості Caption етикетки lblR привласнюється

Str(c) + " грн. (калорійність

- " +

нове значення – результат конкатенації (об’єднання)

Str(k) + " ккал.)"

 

текстових рядків "Ціна порції - ", Str(c), " грн.

 

(калорійність - ", Str(k) і " ккал.)"

End Sub

 

Кінець процедури.

8. Завдання для лабораторної роботи № 5 на тему "Використання елементів управління в програмах. Робота з формами. Поняття методу”.

Розробити програму за індивідуальним варіантом. При розробці програми слід створити форми, програмний код, перевірити дію програми. Далі необхідно зберегти програму на магнітному диску, надр укувати форми та код програми. Звіт про роботу повинен вміщувати:

-блок-схему алгоритмічного процесу розв’язання задачі;

-роздруковані форми програми;

-роздрукований код програми.

Варіант №1

This document is created with trial version of Document2PDF Pilot 2.16.100.

Створити програму, під час виконання якої користувач може:

ввести закупівельну ціну товару;

обрати товарну групу;

визначити продається товар зі знижкою в 3% чи ні;

розрахувати ціну продажу товару.

Для товарів групи одягу ціна збільшується на 10%, взуття – на 20 %, інші товари – 15%.

Варіант №2

Створити програму, під час виконання якої користувач може:

визначити оклад співробітника підприємства за допомогою смуги прокручування;

ввести данні про кількість робочих днів у місяці;

ввести данні про кількість робочих днів, що відпрацьовані даним співробітником у поточному місяці;

розрахувати суму до виплати співробітникові.

При розрахунку слід: визначити суму нарахованої

заробітної плати пропорційно окладу, кількості відпрацьованих днів, зворотно пропорційно кількості робочих днів у місяці;

відрахувати суму прибуткового податку, який обчислюється за ставкою 13% від суми нарахованої заробітної плати;

зменшити суму, яка видається співробітникові, на суму відрахувань у пенсійний фонд: якщо заробітна плата складає менше ніж 150 грн., то сума відрахувань складає 1% від нарахованої заробітної плати, більше 150 грн. – 2%;

зменшити суму до виплати на суму відрахувань у фонд зайнятості – 0,05% від суми нарахованої заробітної плати.

This document is created with trial version of Document2PDF Pilot 2.16.100.

Варіант №3

Створити програму, під час виконання якої користувач може:

ввести суму первинного вкладу, кількість періодів (років) зберігання грошей на рахунку в банку;

обрати за допомогою списку, що розчиняється, один з трьох видів вкладу: звичайний – 5% річних, ветеранський – 10 % річних, терміновий – 8% річних ;

після натискання на кнопці Розрахунок визначити суму грошей на рахунку в банку після визначеного терміну зберігання.

Варіант №4

Створити програму, під час виконання якої користувач може:

визначити за допомогою смуги прокручування фонд заробітної плати підприємства (число у діапазоні від 1

до 30000);

обрати один з видів нарахувань на фонд заробітної плати – пенсійний фонд (32% від фонду заробітної плати), фонд соціального страхування (4% від фонду заробітної плати) або фонд страхування на випадок безробіття (1,5% від фонду заробітної плати);

розрахувати значення обраного показника.