📄 main.~pas
字号:
unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, Menus, ActnMan, ActnCtrls, ActnMenus, ToolWin,
XPStyleActnCtrls, ActnList, ImgList, jpeg, ExtCtrls,db, XPMan, XPMenu,
StdStyleActnCtrls;
type
{ TCPxx=class
dm:string;
cp:string;
gg:string;
dw:string;
sl:real;
dj:real;
end;}
TCurXX=class
Cur_TaxNo:string;
Cur_Dwmc:string;
Cur_Bank:string;
Cur_BankNo:string;
Cur_address:string;
Cur_TelNo:string;
Cur_skRen:string;
Cur_kpRen:string;
printer_name:string;
sl_dec:integer;
sl_fjh:boolean;
dj_dec:integer;
dj_fjh:boolean;
je_dec:integer;
je_fjh:boolean;
print_x : integer;
print_y : integer;
printNO : boolean; //是否对号打印
b01:boolean;
b02:boolean;
b03:boolean;
b04:boolean;
b05:boolean;
b06:boolean;
b07:boolean;
constructor Create;
end;
Tfrm_main = class(TForm)
StatusBar1: TStatusBar;
ActionManager1: TActionManager;
CoolBar1: TCoolBar;
ActionMainMenuBar1: TActionMainMenuBar;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ImageList1: TImageList;
Image1: TImage;
ImageList2: TImageList;
Action1: TAction;
Action2: TAction;
Action3: TAction;
Action4: TAction;
Action5: TAction;
Action6: TAction;
Action7: TAction;
Action8: TAction;
Action9: TAction;
Action10: TAction;
Action11: TAction;
Action12: TAction;
Action13: TAction;
Action14: TAction;
XPManifest1: TXPManifest;
Action15: TAction;
Action16: TAction;
Action17: TAction;
Action18: TAction;
Action19: TAction;
Action20: TAction;
Action21: TAction;
Action22: TAction;
Action23: TAction;
Action24: TAction;
procedure ToolButton6Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure Action1Execute(Sender: TObject);
procedure Action2Execute(Sender: TObject);
procedure Action3Execute(Sender: TObject);
procedure Action6Execute(Sender: TObject);
procedure Action7Execute(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Action5Execute(Sender: TObject);
procedure Action4Execute(Sender: TObject);
procedure Action8Execute(Sender: TObject);
procedure Action9Execute(Sender: TObject);
procedure Action10Execute(Sender: TObject);
procedure Action11Execute(Sender: TObject);
procedure Action12Execute(Sender: TObject);
procedure Action13Execute(Sender: TObject);
procedure Action14Execute(Sender: TObject);
procedure Action15Execute(Sender: TObject);
procedure Action16Execute(Sender: TObject);
procedure Action17Execute(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Action18Execute(Sender: TObject);
procedure Action19Execute(Sender: TObject);
procedure Action20Execute(Sender: TObject);
procedure Action21Execute(Sender: TObject);
procedure Action23Execute(Sender: TObject);
procedure Action22Execute(Sender: TObject);
procedure Action24Execute(Sender: TObject);
private
{ Private declarations }
public
procedure showkpxx; //显示开票单位信息
function GetRen(AXM:string):string; //获取开票人或收款人姓名
function GetKhmc(AKHMC:string):string;
// function GetCpxx(var cpxx:TCPxx):boolean;
function getjldw(AJLDW:string):string; //获取计量单位
{ Public declarations }
end;
var
frm_main: Tfrm_main;
KPXX: TCurXX;
implementation
uses UDataM, UMission, UnewDW, uKp, umissgl, uRen, about, ukhgl, Ujldw, Uabout1,
UCPGL, Ufpgl, Unewfp, Ukpset, Ufpfilter, Rtlb, Uoption, RHwqd ;
{$R *.dfm}
constructor TCurXX.Create;
begin
Cur_Taxno:='';
Cur_Dwmc:='';
Cur_Bank:='';
Cur_BankNo:='';
Cur_address:='';
Cur_telNo:='';
Cur_skRen:='';
Cur_kpRen:='';
sl_dec:=3;
dj_dec:=2;
je_dec:=2;
sl_fjh:=true;
dj_fjh:=true;
je_fjh:=true;
printer_name:='';
print_x:=0;
print_y:=0;
printNo:=true;
b01:=false;
b02:=false;
b03:=false;
b04:=false;
b05:=false;
b06:=false;
b07:=false;
end;
//----------------------------------------------------------------------------
function Tfrm_main.GetRen(AXM:string):string;
begin
frm_Ren.DBLookupComboBox1.Enabled:=false;
frm_Ren.BitBtn3.Visible:=true;
frm_Ren.Caption:='选择开票人或收款人';
if frm_ren.ShowModal=mrOk then
begin
Result:=frm_ren.DBText3.Field.AsString;
end else
begin
Result:=AXM;
end;
frm_Ren.DBLookupListBox1.Enabled:=True;
end;
function TFrm_main.getjldw(AJldw:string):string;
begin
if frm_jldw.ShowModal=mrOk then
begin
if datam.jldwSet.State in [dsEdit,dsInsert] then
datam.jldwSet.Post;
result:=datam.jldwSetJLDW.AsString;
end else
Result:=AJLDW;
end;
function TFrm_main.GetKhmc(AKHMC:string):string;
begin
frm_khgl.BitBtn7.Visible:=true;
if frm_khgl.ShowModal=mrOk then
begin
Result:=datam.KHMXSetKHMC.AsString;
end else
begin
Result:=AKHMC;
end;
datam.setcurMiss;
end;
{function TFrm_main.GetCpxx(var Cpxx:TCpxx):boolean;
begin
frm_cpgl.BitBtn7.Visible:=true;
if frm_cpgl.ShowModal=mrOk then
begin
cpxx.dm:=datam.CPMXSetCPDM.AsString;
cpxx.cp:=datam.CPMXSetCPMC.AsString;
cpxx.gg:=datam.CPMXSetCPGG.AsString;
cpxx.dw:=datam.CPMXSetCPDW.AsString;
cpxx.sl:=datam.CPMXSetdefaSL.AsFloat;
cpxx.dj:=datam.CPMXSetdefaDJ.AsFloat;
result:=true;
end
else begin
result:=false;
end;
datam.setcurMiss;
end; }
procedure Tfrm_main.showkpxx;
begin
caption:='安徽省货物销售统一发票管理 ['+kpxx.Cur_Dwmc+']';
statusbar1.Panels[1].Text:='日期:'+formatdatetime('yyyy年mm月dd日',now);
statusbar1.Panels[2].Text:='税务登记证号:'+kpxx.Cur_TaxNo;
statusbar1.Panels[3].Text:=' 开票单位名称:'+kpxx.Cur_Dwmc;
frm_missgl.StatusBar1.Panels[0].Text:='当前开票单位名称:'+kpxx.Cur_Dwmc;
end;
procedure Tfrm_main.ToolButton6Click(Sender: TObject);
begin
close;
end;
procedure Tfrm_main.FormActivate(Sender: TObject);
begin
{ if tag=0 then
begin
tag:=tag+1;
datam.loadkpxxfj;
if frm_Mission.ShowModal=mrOK then
begin
datam.loadkpxx;
showkpxx;
end else
begin
tag:=-1; //首次运行程序登录时取消,结束程序运行标志
close;
end;
end; }
end;
procedure Tfrm_main.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if tag=-1 then
Canclose:=true
else
begin
if Application.MessageBox('你真的要退出发票管理系统吗?', '询问',
MB_OKCANCEL + MB_ICONQUESTION + MB_TOPMOST) = IDOK then
CanClose:=true
else
CanClose:=False;
end;
end;
procedure Tfrm_main.Action1Execute(Sender: TObject);
begin
close;
end;
procedure Tfrm_main.Action2Execute(Sender: TObject);
begin
if frm_Mission.ShowModal=mrOk then
begin
datam.loadkpxx; //读取开票单位信息
showkpxx;
end;
end;
procedure Tfrm_main.Action3Execute(Sender: TObject);
var bz:Boolean;
ATaxNo:string;
label abc;
begin
//新增开票单位
frm_newDW.Edit1.Clear;
frm_newDw.Edit2.Clear;
frm_newDW.Edit3.Clear;
frm_newDw.Edit4.Clear;
frm_newDW.Edit5.Clear;
frm_newDw.Edit6.Clear;
frm_newDW.Edit7.Clear;
frm_newDw.Edit8.Clear;
abc:
bz:=true;
if frm_newDw.ShowModal=mrOk then
begin
bz:=bz and (length(trim(frm_newdw.Edit1.Text))=15);
bz:=bz and (length(trim(frm_newdw.Edit2.Text))>=8);
bz:=bz and (length(trim(frm_newdw.Edit3.Text))>=6);
bz:=bz and (length(trim(frm_newdw.Edit4.Text))>=4);
if bz then
begin
//
ATaxNo:=frm_newdw.Edit1.Text;
if Datam.MissionSet.Locate('TaxNo',ATaxNo,[]) then
begin
datam.MissionSet.Edit;
end else
begin
datam.MissionSet.Append;
datam.MissionSet.FieldByName('taxno').AsString:=ATaxNo;
end;
datam.MissionSet.FieldByName('DWMC').AsString:=frm_newDW.Edit2.Text;
datam.MissionSet.FieldByName('bank').AsString:=frm_newDW.Edit3.Text;
datam.MissionSet.FieldByName('bankno').AsString:=frm_newDW.Edit4.Text;
datam.MissionSet.FieldByName('address').AsString:=frm_newDW.Edit5.Text;
datam.MissionSet.FieldByName('photoNo').AsString:=frm_newDW.Edit6.Text;
datam.MissionSet.FieldByName('sk_Ren').AsString:=frm_newDW.Edit7.Text;
datam.MissionSet.FieldByName('kp_Ren').AsString:=frm_newDW.Edit8.Text;
datam.MissionSet.Post;
datam.MissionSet.UpdateBatch();
Application.MessageBox('新增开票单位信息已经保存!', '提示', MB_OK +
MB_ICONINFORMATION + MB_TOPMOST);
end else
begin
Application.MessageBox('信息填写不完整或长度不正确,无法保存!' +
#13#10 + '请重新录入完成!', '提示', MB_OK + MB_ICONINFORMATION +
MB_TOPMOST);
goto abc;
end;
end;
datam.setcurMiss;
end;
procedure Tfrm_main.Action6Execute(Sender: TObject);
begin
//修改当开票单位信息
frm_Mission.GroupBox1.Enabled:=true;
frm_mission.Caption:='修改当前开票单位信息';
frm_mission.DBLookupComboBox1.Enabled:=true;
frm_mission.BitBtn1.Visible:=false;
frm_Mission.BitBtn2.Caption:='保存';
frm_mission.Label1.Caption:='请修改当前开票单位信息';
if frm_mission.ShowModal=mrOk then
begin
update;
//保存信息
datam.MissionSet.UpdateBatch();
datam.reloadkpxx;
showkpxx;
end else
begin
update;
datam.MissionSet.CancelBatch();
//恢复原来的信息
end;
frm_Mission.GroupBox1.Enabled:=false;
frm_mission.Caption:='选择开票单位';
frm_mission.DBLookupComboBox1.Enabled:=true;
frm_mission.BitBtn1.Visible:=true;
frm_Mission.BitBtn2.Caption:='确定';
frm_mission.Label1.Caption:='请选择纳税人登记号:';
datam.setcurMiss;
end;
procedure Tfrm_main.Action7Execute(Sender: TObject);
begin
frm_kp.StatusBar1.Panels[0].Text:='新增';
//开票
if kpxx.Cur_TaxNo='' then
begin
Application.MessageBox('请选择开票单位!', '提示', MB_OK +
MB_ICONINFORMATION + MB_TOPMOST);
exit;
end;
if not frm_kp.newfp then
begin
Application.MessageBox(PChar('本单位发票已经全部用完了!' + #13#10 +
'请重新购买发票后,并在发票管理中增加发票!'), PChar('提示'), MB_OK +
MB_ICONINFORMATION + MB_TOPMOST);
exit;
end;
//隐藏设置信息
frm_kp.panel3.Visible:=false;
frm_kp.panel4.Visible:=true;
frm_kp.Panel5.Visible:=false;
frm_kp.Panel5.Enabled:=false;
frm_kp.clientheight:=386;
// frm_kp.StatusBar1.Panels[0].Text:='新增';
frm_kp.ShowModal;
end;
procedure Tfrm_main.FormCreate(Sender: TObject);
begin
KPXX:=TCurXX.Create;
end;
procedure Tfrm_main.FormDestroy(Sender: TObject);
begin
KPXX.Free;
end;
procedure Tfrm_main.Action5Execute(Sender: TObject);
begin
//删除开票单位
frm_mission.Caption:='删除开票单位';
frm_mission.BitBtn1.Visible:=false;
frm_Mission.BitBtn2.Caption:='删除';
frm_mission.Label1.Caption:='请选择你要删除的开票单位';
if frm_mission.ShowModal=mrOk then
begin
//开始删除
if frm_mission.DBLookupComboBox1.Text=kpxx.Cur_TaxNo then
begin
Application.MessageBox('对不起,你不能删除正在使用的单位!', '提示',
MB_OK + MB_ICONINFORMATION + MB_TOPMOST);
end else
begin
if Application.MessageBox(pchar('你真的要删除该开票单位及与该单位相关的资料吗?'
+ #13#10 + '单位:'+ frm_mission.DBEdit1.text
+ #13#10 + '税号:'+frm_mission.DBLookupComboBox1.text), '询问', MB_OKCANCEL +
MB_ICONQUESTION + MB_DEFBUTTON2 + MB_TOPMOST) = IDOK then
begin
// 真的删除了
update;
datam.MissionSet.Delete;
datam.MissionSet.UpdateBatch();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -