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

В рассмотренной выше задаче ввод исходных данных реализован с помощью текстовых полей txtЦена и txtКоличество, а вычисление стоимости и вывод результата – одной строкой

 

lblрзтСтоимость = txtЦена * txtКоличество

 

в процедуре обработки события нажатия командной кнопки «cmdВычислить».

Поставленную задачу можно также решить без кнопки. Форма для этого случая приведена на рис. 3.3.

 

 

Рис. 3.3. Форма для вычисления стоимости товара (без кнопки)

 

Процесс вычисления стоимости можно связать с событием изменения значения (Change) в текстовых полях txtЦена и txtКоличество.

В этом случае код программы имеет вид:

 

Private Sub txtЦена_Change()

lblрзтСтоимость = txtЦена * txtКоличество

End Sub

 

Private Sub txtКоличество_Change()

txtЦена_Change

End Sub

 

Первая процедура создается путем двойного щелчка на текстовом поле «txtЦена» и ввода строки кода:

 

lblрзтСтоимость = txtЦена * txtКоличество

 

Вторая – также вначале двойным щелчком на текстовом поле txtКоличество, а затем копированием заголовка из первой процедуры во вторую. Такая запись говорит о том, что при изменении значения в текстовом поле txtКоличество выполняются те же действия, что и при изменении текстового поля txtЦена.

Вычисление стоимости происходит при любом изменении значения в одном из текстовых полей txtЦена или txtКоличество, в том числе и когда в другом еще не вводились никакие значения. Последняя ситуация может привести к ошибке, так как неизвестен второй сомножитель. Чтобы избавиться от такого варианта, введем в свойство Text каждого из этих полей цифру 0, т.е. если в поле еще не вводились никакие данные, то значением поля будет ноль.

Для того, чтобы на диске сохранялся и первый проект (с кнопкой) и второй (без кнопки), нужно после сохранения первого проекта и переделки его формы под второй проект сохранить новую форму командой File – Save Form As и ввести имя файла для формы frmКасса2. Затем сохранить весь проект в новом файле prКасса2 командой File – Save Project As.

Примечания. 1. При задании свойств Caption и Name производилось копирование значения из первого свойства во второе, что облегчает процесс задания свойства Name. В общем случае использовать такой прием не обязательно – значение свойства Name можно задавать путем его ввода с клавиатуры.

2. Если значение свойства Caption состоит из нескольких слов (например, Новая цена), то после его копирования в свойстве Name необходимо избавиться от пробелов между словами (например, сформировать имя txtНовая_цена или txtНоваяЦена).