Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LR4_Cikl_VBA.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
774.66 Кб
Скачать

В результате выполнения процедуры на форме (в текстовом поле TxtОплата) отобразится сумма к оплате за купленный товар.

Расчет сдачи и вывод результата

На рис. 4.11 представлен программный код процедуры расчета сдачи и вывода результата в виде сообщения при наступлении события – снятие фокуса с текстового поля TxtНаличные (для VB-6.0 – LostFocus, а для VBA – Exit).

Private Sub TxtНаличные_Exit(ByVal Cancel As _ MSForms.ReturnBoolean)

'Расчет сдачи

CurNalich = CCur(TxtНаличные.Text)

CurSdacha = CurNalich – CurStoimost

TxtСдача.Text = Format(CurSdacha, "# ##0.00")

End Sub

Рис. 4.11. Процедура расчета сдачи и вывода результата

В результате выполнения процедуры на форме (в текстовом поле TxtСдача) отобразится сдача.

Подготовка рабочего места к обслуживанию очередного покупателя

На рис. 4.12 представлен программный код процедуры подготовки рабочего места к работе при наступлении события – щелчок по кнопке «Сброс» (CmdСброс) на форме.

'Подготовка рабочего места к работе со следующим покупателем

Private Sub CmdСброс_Click()

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

TxtНаличные.Text = Empty

TxtОплата.Text = Empty

TxtСдача.Text = Empty

End Sub

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

В результате выполнения процедуры на форме будут очищены текстовые поля TxtОплата, TxtНаличные, TxtСдача и надписи LblРезультат.

7. Реализация проекта

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

2. Построить форму согласно проекту.

3. Дважды щелкнуть на кнопке Расчет и в открывшемся окне кода в заготовку процедуры CmdРасчет_Click ввести соответствующие операторы.

4. Дважды щелкнуть на текстовом поле TxtНаличные и в открывшемся окне кода в заготовке процедуры TxtНаличные_Click заменить событие Click на событие Exit из раскрывающегося списка событий и ввести соответствующие операторы в заготовку процедуры.

6. Дважды щелкнуть на кнопке Сброс и в открывшемся окне кода в заготовку процедуры CmdСброс_Click ввести соответствующие операторы.

8. Анализ проекта

Процедура cmdРасчет_Click предназначена для вычисления стоимости приобретенных товаров с учетом предусмотренных скидок.

Для организации повторений по вводу и обработке данных для каждой покупки используется цикл Do Loop, поскольку заранее не известно количество покупок. Так как возможен случай, когда не произведено ни одной покупки, применяется конструкция While с верхним окончанием (цикл с предусловием).

В качестве условия повторения использовано сравнение

MsgBox("Будут еще покупки?", vbQuestion + vbYesNo, _

"Покупки") = vbYes

Действие встроенной функции MsgBox состоит в вызове окна сообщений, в котором выводится заданное сообщение (первый параметр) и заголовок (третий параметр). В окне сообщений могут выводиться различные рисунки и кнопки, которые определяются суммой соответствующих констант (второй параметр). Названия констант запоминать не нужно, т.к. они выводятся при задании соответствующего параметра в виде подсказок. Второй параметр можно опустить, тогда на окне сообщений выводится только кнопка «ОК».

Если же в окне сообщений несколько кнопок, то пользователь может нажать любую из них. В этом случае значением функции MsgBox будет соответствующая этой кнопке константа. Названия констант-результатов также выводятся в виде подсказок. В условии после слова While проверяется, нажата ли кнопка «Да» (MsgBox(…) = vbYes).

Для ввода исходных данных цены и количества по каждому виду товара используется функция InputBox, которая вызывает диалоговое окно ввода, на котором выводится подсказка (первый параметр) и заголовок (второй параметр). Нужное значение вводится в поле ввода на этом окне. Ввод значения завершается нажатием кнопки «ОК».

Значением функции является введенное пользователем значение. Оно имеет строковый тип. Для преобразования в нужный числовой тип используются функции CСur (для цены – в денежный тип) и CInt (для количества – в целый тип).

Процедура TxtНаличные_Exit запускается при переводе курсора в любое другое место формы, что соответствует снятию фокуса с поля TxtНаличные, и предназначена для расчета сдачи и вывода результатов.

В процедуре подготовки рабочего места к работе CmdСброс_Click() использована константа Empty для обнуления результатов расчетов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]