Сообщений вывода результата
Поскольку ввод и вывод осуществляется с помощью специальных окон, на форме имеется только одна кнопка, нажатием на которую начинается процесс определения стоимости покупок (рис. 6.6).
Рис. 6.6. Форма для расчета стоимости покупок
Код программы
В процедуре, которая обрабатывает событие "Щелчок на кнопке «Вычислить»", используются следующие операторы:
Option Explicit
Private Sub cmdВычислить_Click()
'Описание переменных
Dim curЦена As Currency, _
intКоличество As Integer, _
i As Integer, _
curS As Currency
curS = 0 'Общая стоимость
i = 0 'Номер покупки
'Цикл по обработке покупок
Do While MsgBox("Будут еще покупки?", vbQuestion + vbYesNo, _
"Покупки") = vbYes 'Условие продолжения
i = i + 1
'Ввод цены и количества
curЦена = CCur(InputBox("Введите цену", _
i & "-й товар"))
intКоличество = CInt(InputBox("Введите количество", _
i & "-й товар"))
'Вычисление общей стоимости
curS = curS + curЦена * intКоличество
Loop 'Конец цикла
'Вывод результата
MsgBox "Стоимость всех покупок " _
& Format(curS, "0.00") & " грн.", , _
"Благодарим за покупки"
End Sub
Анализ проекта
Объявление переменных осуществляется в операторе Dim. Их имена и типы соответствуют параметрам, указанным в п. 6.3.4.
Для организации повторений по вводу и обработке данных для каждой покупки используется цикл Do Loop, поскольку заранее не известно количество покупок. Так как возможен случай, когда не произведено ни одной покупки, применяется конструкция While с верхним окончанием (цикл с предусловием).
В качестве условия повторения использовано сравнение
MsgBox("Будут еще покупки?", vbQuestion + vbYesNo, _
"Покупки") = vbYes
Действие встроенной функции MsgBox состоит в вызове окна сообщений, в котором выводится заданное сообщение (первый параметр) и заголовок (третий параметр). В окне сообщений могут выводиться различные рисунки и кнопки, которые определяются суммой соответствующих констант (второй параметр). Названия констант запоминать не нужно, т.к. они выводятся при задании соответствующего параметра в виде подсказок. Второй параметр можно опустить, тогда на окне сообщений выводится только кнопка «ОК».
Если же в окне сообщений несколько кнопок, то пользователь может нажать любую из них. В этом случае значением функции MsgBoxбудет соответствующая этой кнопке константа. Названия констант-результатов также выводятся в виде подсказок. В условии после слова While проверяется, нажата ли кнопка «Да» (MsgBox(…)=vbYes).
Функция MsgBox может использоваться как оператор вызова процедуры. В этом случае она указывается в отдельной строке, ее параметры не заключаются в скобки. В программе она так применена для вывода результата об общей стоимости покупок
Для ввода исходных данных цены и количества по каждому виду товара используется функция InputBox, которая вызывает диалоговое окно ввода, на котором выводится подсказка (первый параметр) и заголовок (второй параметр). Нужное значение вводится в поле ввода на этом окне. Ввод значения завершается нажатием кнопки «ОК».
Значением функции является введенное пользователем значение. Оно имеет строковый тип. Для преобразования в нужный числовой тип используются функции CСur (для цены – в денежный тип) и CInt (для количества – в целый тип).
Дата добавления: 2020-10-14; просмотров: 357;