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 + -
显示快捷键?