Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОБЩИЙ_файл_ПОСОБИЕ.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
22.69 Mб
Скачать

У результаті виконання процедури на формі (у текстовому полі TxtРешта) відобразиться здача й користувачеві буде видане повідомлення про результати покупки або необхідності доплати за покупку.

Підготовка робочого місця до обслуговування чергового покупця

На рис. 5.23 наведено програмний код процедури підготовки робочого місця до роботи при настанні події – клацання по кнопці на формі CmdОчистити.

'Процедура підготовки робочого місця

Private Sub CmdОчистити_Click()

TxtКількість.Text = Empty

TxtЦіна.Text = Empty

TxtОплата.Text = Empty

TxtГотівка.Text = Empty

TxtЗдача.Text = Empty

LblРезультат.Caption = Empty

TxtГотівка.BackColor = vbWhite

End Sub

Рис. 5.23. Процедура підготовки робочого місця

У результаті виконання процедури на формі будуть очищені текстові поля TxtЦіна, TxtКількість, TxtОплата, TxtГотівка, TxtЗдача і напису LblРезультат.

Реалізація проекту

1. Запустити на виконання VBA для створення нового проекту.

2. Побудувати форму відповідно до проекту.

3. Двічі клацнути на формі й у вікні коду процедури UserForm_Initialize ввести відповідні оператори.

4. Двічі клацнути на кнопці CmdРозрахунок і у вікні коду процедури CmdРозрахунок_Click ввести відповідні оператори.

5. Двічі клацнути на текстовому полі TxtГотівка і у вікні коду процедури Txtналичные_Click замінити подію Click на подію Exit зі списку подій і ввести відповідні оператори в заготовку процедури.

6. Двічі клацнути на кнопці CmdОчистити і у вікні коду процедури CmdОчистити_Click ввести відповідні оператори.

Аналіз проекту

У коді програми застосовується принцип явного опису змінних. Із цією метою на початку коду використовується оператор Option Explicit.

Оскільки змінні CurZina, CurVartist, CurOpl, CurGotivka, CurZdasha, CurPorig, SngZn1, SngZn2, SngZn3 використовуються в декількох процедурах, то вони поміщені в коді програми перед всіма процедурами й оголошені глобально з використанням оператора Public.

У процедурі UserForm_Initialize використані вбудовані функції Date і Time, за допомогою яких визначаються поточна дата й час.

Установка повзунка лінійки прокрутки в положення, що відповідає поточному дню тижня, забезпечується присвоєнням властивості Value елемента управління ScrollBar номера дня тижня. Цей номер у процедурі визначається за допомогою функції WeekDay(Date) і однорядкового оператора If.

Процедура cmdРозрахунок_Click призначена для обчислення вартості придбаних товарів з урахуванням передбачених знижок. Введення вхідних даних у процедурі здійснюється за допомогою операторів CCur() і CInt().

Для визначення розміру знижок на обсяг покупки використаний однорядковий оператор If. Розмір знижок залежно від типу покупця визначається з використанням розширеної блокової форми оператора If, а знижки на день тижня – з використанням оператора вибору Select Case.

Процедура TxtГотівка_Exit запускається при переводі курсору в будь-яке інше місце форми, що відповідає зняттю фокуса з поля TxtГотівка, і призначена для розрахунку здачі й вивіду результатів.

Для формування повідомлення у випадку недоплати покупцем використовується функція IIf.

У процедурі підготовки робочого місця до роботи CmdОчистити_Click() використана константа Empty для очищення елементів управління, що використовувались для відображення вхідних та вихідних даних.