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

Каждое событие обрабатывается отдельной процедурой, причем каждое событие вызывает разные действия. Поэтому код приложения состоит из трех процедур.

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

В коде приложения применяется принцип явного описания переменных. Для того чтобы система VB следила за обязательностью явного описания каждой используемой переменной, вначале кода стоит оператор Option Explicit.

В процедуре Form_Load использована встроенная функция Date, с помощью которой определяется текущая дата.

Процедура txtНачало_LostFocus предназначена для определения даты окончания периода в случае изменения начальной даты. Поскольку начальная дата содержится в текстовом поле txtНачало (строковый тип), то для преобразования в тип дата/время применяется функция CDate.

Процедура cmdВычислить_Click предназначена для вычисления стоимости товара с учетом НДС и вывода результата.

Для выполнения расчетов используется постоянная величина ставки НДС (20 %). Она применяется только в этой процедуре. Поэтому НДС объявлена внутри процедуры как константа.

Цена товара с учетом НДС и соответствующая стоимость являются переменными величинами, поскольку они вычисляются на основе введенных пользователем значений цены производителя и количества товара. Поэтому в коде цена товара с учетом НДС и стоимость описаны как переменные в операторе Dim.

Т. к. исходные данные цена и количество вводятся в текстовые поля (строковый тип) и в дальнейшем участвуют в арифметических выражениях, для их преобразования к числовому типу используются встроенные функции CCur() и CInt().

При формировании сообщения о результате (строковый тип) используется встроенная функция Format(curСтоимость,”0.00”), которая преобразует значение числовой переменной curСтоимость из денежного типа в строковый. При этом в дробной части сохраняет два разряда для копеек.

Для вывода второго предложения результата в начало второй строки используется константа vbCrLf.