edtbillunit.~pas

来自「工商收费系统,主要是管理非税收收入的费用的管理」· ~PAS 代码 · 共 360 行

~PAS
360
字号
unit EdtBillUnit;

interface

uses
  Windows,
  Messages,
  SysUtils,
  Variants,
  Classes,
  Graphics,
  Controls,
  Forms,
  Dialogs,
  ConEdtUnit,
  Mask,
  DBCtrls,
  StdCtrls,
  DB,
  ADODB,
  ExtCtrls,
  dxCntner,
  dxExEdtr,
  dxEdLib,
  Buttons,
  ToolWin,
  ComCtrls,
  jpeg, dxEditor, dxDBELib, DBCtrlsEh;

type
  TBillEdtFrm = class(TConEdtFrm)
    lbl2: TLabel;
    dbedtYZMC: TDBEdit;
    dbedtDWSFBZ1: TDBEdit;
    dbedtDWSFBZ2: TDBEdit;
    dbedtDWSFBZ3: TDBEdit;
    dbedtDJ1: TDBEdit;
    dbedtJE1: TDBEdit;
    dbedtDJ2: TDBEdit;
    dbedtJE2: TDBEdit;
    dbedtDJ3: TDBEdit;
    dbedtJE3: TDBEdit;
    dbedtJEHJ: TDBEdit;
    lbl1: TLabel;
    Label1: TLabel;
    Label2: TLabel;
    Shape1: TShape;
    Shape2: TShape;
    Shape3: TShape;
    Shape4: TShape;
    Shape5: TShape;
    Shape7: TShape;
    Shape8: TShape;
    Label6: TLabel;
    Shape6: TShape;
    Shape9: TShape;
    Shape10: TShape;
    Shape11: TShape;
    Shape12: TShape;
    Shape13: TShape;
    Shape14: TShape;
    Shape15: TShape;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    dbedtBZ: TDBEdit;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    dbedtSFXM1: TDBEdit;
    dbedtSFXM2: TDBEdit;
    dbedtSFXM3: TDBEdit;
    dbedtSFXM4: TDBEdit;
    dbedtSFXM5: TDBEdit;
    dbedtDWSFBZ4: TDBEdit;
    dbedtDWSFBZ5: TDBEdit;
    dbedtDJ4: TDBEdit;
    dbedtDJ5: TDBEdit;
    dbedtJE4: TDBEdit;
    dbedtJE5: TDBEdit;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    dbedtZXDW: TDBEdit;
    dbedtFZR: TDBEdit;
    dbedtSKR: TDBEdit;
    btnSFXM1: TSpeedButton;
    btnSFXM2: TSpeedButton;
    btnSFXM3: TSpeedButton;
    btnSFXM4: TSpeedButton;
    btnSFXM5: TSpeedButton;
    btnZXDW: TSpeedButton;
    btnFZR: TSpeedButton;
    btnSKR: TSpeedButton;
    Label17: TLabel;
    btnYZDM: TSpeedButton;
    edtDateYJRQ: TDBDateTimeEditEh;
    edtDateKPRQ: TDBDateTimeEditEh;
    Shape16: TShape;
    Label4: TLabel;
    dbedtSL1: TDBEdit;
    dbedtSL2: TDBEdit;
    dbedtSL3: TDBEdit;
    dbedtSL4: TDBEdit;
    dbedtSL5: TDBEdit;
    dbedtYZDM: TDBEdit;
    Label3: TLabel;
    edtJEHJDX: TEdit;
    btnPrint: TSpeedButton;
    procedure btnYZDMClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure btnSFXM1Click(Sender: TObject);
    procedure btnSFXM2Click(Sender: TObject);
    procedure btnSFXM3Click(Sender: TObject);
    procedure btnSFXM4Click(Sender: TObject);
    procedure btnSFXM5Click(Sender: TObject);
    procedure btnZXDWClick(Sender: TObject);
    procedure btnFZRClick(Sender: TObject);
    procedure btnSKRClick(Sender: TObject);
    procedure dbedtJEHJExit(Sender: TObject);
    procedure dbedtJEHJKeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
    striniHelpName:string;
    strForSaveMoney:string;
  end;

var
  BillEdtFrm: TBillEdtFrm;

implementation
uses GlobalLibUnit,F007Unit;
{$R *.dfm}

procedure TBillEdtFrm.btnYZDMClick(Sender: TObject);
var
  strRet:array[0..20] of string;begin   dbedtYZDM.SetFocus;   Application.CreateForm(TF007Frm,F007Frm);   F007Frm.CallCodeHelp('Select * from archives',3,striniHelpName,'archives',strRet);   if strRet[0]='-1' then exit;   dbedtYZDM.SetFocus ;
   dbedtYZDM.Text:=strRet[0];
   dbedtYZMC.SetFocus ;
   dbedtYZMC.Text:=strRet[1];
end;procedure TBillEdtFrm.FormShow(Sender: TObject);
begin
  inherited;
  striniHelpName:=ExtractFilePath(Application.EXEName)+'\ini\Help.ini';
  edtDateYJRQ.Value:=Now;
  edtDateKPRQ.Value:=Now;

end;

procedure TBillEdtFrm.btnSFXM1Click(Sender: TObject);
var
  strRet:array[0..20] of string;begin   dbedtSFXM1.SetFocus;   Application.CreateForm(TF007Frm,F007Frm);   F007Frm.CallCodeHelp('Select * from FeeItem',3,striniHelpName,'FeeItem',strRet);   if strRet[0]='-1' then exit;   dbedtSFXM1.SetFocus ;
   dbedtSFXM1.Text:=strRet[1];
   dbedtDWSFBZ1.SetFocus ;
   dbedtDWSFBZ1.Text:=strRet[2]+' -> '+strRet[3]+strRet[4];
end;

procedure TBillEdtFrm.btnSFXM2Click(Sender: TObject);
var
  strRet:array[0..20] of string;begin   dbedtSFXM2.SetFocus;   Application.CreateForm(TF007Frm,F007Frm);   F007Frm.CallCodeHelp('Select * from FeeItem',3,striniHelpName,'FeeItem',strRet);   if strRet[0]='-1' then exit;   dbedtSFXM2.SetFocus ;
   dbedtSFXM2.Text:=strRet[1];
   dbedtDWSFBZ2.SetFocus ;
   dbedtDWSFBZ2.Text:=strRet[2]+' -> '+strRet[3]+strRet[4];
end;

procedure TBillEdtFrm.btnSFXM3Click(Sender: TObject);
var
  strRet:array[0..20] of string;begin   dbedtSFXM3.SetFocus;   Application.CreateForm(TF007Frm,F007Frm);   F007Frm.CallCodeHelp('Select * from FeeItem',3,striniHelpName,'FeeItem',strRet);   if strRet[0]='-1' then exit;   dbedtSFXM3.SetFocus ;
   dbedtSFXM3.Text:=strRet[1];
   dbedtDWSFBZ3.SetFocus ;
   dbedtDWSFBZ3.Text:=strRet[2]+' -> '+strRet[3]+strRet[4];
end;

procedure TBillEdtFrm.btnSFXM4Click(Sender: TObject);
var
  strRet:array[0..20] of string;begin   dbedtSFXM4.SetFocus;   Application.CreateForm(TF007Frm,F007Frm);   F007Frm.CallCodeHelp('Select * from FeeItem',3,striniHelpName,'FeeItem',strRet);   if strRet[0]='-1' then exit;   dbedtSFXM4.SetFocus ;
   dbedtSFXM4.Text:=strRet[1];
   dbedtDWSFBZ4.SetFocus ;
   dbedtDWSFBZ4.Text:=strRet[2]+' -> '+strRet[3]+strRet[4];
end;

procedure TBillEdtFrm.btnSFXM5Click(Sender: TObject);
var
  strRet:array[0..20] of string;begin   dbedtSFXM5.SetFocus;   Application.CreateForm(TF007Frm,F007Frm);   F007Frm.CallCodeHelp('Select * from FeeItem',3,striniHelpName,'FeeItem',strRet);   if strRet[0]='-1' then exit;   dbedtSFXM5.SetFocus ;
   dbedtSFXM5.Text:=strRet[1];
   dbedtDWSFBZ5.SetFocus ;
   dbedtDWSFBZ5.Text:=strRet[2]+' -> '+strRet[3]+strRet[4];
end;

procedure TBillEdtFrm.btnZXDWClick(Sender: TObject);
var
  strRet:array[0..20] of string;begin   dbedtZXDW.SetFocus;   Application.CreateForm(TF007Frm,F007Frm);   F007Frm.CallCodeHelp('Select * from unit',3,striniHelpName,'unit',strRet);   if strRet[0]='-1' then exit;   dbedtZXDW.SetFocus ;
   dbedtZXDW.Text:=strRet[1];
end;

procedure TBillEdtFrm.btnFZRClick(Sender: TObject);
var
  strRet:array[0..20] of string;begin   dbedtFZR.SetFocus;   Application.CreateForm(TF007Frm,F007Frm);   F007Frm.CallCodeHelp('Select * from unit',3,striniHelpName,'unit',strRet);   if strRet[0]='-1' then exit;   dbedtFZR.SetFocus ;
   dbedtFZR.Text:=strRet[2];
end;

procedure TBillEdtFrm.btnSKRClick(Sender: TObject);
var
  strRet:array[0..20] of string;begin   dbedtSKR.SetFocus;   Application.CreateForm(TF007Frm,F007Frm);   F007Frm.CallCodeHelp('Select * from unit',3,striniHelpName,'unit',strRet);   if strRet[0]='-1' then exit;   dbedtSKR.SetFocus;
   dbedtSKR.Text:=strRet[2];

end;

procedure TBillEdtFrm.dbedtJEHJExit(Sender: TObject);
var
   i:integer;   strMoney,strTmp,strPosion:string;   intTmp:integer;begin   { 先进行判断是否需要进行处理 }   strTmp:=ChangeMoneyLowcaseToUppercase(strForSaveMoney);   if (edtJEHJDX.Text=strTmp) and (Trim(edtJEHJDX.Text)<>'') then   begin     setexitcolor(dbedtJEHJ);     exit; // 不需要处理   end;   { 开始处理 }   if ChangeMoneyLowcaseToUppercase(dbedtJEHJ.Text)='-1' then   begin      Application.MessageBox('金额输入错误!请重新输入',                '提示',MB_OK+MB_DefButton1+MB_IconInformation+MB_ApplModal);      dbedtJEHJ.SetFocus;      exit;   end;   strMoney:=dbedtJEHJ.Text;   // 临时保存原始金额;   strForSaveMoney:=dbedtJEHJ.Text;  // 将原始输入,保存到类成员中      { 对输入的金额进行处理}   strPosion:=Trim(dbedtJEHJ.Text);   intTmp:=Pos('.',pChar(strMoney));   Delete(strPosion,intTmp,1);   if intTmp=0 then      strPosion:=strPosion+'00'   else if (strlen(pChar(strPosion))-intTmp+1)=1 then      strPosion:=strPosion+'0'   else if (strlen(pChar(strPosion))-intTmp+1)=0 then      strPosion:=strPosion+'00';   if Length(strPosion)>11 then      begin         Application.MessageBox('金额输入错误!请重新输入',                '提示',MB_OK+MB_DefButton1+MB_IconInformation+MB_ApplModal);         dbedtJEHJ.SetFocus;         exit;      end;   { 将金额转换为大写并填写到对应项中 }   edtJEHJDX.Text:=ChangeMoneyLowcaseToUppercase(dbedtJEHJ.Text);   { 对输入的金额进行处理,去掉小数点并补充上角分位 }   intTmp:=Pos('.',pChar(strMoney));   Delete(strMoney,intTmp,1);   if intTmp=0 then      strMoney:=strMoney+'00'   else if (strlen(pChar(strForSaveMoney))-intTmp)=1 then      strMoney:=strMoney+'0'   else if (strlen(pChar(strForSaveMoney))-intTmp)=0 then      strMoney:=strMoney+'00';   { 去除无用零字符 }   intTmp:=Pos('0',pChar(strMoney));   while (intTmp=1) and (intTmp<>strlen(pChar(strMoney))) do   begin      Delete(strMoney,intTmp,1);      intTmp:=Pos('0',pChar(strMoney));   end;

end;

procedure TBillEdtFrm.dbedtJEHJKeyPress(Sender: TObject; var Key: Char);
var
  i,zsws:integer;  ishaveD:BOOLean;  s:string;const  zsmax=9;  xsmax=2;begin
  if not (Key in ['0'..'9',#9,#13,#8,#46]) then Key :=#0;
  ishaveD:=false;
  zsws:=0;
  s:=edtJEHJDX.Text;

  zsws:=Pos('.',s);

  if zsws>0 then if (Key in [#46]) then Key :=#0;

  if (zsws>0) and (Length(s)-zsws>=xsmax) and (edtJEHJDX.SelStart>zsws) then
  begin
    if not (Key in [#9,#13,#8]) then Key :=#0;
  end;


  if ((zsws=0) and (Length(s)>=zsmax)) or (zsws>=zsmax+1)  and (edtJEHJDX.SelStart<zsws) then
    if not (Key in [#9,#13,#8,#46]) then Key :=#0;

end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?