{ Устанавливает заголовок на первую метку } lblFromPmt.Caption := 'Payment #';
{ делает видимыми первую метку и окно редактирования } lblFromPmt.Visible := True; edFromPmt.Visible := True;
{ скрывает вторую метку и окно редактирования } lblToPmt.Visible := False, edToPmt.Visible := False, end;
procedure TExtraPrinDlg.rbRangePmtsClick(Sender: TObject);
begin
{ устанавливает заголовок на вторую метку } lblFromPmt.Caption := 'From Payment #'; ( и делает видимыми обе метки и окна редактирования } lblFromPmt.Visible := True; edFromPmt.Visible := True; lblToPmt.Visible := True; edToPmt.Visible := True;
end;
procedure TExtraPrinDlg. rbAUPmtsClick (Sender : TObject);
begin
{ скрывает обе метки и окна редактирования } lblFromPmt.Visible = False edFromPmt.Visible := False; lblToPmt.Visible := False; edToPmt.Visible := False;
end;

Функция Execute

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

Прежде всего, добавьте следующие операторы в раздел public определения TExtraP-tinDlg class.

{ Общедоступные объявления } FromPayment : Integer; ToPayment : Integer; ExtraAmount : Real WhichButton : TExtraPaymentType; function Execute : Boolean;

TExtraPmtType является перечисленным типом, который может принимать одно из трех значений: eptOne, eptRange или eptAU. Эти три значения соответствуют трем переключателям в окне диалога Дополнительный капитал. Вам необходимо определить этот тип непосредственно перед определением TExtraPrinDlg class. Добавьте следующую строку сразу после оператора type в EXTRA.PAS:

TExtraPaymenType = (eptOne, eptRange, eptAll);

Теперь, все, что нам необходимо сделать, это написать код, инициализующий поля окна диалога и * переменных public, отображающий его и устанавливающего переменные puplic, основываясь на входных воздействиях пользователя. Этот код, реализованный в функции TExtraPrinDlg-Execute, показан в Листинге 9.5.

ЛИСТИНГ 9.5 Функция Execute диалога Дополнительный капитал

function TExtraPrinDlg.Execute : boolean; var Temp : String[15] i : Integer; begin { устанавливает переключатели в соответствии } { со значением WhichButton } rbOnePmt.Checked := (WhichButton eptOne) rbRangePmts.Checked := (WhichButton eptRange) rbAUPmts .Checked := (WhichButton eptAll); { заменяет заголовок на lblFromPmt, если требуется) if (rbOnePmt.Checked) then

lblFromPmt.Caption := 'Payment #' else if (rbRangePmts.Checked) then

lblFromPmt.Caption := 'From Payment #'; { устанавливает свойства Visible компонентов } { меток и редактирования }

lblFromPmt.Visible := Not гЬА11Pmts.Checked; lblToPmt.Visible := rbRangePmts.Checked; edFromPmt.Visible := lblFromPmt.Visible; edToPmt.Visible := lblToPmt.Visible;
edFromPmt.Text := IntToStr (FromPayment); edToPmt.Text := IntToStr (ToPayment);
Str (ExtraAmount:0:2, Temp); edExtraAmt.Text := Temp;

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

Программирование в среде 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