📄 unitfeectrlform.pas
字号:
unit UnitFeeCtrlForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, RzEdit, RzButton, RzLabel, RzRadChk, ExtCtrls,
RzPanel;
type
TFeeCtrlForm = class(TForm)
RzPanel1: TRzPanel;
RzCheckBox_LimitFee: TRzCheckBox;
RzLabel1: TRzLabel;
RzLabel2: TRzLabel;
RzLabel3: TRzLabel;
RzBitBtn1: TRzBitBtn;
RzBitBtn2: TRzBitBtn;
RzEdit_FeeBalance: TRzEdit;
RzEdit_UnicomLocalNetDefine: TRzEdit;
RzEdit_LocalNetFee: TRzEdit;
RzLabel4: TRzLabel;
RzEdit_RemoteNetFee: TRzEdit;
RzLabel5: TRzLabel;
RzLabel6: TRzLabel;
RzLabel7: TRzLabel;
RzCheckBox_AutoStopOverFee: TRzCheckBox;
RzLabel8: TRzLabel;
RzBitBtn3: TRzBitBtn;
RzLabel9: TRzLabel;
RzLabel10: TRzLabel;
RzEdit_MobileLocalNetDefine: TRzEdit;
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure RzEdit_FeeBalanceKeyPress(Sender: TObject; var Key: Char);
procedure RzEdit_UnicomLocalNetDefineKeyPress(Sender: TObject;
var Key: Char);
procedure RzEdit_LocalNetFeeKeyPress(Sender: TObject; var Key: Char);
procedure RzEdit_RemoteNetFeeKeyPress(Sender: TObject; var Key: Char);
procedure RzBitBtn2Click(Sender: TObject);
procedure RzBitBtn3Click(Sender: TObject);
procedure RzCheckBox_LimitFeeClick(Sender: TObject);
procedure RzBitBtn1Click(Sender: TObject);
procedure RzEdit_MobileLocalNetDefineKeyPress(Sender: TObject;
var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
implementation
uses UnitDM;
{$R *.dfm}
procedure TFeeCtrlForm.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=27 then Close;
end;
procedure TFeeCtrlForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TFeeCtrlForm.FormShow(Sender: TObject);
begin
RzBitBtn3.Click;
end;
procedure TFeeCtrlForm.RzEdit_FeeBalanceKeyPress(Sender: TObject;
var Key: Char);
begin
if not (Key in ['0'..'9', '.', #13, #8]) then Key := #0;
if Key=#13 then RzEdit_UnicomLocalNetDefine.SetFocus;
end;
procedure TFeeCtrlForm.RzEdit_UnicomLocalNetDefineKeyPress(Sender: TObject;
var Key: Char);
begin
if not (Key in ['0'..'9', '*', ';', #13, #8]) then Key := #0;
if Key=#13 then RzEdit_MobileLocalNetDefine.SetFocus;
end;
procedure TFeeCtrlForm.RzEdit_MobileLocalNetDefineKeyPress(Sender: TObject;
var Key: Char);
begin
if not (Key in ['0'..'9', '*', ';', #13, #8]) then Key := #0;
if Key=#13 then RzEdit_LocalNetFee.SetFocus;
end;
procedure TFeeCtrlForm.RzEdit_LocalNetFeeKeyPress(Sender: TObject;
var Key: Char);
begin
if not (Key in ['0'..'9', '.', #13, #8]) then Key := #0;
if Key=#13 then RzEdit_RemoteNetFee.SetFocus;
end;
procedure TFeeCtrlForm.RzEdit_RemoteNetFeeKeyPress(Sender: TObject;
var Key: Char);
begin
if not (Key in ['0'..'9', '.', #13, #8]) then Key := #0;
if Key=#13 then RzBitBtn1.SetFocus;
end;
procedure TFeeCtrlForm.RzBitBtn2Click(Sender: TObject);
begin
Close;
end;
procedure TFeeCtrlForm.RzBitBtn3Click(Sender: TObject);
begin
RzCheckBox_LimitFee.Checked := DM.FbLimitFee;
RzCheckBox_AutoStopOverFee.Checked := DM.FbAutoStopOverFee;
RzEdit_FeeBalance.Text := DM.QueryFeeBalance;
RzEdit_UnicomLocalNetDefine.Text := DM.FUnicomLocalNetDefine;
RzEdit_MobileLocalNetDefine.Text := DM.FMobileLocalNetDefine;
RzEdit_LocalNetFee.Text := DM.FLocalNetFee;
RzEdit_RemoteNetFee.Text := DM.FRemoteNetFee;
RzCheckBox_LimitFeeClick(Sender);
end;
procedure TFeeCtrlForm.RzCheckBox_LimitFeeClick(Sender: TObject);
begin
RzCheckBox_AutoStopOverFee.Enabled := RzCheckBox_LimitFee.Checked;
RzEdit_FeeBalance.Enabled := RzCheckBox_LimitFee.Checked;
RzEdit_UnicomLocalNetDefine.Enabled := RzCheckBox_LimitFee.Checked;
RzEdit_MobileLocalNetDefine.Enabled := RzCheckBox_LimitFee.Checked;
RzEdit_LocalNetFee.Enabled := RzCheckBox_LimitFee.Checked;
RzEdit_RemoteNetFee.Enabled := RzCheckBox_LimitFee.Checked;
end;
procedure TFeeCtrlForm.RzBitBtn1Click(Sender: TObject);
var
bLimitFee, bAutoStopOverFee: boolean;
FeeBalance, UnicomLocalNetDefine, MobileLocalNetDefine, LocalNetFee, RemoteNetFee: string;
begin
bLimitFee := RzCheckBox_LimitFee.Checked;
bAutoStopOverFee := RzCheckBox_AutoStopOverFee.Checked;
try
FeeBalance := FloatToStr(StrToFloat(RzEdit_FeeBalance.Text));
except
Application.MessageBox('累计费用限额输入有误,输入值必须为数值类型!','提示',MB_OK + MB_ICONWARNING);
RzEdit_FeeBalance.SetFocus;
Exit;
end;
UnicomLocalNetDefine := Trim(RzEdit_UnicomLocalNetDefine.Text);
MobileLocalNetDefine := Trim(RzEdit_MobileLocalNetDefine.Text);
try
LocalNetFee := FloatToStr(StrToFloat(RzEdit_LocalNetFee.Text));
except
Application.MessageBox('网内计费费率输入有误,输入值必须为数值类型!','提示',MB_OK + MB_ICONWARNING);
RzEdit_LocalNetFee.SetFocus;
Exit;
end;
try
RemoteNetFee := FloatToStr(StrToFloat(RzEdit_RemoteNetFee.Text));
except
Application.MessageBox('网外计费费率输入有误,输入值必须为数值类型!','提示',MB_OK + MB_ICONWARNING);
RzEdit_RemoteNetFee.SetFocus;
Exit;
end;
if DM.UpdateFeeCtrlBasePara(bLimitFee, bAutoStopOverFee, FeeBalance, UnicomLocalNetDefine, MobileLocalNetDefine, LocalNetFee, RemoteNetFee) then
begin
Application.MessageBox('费用控制参数修改成功!','提示',MB_OK + MB_ICONINFORMATION);
DM.FbLimitFee := bLimitFee;
DM.FbAutoStopOverFee := bAutoStopOverFee;
DM.FUnicomLocalNetDefine := UnicomLocalNetDefine;
DM.FMobileLocalNetDefine := MobileLocalNetDefine;
DM.FLocalNetFee := LocalNetFee;
DM.FRemoteNetFee := RemoteNetFee;
Close;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -