Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Приклад програми з використанням



підпрограм, вікон повідомлень

Як приклад розглядається програма, яка дозволить ввести данні в масив записів з полями для збереження прізвищ та ініціалів співробітників, сум нарахованої заробітної плати. При введенні значень нарахованої заробітної плати програма повинна перевіряти значення і, якщо введено від’ємне число видавати повідомлення та знищувати уміст текстового поля. Командами меню Вікно користувач повинен мати змогу Очистити таблицю, підсумок або таблицю і підсумок, завершити роботу програми. Режим меню Розрахунок дає змогу визначити суму нарахування з фонду заробітної плати у пенсійний фонд (32% від загальної суми нарахувань), у фонд соціального страхування (4,4% від загальної суми нарахувань), у фонд зайнятості (0,5% від загальної суми нарахувань).

Рисунок 5.1 - Види вікна програми – приклада

На етапі візуальної розробки програми слід створити форму, розташувати на неї елементи управління, визначити їх властивості у відповідності з даними таблиці:

Об’єкт Властивість Значення
Форма (Form) Name frmMain
Caption Виплати з фонду заробітної плати
Font Times New Roman, 12 п., напівжирний
Етикетка (Label) Name lblZag
Caption Введіть дані для розрахунку:
Font курсив
Етикетка (Label) Name lblNamе
Caption П І Б
Етикетка (Label) Name lblN
Caption Нараховано
Етикетка (Label) Name lblRez
Caption “_”
Масив текстових полів (TextBox) Name txtName(0¸4)
Text “_”
Index 0¸4
Масив текстових полів (TextBox) Name txtN(0¸4)
Text “_”
Index 0¸4

Далі слід розчинити вікно редактору меню командою ToolsMenu Editor, створити таке меню програми:

Caption Name Структура меню
Вікно mnuWind Вікно
Очистка mnuClear ....Очистка
таблиця mnuTabl ........ таблиця
підсумок mnuPid ........ підсумок
таблиця та підсумок mnuTablPid ........ таблиця та підсумок
Вихід mnuExit ....Вихід
Розрахунок mnuRoz Розрахунок
Пенсійний фонд mnuPF ....Пенсійний фонд
Фонд соціального страхування mnuSS ....Фонд соціального страхування
Фонд зайнятості mnuFZ ....Фонд зайнятості

Щоб накопичити дані в масиві, організувати перевірку даних, що вводяться, на невід’ємність, масив слід оголосити, створити таку процедуру.

Дані в рядку коду Коментар
Dim Z(5) Оголошення в розділі General Declaration масиву Z, у якому 5 елементів.
Private Sub txtN_Change(Index As Integer) Заголовок процедури, яка виконується коли зміниться вміст будь-якого елементу масиву txtN, відбудеться подія Change. Процедура приймає значення 1-го параметра – значення властивості Index конкретного елементу, що змінився.
If Val(txtN(Index).Text) < 0 Then Якщо властивість Text елементу масиву txtN з індексом Index менш ніж 0, то
Povid Index виконується процедура Povid, яка приймає значення змінної Index як фактичний параметр
Else інакше
Z(Index) = Val(txtN(Index).Text) у відповідний елемент масиву змінних Z записується значення нарахованої заробітної плати співробітникові, яке попередньо перетворюється функцією Val на числове
End If Кінець оператору If
End Sub Кінець процедури

Для створення нової процедури Povid, яка повинна виводити повідомлення у випадку, якщо в полі нарахувань введено від’ємне число, слід перебуваючи у вікні коду виконати команду меню ToolsAdd Procedure. У вікні діалогу треба ввести ім’я процедури, обрати перемикачі Sub, Public. До коду програми буде добавлено заголовок і останній рядок процедури, далі слід визначити параметри процедури і її вміст як у таблиці:

Дані в рядку коду Коментар
Public Sub Povid(I As Integer) Параметром процедури є змінна I типу Integer
MsgBox "У чарунку введено від’ємне значення!", 0 + 64, "Увага!" Оператором MsgBox виводиться таке вікно повідомлення:
 
txtN(I).Text = " " Після натиснення на кнопці Ок буде знищено вміст елементу масиву тестових полів txtN з індексом, який буде прийнято як фактичний параметр процедури
End Sub Кінець процедури

Наступним кроком створення програми може бути створення процедур, які пов’язані з командами режиму меню ВікноОчистити: таблицю, підсумок або таблицю і підсумок, Вихід.

Дані в рядку коду Коментар
Private Sub mnuExit_Click() Процедура завершує роботу програми, якщо в меню обрано команду Вихід.
End
End Sub
Public Sub ClearTabl() Заголовок процедури ClearTabl, яку слід створити для знищення вмісту елементів масивів текстових полів командою Tools – Add Procedure.
For I = 0 To 4 Для і, що змінюється від 0 до 4
Z(I) = 0 елементу масиву змінних Z привласнюється значення 0
txtName(I).Text = " " уміст і-го елементу текстових полів txtName для введення ПІП знищується
txtN(I).Text = " " уміст і-го елементу текстових полів txtN для введення нарахованих сум заробітної плати знищується
Next Кінець циклу
End Sub Кінець процедури
Public Sub ClearlPid() Заголовок процедури ClearlPid, яку слід створити для знищення вмісту етикетки для виведення результатів командою Tools – Add Procedure.
lblRez.Caption = " " Знищення вмісту етикетки lblRez.
End Sub Кінець процедури
Private Sub mnuTabl_Click() Процедура, яку буде виконано, якщо в меню обрано команду Вікно – Очистити – таблицю.
ClearTabl Виклик процедури ClearTabl для знищення вмісту таблиці.
End Sub Кінець процедури
Private Sub mnuPid_Click() Процедура, яку буде виконано, якщо в меню обрано команду Вікно – Очистити – підсумок.
ClealPid Виклик процедури ClealPidдля знищення вмісту етикетки з підсумком.
End Sub Кінець процедури
Private Sub mnuTablPid_Click() Процедура, яку буде виконано, якщо в меню обрано команду Вікно – Очистити – таблицю і підсумок.
ClearTabl Виклик процедури ClearTabl для знищення вмісту таблиці.
ClealPid Виклик процедури ClealPidдля знищення вмісту етикетки з підсумком.
End Sub Кінець процедури

Для виконання розрахунків пропонується створити функцію RozSum командою меню Tools – Add Procedure, у вікні діалогу команди слід ввести ім’я функції, обрати перемикачі Function, Public. Далі треба створити коди процедур, які пов’язані з командами режиму Розрахунок.

Дані в рядку коду Коментар
Public Function RozSum(V As Single) Функція RozSum приймає один параметр – число типу Single, яке буде розміщено в змінній V. Змінна V буде вміщувати відсоток для розрахунку певного виду виплат з фонду соціального страхування.
RozSum = 0 Імені функції привласнюється значення 0.
For I = 0 To 4 Для і, що змінюється від 0 до 4,
RozSum = RozSum + Z(I) Функції RozSum привласнюється значення – RozSum + значення і-го елементу масиву змінних Z
Next Кінець циклу.
RozSum = RozSum * V Імені функції привласнюється значення – RozSum* V.
End Function Кінець функції.
Private Sub mnuPF_Click() Процедуру буде виконано, якщо в меню обрано команду Розрахунок – Пенсійний фонд.
lblRez.Caption = "Нараховано в пенсійний фонд " + Str(RozSum(0.32)) + " грн." Властивості Caption етикетки для виведення результату lblRez привласнюється результат конкатенації рідка символів "Нараховано в пенсійний фонд "; результату, який повертає функція RozSum(0.32) для аргументу 0,32, що перетворено до символьного типу функцією Str(); рядка символів " грн.".
End Sub Кінець процедури.

Private Sub mnuSS_Click() Процедуру буде виконано, якщо в меню обрано команду Розрахунок –Фонд соціального страхування.
lblRez.Caption = "Нараховано в фонд соціального страхування " + Str(RozSum(0.044)) + " грн." Властивості Caption етикетки для виведення результату lblRez привласнюється результат конкатенації рідка символів "Нараховано в фонд соціального страхування "; результату, який повертає функція RozSum(0.044) для аргументу 0,044, що перетворено до символьного типу функцією Str(); рядка символів " грн.".
End Sub Кінець процедури.
Private Sub mnuZan_Click() Процедуру буде виконано, якщо в меню обрано команду Розрахунок –Фонд зайнятості.
lblRez.Caption = "Нараховано в фонд зайнятості " + Str(RozSum(0.005)) + " грн." Властивості Caption етикетки для виведення результату lblRez привласнюється результат конкатенації рідка символів "Нараховано в фонд зайнятості "; результату, який повертає функція RozSum(0.005) для аргументу 0,005, що перетворено до символьного типу функцією Str(); рядка символів " грн.".
End Sub Кінець процедури.

5.3 Контрольні запитання

1. Коли слід створювати підпрограми?

2. Чим відрізняються підпрограми – процедури від підпрограм – функцій?

3. Як виконати процедуру?

4. Як можна використовувати результат, що повертає функція?

5. Що визначає параметр CodKey процедури MsgBox, функції MsgBox()?

6. Для чого використовується параметр CodIcon у процедурі MsgBox, функції MsgBox()?

7. Як проаналізувати обрану користувачем кнопку у вікні повідомлення, в залежності від виробу виконати різні дії?

5.4 Практичні завдання





Дата публикования: 2014-12-28; Прочитано: 271 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.011 с)...