📄 mainunit.~pas
字号:
unit MainUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, dxsbar, ComCtrls, ImgList, dxCntner, dxTL, dxDBCtrl,
dxDBGrid, ToolWin, Buttons, DB, ADODB,iniFiles, ConEdtUnit, dxExEdtr;
type
TAddCheque=function(StrCon:WideString;EdtFlag:Integer;
strTableName:string;strSqlWhere:String;
strOperaterCode:string):Widestring;
type
TMainFrm = class(TForm)
pgc1: TPageControl;
stat1: TStatusBar;
ts1: TTabSheet;
ts3: TTabSheet;
ts4: TTabSheet;
img1: TImage;
dxSideBar1: TdxSideBar;
ImageList1: TImageList;
pnl1: TPanel;
dxdbgrd1: TdxDBGrid;
clbr1: TCoolBar;
SBAppend: TSpeedButton;
SBEdit: TSpeedButton;
SBQuery: TSpeedButton;
SBDelete: TSpeedButton;
SBListPrint: TSpeedButton;
SBExit: TSpeedButton;
qryView: TADOQuery;
dsView: TDataSource;
SBUpdate: TSpeedButton;
ts2: TTabSheet;
Panel2: TPanel;
dxDBGrid2: TdxDBGrid;
CoolBar2: TCoolBar;
//SpeedButton7: TSpeedButton;
//SpeedButton8: TSpeedButton;
//SpeedButton9: TSpeedButton;
//SpeedButton10: TSpeedButton;
//SpeedButton11: TSpeedButton;
// SpeedButton12: TSpeedButton;
// SpeedButton19: TSpeedButton;
dxSideBar2: TdxSideBar;
Panel3: TPanel;
dxDBGrid3: TdxDBGrid;
CoolBar3: TCoolBar;
//SpeedButton13: TSpeedButton;
//SpeedButton14: TSpeedButton;
//SpeedButton15: TSpeedButton;
//SpeedButton16: TSpeedButton;
//SpeedButton17: TSpeedButton;
//SpeedButton18: TSpeedButton;
//SpeedButton20: TSpeedButton;
dxSideBar3: TdxSideBar;
Panel1: TPanel;
dxDBGrid1: TdxDBGrid;
CoolBar1: TCoolBar;
// SpeedButton1: TSpeedButton;
// SpeedButton2: TSpeedButton;
// SpeedButton3: TSpeedButton;
// SpeedButton4: TSpeedButton;
// SpeedButton5: TSpeedButton;
// SpeedButton6: TSpeedButton;
// SpeedButton21: TSpeedButton;
dxSideBar4: TdxSideBar;
ADOQuery1: TADOQuery;
qryviewbill: TADOQuery;
dsViewBill: TDataSource;
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure dxSideBar1ItemClick(Sender: TObject; Item: TdxSideBarItem);
procedure dxSideBar2ItemClick(Sender: TObject; Item: TdxSideBarItem);
//procedure dxSideBar3ItemClick(Sender: TObject; Item: TdxSideBarItem);
// procedure dxSideBar4ItemClick(Sender: TObject; Item: TdxSideBarItem);
procedure SBListPrintClick(Sender: TObject);
procedure SBExitClick(Sender: TObject);
procedure SBAppendClick(Sender: TObject);
procedure SBUpdateClick(Sender: TObject);
procedure SBEditClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure SpeedButton7Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
currfunction:Integer;
procedure Calldll(dllname:string;iFlag:Integer;
sTableName:string;sSqlWhere:String;
sOperaterCode:string);
public
{ Public declarations }
end;
var
MainFrm: TMainFrm;
implementation
uses DataLinkUnit, GeneralLibUnit;
{$R *.dfm}
procedure TMainFrm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if application.MessageBox('确认退出系统吗?','退出系统',mb_yesno)=id_no then
canclose:=false;
end;
procedure TMainFrm.dxSideBar1ItemClick(Sender: TObject;
Item: TdxSideBarItem);
begin
if Trim(item.Caption)='使用单位设置' then
begin
currfunction:=10;
DM.AdoQueryOpen('select * from unit',qryView,'0','');
LoadGrid('ini\baseset.ini','unit',qryView,dxdbgrd1);
end;
if Trim(item.Caption)='部门设置' then
begin
currfunction:=11;
DM.AdoQueryOpen('select * from department',qryView,'0','');
LoadGrid('ini\baseset.ini','department',qryView,dxdbgrd1);
end;
if Trim(item.Caption)='收款人' then
begin
currfunction:=12;
DM.AdoQueryOpen('select * from Payee',qryView,'0','');
LoadGrid('ini\baseset.ini','Payee',qryView,dxdbgrd1);
end;
if Trim(item.Caption)='收费项目设置' then
begin
currfunction:=13;
DM.AdoQueryOpen('select * from Feeitems',qryView,'0','');
LoadGrid('ini\baseset.ini','item',qryView,dxdbgrd1);
end;
if Trim(item.Caption)='个体工商户档案' then
begin
currfunction:=14;
DM.AdoQueryOpen('select * from archives',qryView,'0','');
LoadGrid('ini\baseset.ini','archives',qryView,dxdbgrd1);
end;
stat1.Panels[3].Text:='当前功能:'+Item.Caption;
end;
procedure TMainFrm.dxSideBar2ItemClick(Sender: TObject;
Item: TdxSideBarItem);
begin
if Trim(item.Caption)='工商收费' then
begin
currfunction:=20;
DM.AdoQueryOpen('select * from bill',qryViewBill,'0','');
LoadGrid('ini\baseset.ini','bill',qryViewBill,dxDBGrid2);
end;
stat1.Panels[3].Text:='当前功能:'+Item.Caption;
end;
procedure TMainFrm.SBListPrintClick(Sender: TObject);
begin
SaveGrid('ini\baseset.ini','unit',qryView,dxdbgrd1);
end;
procedure TMainFrm.SBExitClick(Sender: TObject);
begin
if qryView.Active=True then
qryView.Close;
end;
procedure TMainFrm.SBAppendClick(Sender: TObject);
var
strbookmark:TBookmark;
begin
if qryView.Active=True then
begin
strbookmark:=qryView.GetBookmark;
case currfunction of
10:
Calldll('EdtUnit',1,'Unit',' and 编码='+qryView.FieldByName('编码').AsString,'');
11:
Calldll('EdtDepartment',1,'department',' and 编码='+qryView.FieldByName('编码').AsString,'');
12:
Calldll('EdtPayee',1,'Payee',' and 编码='+qryView.FieldByName('编码').AsString,'');
13:
Calldll('EdtItem',1,'FeeItems',' and 项目编码='+qryView.FieldByName('项目编码').AsString,'');
14:
Calldll('Edtarchives',1,'archives',' and 工商户代码='+qryView.FieldByName('工商户代码').AsString,'');
20:
Calldll('EdtBill',1,'Bill',' and 业主代码='+qryView.FieldByName('业主代码').AsString,'');
end;
SBUpdate.Click;
qryView.GotoBookmark(strbookmark);
end;
end;
{procedure TMainFrm.SpeedButton7AppendClick(Sender: TObject);
var
strbookmark:TBookmark;
begin
if dsViewBill.Active=True then
begin
strbookmark:=dsViewBill.GetBookmark;
case currfunction of
20:
Calldll('EdtBill',1,'Bill',' and 业主代码='+dsViewBill.FieldByName('业主代码').AsString,'');
end;
SBUpdate.Click;
dsViewBill.GotoBookmark(strbookmark);
end;
end;}
procedure TMainFrm.SBUpdateClick(Sender: TObject);
begin
qryView.Requery();
end;
procedure TMainFrm.SBEditClick(Sender: TObject);
var
strbookmark:TBookmark;
begin
if (qryView.Active=True) and (qryView.RecordCount>0) then
begin
strbookmark:=qryView.GetBookmark;
case currfunction of
10:
Calldll('EdtUnit',0,'Unit',' and 编码='+qryView.FieldByName('编码').AsString,'');
11:
Calldll('EdtDepartment',0,'department',' and 编码='+qryView.FieldByName('编码').AsString,'');
12:
Calldll('EdtPayee',0,'Payee',' and 编码='+qryView.FieldByName('编码').AsString,'');
13:
Calldll('EdtItem',0,'FeeItems',' and 项目编码='+qryView.FieldByName('项目编码').AsString,'');
14:
Calldll('EdtBill',0,'archives',' and 工商户代码='+qryView.FieldByName('工商户代码').AsString,'');
20:
Calldll('EdtItem',0,'Bill',' and 业主代码='+qryView.FieldByName('业主代码').AsString,'');
end;
SBUpdate.Click;
qryView.GotoBookmark(strbookmark);
end;
end;
procedure TMainFrm.Calldll(dllname: string; iFlag: Integer; sTableName,
sSqlWhere, sOperaterCode: string);
var
handle:THandle;
AddCheque:TAddCheque;
STrSqlfind:WideString;
begin
try
handle:=LoadLibrary(Pchar(ExtractFilePath(Application.ExeName)+'\Dll\'+dllname));
@AddCheque:=GetProcAddress(Handle,'AddCheque');
STrSqlfind:=AddCheque(gstrConnectionString,iFlag,sTableName,sSqlWhere,sOperaterCode);
except
Application.MessageBox('调用窗体出现问题!','警告',MB_ICONStop);
freelibrary(handle);
Exit;
end;
freelibrary(handle);
end;
procedure TMainFrm.FormShow(Sender: TObject);
begin
gstrConnectionString:=DM.conMain.ConnectionString;
stat1.Panels[0].Text:='操作员:'+gstrOperaterCode; // 这里的'operater'是全局变量,不能改为
stat1.Panels[1].Text:='服务器:server'; //Operater
stat1.Panels[2].Text:='当前日期:'+DateToStr(Now);
stat1.Panels[3].Text:='当前功能:';
stat1.Panels[4].Text:='使用单位:';
end;
procedure TMainFrm.SpeedButton7Click(Sender: TObject);
var
strbookmark:TBookmark;
begin
if qryViewBill.Active=True then
begin
strbookmark:=qryView.GetBookmark;
case currfunction of
20:
Calldll('EdtBill',1,'Bill',' and 业主代码='+qryViewBill.FieldByName('业主代码').AsString,'');
end;
SBUpdate.Click;
qryViewBill.GotoBookmark(strbookmark);
end;
end;
procedure TMainFrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=caFree;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -