P
pantera
Unregistered / Unconfirmed
GUEST, unregistred user!
请看如下代码:
procedure TFormAddModi.DBEditByjfExit(Sender: TObject);
begin
//自动计算剩余金额
with Form_Main.QueryAMD do
begin
[red] If StrToFloat(DBEditByjf.Text) > StrToFloat(DBEditTotal.Text) then
begin
MessageDlg('错误!本月交费大于总共所需金额!', mtError, [mbOK], 0);
DBEditByjf.SetFocus;
Exit;
end;[/red]
If (StrToFloat(DBEditByjf.Text) > 0) and (StrToFloat(DBEditTotal.Text) = 0) Then
begin
MessageDlg('请输入总共所需金额!', mtError, [mbOK], 0);
DBEditTotal.SetFocus;
Exit;
end;
DBEditSyje.Text := FloatToStr(StrToFloat(DBEditTotal.Text) - StrToFloat(DBEditByjf.Text));
Edit;
Fields[6].Value := StrToFloat(DBEditSyje.Text);
end;
end;
注意其中红色代码,当符合红色代码中if条件,并且发生exit事件时,系统就会报错,即MessageDlg中的错误。
此后,如论点击窗体上的任何按钮,则都会报同样的错误。现有一按键,“取消”键,我需要的效果是:当我点击该键时,就要执行其中的代码,关闭此窗体,各位达人
教我如何才能执行“取消”键中的代码,使该键生效???
procedure TFormAddModi.DBEditByjfExit(Sender: TObject);
begin
//自动计算剩余金额
with Form_Main.QueryAMD do
begin
[red] If StrToFloat(DBEditByjf.Text) > StrToFloat(DBEditTotal.Text) then
begin
MessageDlg('错误!本月交费大于总共所需金额!', mtError, [mbOK], 0);
DBEditByjf.SetFocus;
Exit;
end;[/red]
If (StrToFloat(DBEditByjf.Text) > 0) and (StrToFloat(DBEditTotal.Text) = 0) Then
begin
MessageDlg('请输入总共所需金额!', mtError, [mbOK], 0);
DBEditTotal.SetFocus;
Exit;
end;
DBEditSyje.Text := FloatToStr(StrToFloat(DBEditTotal.Text) - StrToFloat(DBEditByjf.Text));
Edit;
Fields[6].Value := StrToFloat(DBEditSyje.Text);
end;
end;
注意其中红色代码,当符合红色代码中if条件,并且发生exit事件时,系统就会报错,即MessageDlg中的错误。
此后,如论点击窗体上的任何按钮,则都会报同样的错误。现有一按键,“取消”键,我需要的效果是:当我点击该键时,就要执行其中的代码,关闭此窗体,各位达人
教我如何才能执行“取消”键中的代码,使该键生效???