Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_VB_Палагута.doc
Скачиваний:
2
Добавлен:
14.11.2019
Размер:
15.15 Mб
Скачать

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

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

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