⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unitfeectrlform.pas

📁 串口短信猫收发软件。支持西门子TC35i设备
💻 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 + -