{ Общедоступные объявления } PrincipalBalance : Real; InterestRate : Real; NumberOfPayments Integer Function Execute : Boolean

Эти три поля используются для передачи информации обратно к калькулятору закладных, а функция Execute является методом, который калькулятор закладных будет использовать для отображения окна диалога.

Щелкните на форме, чтобы выбрать ее, и в Object Inspector дважды щелкните на событии OnCreate, чтобы создать обработчик события. Введите в процедуру события следующие три строки кода:

MortgageAmount := 100000.00 InterestRate := 0.0875; NumberOfPayments := 360;

Это инициализует переменные таким образом, что редактируемые поля будут иметь вполне реальные значения, когда форма будет отображаться первый раз. Добавьте функцию Execute, показанную в Листинге 9.1, к разделу implementation NEWMORT.PAS.

ЛИСТИНГ 9.1 Функция Execute диалога Новые закладные

Function TNewMortDIg.Execute : Boolean var Temp : String[15]; i : Integer; begin { Установка свойств Text полей редактирования }

Str (MortgageAmount:0:2, Temp);
editMortAmt.Text := Temp;
Str ((InterestRate*100) - 0 2 Temp);

editlRate.Text := Temp,

editNumPmts.Text := IntToStr (NumberOfPayments); ActiveControl := editMortAmt,

(Показывает окно диалога и проверяет возвращаемое значение } If ShowModal = mrOk Then begin { если OK была нажата, получить новые значения }

Val (editMortAmt Text, МогtgageAmount, i); Val (editlRate.Text, InterestRate, i) ; InterestRate := InterestRate/100;
NumberOfPayments := StrToInt (editNumPmts.Text);

Result := True; end Else

Result := False

End;

Функция Execute вызывается калькулятором закладных для отображения окна диалога "Новая закладная". Эта функция устанавливает поля редактирования, показывает окно диалога, а затем устанавливает переменные объекта таким образом, чтобы они отражали введенную информацию, если пользователь закрывает окно диалога, нажимая кнопку ОК. Если окно диалога закрывается нажатием кнопки OK, Execute возвращает True. Если для закрытия окна диалога используется любой другой метод (нажатие на кнопку Отменить или двойной щелчок на окне управляющего меню) Execute возвращает False.

Прежде, чем мы продолжим, убедитесь, что вы нажали F2, чтобы сохранить свою работу.

Всегда Execute

Является здравой мыслью добавлять функцию Execute во все ваши окна диалога. Таким образом ваши программы получают стандартное средство, посредством которого они могут отображать окно диалога и получать его возвращаемое значение. Это дает вам еще и возможность скрывать от программы вопросы реализации, специфичные для окна диалога. Если бы мы не создали функцию Execute, то любая программа, которая захотела бы использовать окно диалога "Новая закладная" должна была бы содержать весь код, содержащийся в функции Execute.

Включение функции Execute значительно упрощает изменение окна диалога в будущем. Если мы добавим поле к окну диалога "Новая закладная", нам прийдется изменить функцию Execute таким образом, чтобы □на устанавливала и возвращала информацию от нового поля. Мы должны также изменить одну-две строки кода в любой программе, желающей получить доступ к новому полю. Но, если бы мы не имели функции Execute, нам пришлось бы добавлять начальные установки и код выборки к каждой программе, использующей окно диалога.


⇐ Предыдущая страница| |Следующая страница ⇒

Программирование в среде Delphi



Новости за месяц

  • Декабрь
    2021
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31