Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Щоб розглянути на прикладі використання елементів управління в формах, слід створити програму, у ході виконання якої можна розрахувати ціну та поживність порції морозива на основі визначених вхідних даних. Основним компонентом порції може бути морозиво одного з трьох видів, у кількості від 75 до 250 гр.
Вид морозива | Ціна за 100 гр. | Калорійність, ккал. на 100 гр. продукту |
Пломбір | 0,90 грн. | |
Вершкове | 1 грн. | |
Молочне | 0,80 грн. |
Порція морозива може також вміщувати:
Додаток | Ціна | Калорійність, ккал. |
Джем полуничний | 0,30 грн. | |
Джем вишневий | 0,25 грн. | |
Джем помаранчевий | 0,40 грн. | |
Збиті вершки | 0,70 грн. | |
Шоколад | 0,50 грн. | |
Горіхи | 0,90 грн. |
Причому, якщо можна обрати лише один з видів джемів, інші інгредієнти можна включати у порцію за смаком.
Програма повинна включати 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 пунктів, напівжирний |
Додати ще одну форму, помісти на неї елементи управління та визначити властивості об’єктів як у таблиці.
Об'єкт | Властивість | Значення |
Форма (Form) | Name | frmR |
Caption | Програма - приклад | |
BackColor | білий | |
Командна кнопка (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 | ||
Max | ||
SmallChange | ||
Група (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 пунктів, напівжирний |
Активізувати головну форму 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 | Кінець процедури. |
З формою для розрахунків слід пов’язати такий програмний код:
Дані в рядку коду | Коментар |
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 | Кінець процедури. |
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 ккал. |
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 | Кінець процедури. |
3.2 Контрольні запитання
1. Як використовуються лінійки прокручування в програмах, створених мовою Visual Basіc?
2. Як відрізняються перемикачі в області діалогу?
3. Для чого застосовується об’єкт Група (Frame) у формах?
4. Як у коді програми аналізувати стан прапорців?
5. Як визначити, яке значення обрано зі списку, що розчиняється?
6. Що таке метод? Які методи Вам відомі?
7. Для чого і як оголошуються глобальні змінні?
3.4 Практичні завдання
Дата публикования: 2014-12-28; Прочитано: 181 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!