D7wmleixiaofu/应收应付/U_GetDllForm.pas
DESKTOP-E401PHE\Administrator c446a0860f ~
2025-04-30 16:04:42 +08:00

539 lines
14 KiB
ObjectPascal
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit U_GetDllForm;
interface
uses
Windows,Messages,forms,OleCtnrs,DateUtils,SysUtils,ADODB;
function GetDllForm(App:Tapplication; FormH:hwnd; FormID:integer;
Language: integer; WinStyle:integer;
GCode: Pchar; GName: Pchar; DataBase:Pchar;Title:PChar;
Parameters1:PChar;Parameters2:PChar;Parameters3:PChar;Parameters4:PChar;
Parameters5:PChar;Parameters6:PChar;Parameters7:PChar;Parameters8:PChar;
Parameters9:PChar;Parameters10:PChar;DataBaseStr:PChar):hwnd;export;stdcall;
function ConnData():Boolean;
implementation
uses
U_DataLink,U_Fun,U_YFCR,U_FKCR,
U_YFFKList,U_YSCR,U_SKCR,U_YSSKList,U_ProductOrderCost,U_YFFP,U_YSFP
,U_YFCRLZ,U_YSCRLZ,U_YSHZMX,U_YFCRYCL,U_YSCROL,U_SKCROLJ,U_YSHZMXOLJ
,U_SKCRLZ,U_YSHZMXDL,U_FKCRLZ,U_YSHZMXView,U_YFCRLZView,U_YFCRLZQty,
U_YSCRJZC,U_YSCR_Gd,U_SKCR_Gd,U_YFZDList_MX,U_YSZDList_MX,U_YFMXlist,U_YSMXlist,U_FKCR_GD,U_YFCR_GD;
/////////////////////////////////////////////////////////////////
// 功能说明:取Dll中得窗体 //
// 参数说明App>>调用应用程序; //
// FormH>>调用窗口句柄 //
// FormID>>窗口号; //
// Language>>语言种类; //
// WinStyle>>窗口类型; //
/////////////////////////////////////////////////////////////////
function GetDllForm(App:Tapplication; FormH:hwnd; FormID:integer;
Language: integer; WinStyle:integer;
GCode: Pchar; GName: Pchar; DataBase:Pchar;Title:PChar;
Parameters1:PChar;Parameters2:PChar;Parameters3:PChar;Parameters4:PChar;
Parameters5:PChar;Parameters6:PChar;Parameters7:PChar;Parameters8:PChar;
Parameters9:PChar;Parameters10:PChar;
DataBaseStr:PChar):hwnd;
var
mnewHandle: hwnd;
mstyle: TFormStyle; // 0:子窗口; 1普通窗口
mstate: TWindowState;
mborderstyle: TFormBorderStyle;
begin
mNewHandle:=0;
DName:=GName;
DCode:=GCode;
DdataBase:=DataBase;
DTitCaption:=Title;
DParameters1:=Parameters1;
DParameters2:=Parameters2;
DParameters3:=Parameters3;
DParameters4:=Parameters4;
DParameters5:=Parameters5;
DParameters6:=Parameters6;
DParameters7:=Parameters7;
DParameters8:=Parameters8;
DParameters9:=Parameters9;
DParameters10:=Parameters10;
MainApplication:=App;
DCurHandle:=FormH;
IsDelphiLanguage:= Language;
Application:=TApplication(App);
DCurHandle:=0;
//赋值链接字符串
SetLength(server, 255);
SetLength(dtbase, 255);
SetLength(user, 255);
SetLength(pswd, 255);
//server:='192.168.1.99'; //192.168.1.113
server:='202.96.107.70,7781';
dtbase:='haoyuedata';
// dtbase:='jianweidata';
user:='sa';
pswd:='rightsoft@123';
// pswd:='numlock';
DConString := 'Provider=SQLOLEDB.1;Password='+pswd+';Persist Security Info=True;User ID='
+user+';Initial Catalog='+dtbase+';Data Source='+server;
DConString:=DataBaseStr;
// DParameters1:='无订单号';
//DParameters1:='管理';//103
// DParameters2:='人民币';
Parameters1:='高权限';
// DataBase:='高权限';
// DataBase:='1';
// DParameters1:='2';
// DParameters3:='项目分开';
// DParameters4:='对方单位分开';
//DParameters5:='开票';
//DParameters6:='其它'; //应付款
//DParameters7:='匹数'; //应收款
//DCode:='test';
//DName:='虞晓';
//DParameters9:='支付台头';
//DParameters8:='FactoryNo1Name';
//DParameters10:='P_YSSK_ListTT';
if not ConnData() then
begin
result:=0;
exit;
end;
{ if IsINIFile() then
ReadINIFile()
else
WriteINIFile ;}
// 定义窗口类型 、状态
if WinStyle=0 then
begin
mstyle := fsMDIChild ;
mstate := wsMaximized ;
mborderstyle := bsSizeable;
end
else
begin
mstyle := fsNormal ;
mstate := wsNormal ;
mborderstyle := bsSizeable;
end;
////////////////////
{ GetSWLDZ('192.168.1.246');
if IpCall<>0 then
begin
Result:=0;
Application.MessageBox('!!网络不通!!','提示',0);
Exit;
end;
if Trim(IpWLDZStr)<>'D4:AE:52:BE:9F:02' then
begin
Result:=0;
Application.MessageBox('!!数据库连接失败!!','提示',0);
Exit;
end; }
/////////////////////
//调用子模块窗口
case FormId of
1: //应付款登记
begin
if frmYFCR=nil then
begin
frmYFCR:= TfrmYFCR.Create(application.MainForm);
with frmYFCR do
begin
caption:=Trim(Title);
fmanage:=trim(Parameters1);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmYFCR.BringToFront;
//句柄
mNewHandle:=frmYFCR.Handle;
end ;
2: //付款登记
begin
if frmFKCR=nil then
begin
frmFKCR:= TfrmFKCR.Create(application.MainForm);
with frmFKCR do
begin
caption:=Trim(Title);
fmanage:=trim(Parameters1);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmFKCR.BringToFront;
//句柄
mNewHandle:=frmFKCR.Handle;
end ;
3: //应付款付款统计
begin
if frmYFFKList=nil then
begin
frmYFFKList:= TfrmYFFKList.Create(application.MainForm);
with frmYFFKList do
begin
caption:=Trim(Title);
// fDParameters1:=trim('0');
fDParameters1:=trim(DParameters1);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmYFFKList.BringToFront;
//句柄
mNewHandle:=frmYFFKList.Handle;
end ;
31: //应付款明细账单
begin
if frmYFZDList_MX=nil then
begin
frmYFZDList_MX:= TfrmYFZDList_MX.Create(application.MainForm);
with frmYFZDList_MX do
begin
caption:=Trim(Title);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmYFZDList_MX.BringToFront;
//句柄
mNewHandle:=frmYFZDList_MX.Handle;
end ;
4: //应收款登记
begin
if frmYSCR=nil then
begin
frmYSCR:= TfrmYSCR.Create(application.MainForm);
with frmYSCR do
begin
fflag:=strtointdef(trim(DataBase),0);
fmanage:=trim(Parameters1);
caption:=Trim(Title);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmYSCR.BringToFront;
//句柄
mNewHandle:=frmYSCR.Handle;
end ;
5: //收款登记
begin
if frmSKCR=nil then
begin
frmSKCR:= TfrmSKCR.Create(application.MainForm);
with frmSKCR do
begin
caption:=Trim(Title);
fflag:=strtointdef(trim(DataBase),0);
fmanage:=trim(Parameters1);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmSKCR.BringToFront;
//句柄
mNewHandle:=frmSKCR.Handle;
end ;
6: //应收款收款统计
begin
if frmYSSKList=nil then
begin
frmYSSKList:= TfrmYSSKList.Create(application.MainForm);
with frmYSSKList do
begin
caption:=Trim(Title);
fDParameters1:=trim(DParameters1);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmYSSKList.BringToFront;
//句柄
mNewHandle:=frmYSSKList.Handle;
end ;
61: //应收款收款统计
begin
if frmYSZDList_MX=nil then
begin
frmYSZDList_MX:= TfrmYSZDList_MX.Create(application.MainForm);
with frmYSZDList_MX do
begin
caption:=Trim(Title);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmYSZDList_MX.BringToFront;
//句柄
mNewHandle:=frmYSZDList_MX.Handle;
end ;
7: //订单核算统计查询
begin
if frmProductOrderCost=nil then
begin
frmProductOrderCost:= TfrmProductOrderCost.Create(application.MainForm);
with frmProductOrderCost do
begin
caption:=Trim(Title);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmProductOrderCost.BringToFront;
//句柄
mNewHandle:=frmProductOrderCost.Handle;
end;
8: //进项发票登记
begin
if frmYFFP=nil then
begin
frmYFFP:= TfrmYFFP.Create(application.MainForm);
with frmYFFP do
begin
caption:=Trim(Title);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmYFFP.BringToFront;
//句柄
mNewHandle:=frmYFFP.Handle;
end;
9: //销项发票登记
begin
if frmYSFP=nil then
begin
frmYSFP:= TfrmYSFP.Create(application.MainForm);
with frmYSFP do
begin
caption:=Trim(Title);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmYSFP.BringToFront;
//句柄
mNewHandle:=frmYSFP.Handle;
end;
10: //应收账款明细
begin
if frmYSHZMX=nil then
begin
frmYSHZMX:= TfrmYSHZMX.Create(application.MainForm);
with frmYSHZMX do
begin
caption:=Trim(Title);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmYSHZMX.BringToFront;
//句柄
mNewHandle:=frmYSHZMX.Handle;
end;
102: //应收账款明细(代理)
begin
if frmYSHZMXDL=nil then
begin
frmYSHZMXDL:= TfrmYSHZMXDL.Create(application.MainForm);
with frmYSHZMXDL do
begin
caption:=Trim(Title);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmYSHZMXDL.BringToFront;
//句柄
mNewHandle:=frmYSHZMXDL.Handle;
end;
103: //应收账款明细查询
begin
if frmYSHZMXView=nil then
begin
frmYSHZMXView:= TfrmYSHZMXView.Create(application.MainForm);
with frmYSHZMXView do
begin
caption:=Trim(Title);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmYSHZMXView.BringToFront;
//句柄
mNewHandle:=frmYSHZMXView.Handle;
end;
101: //应收账款明细OLJ
begin
if frmYSHZMXOLJ=nil then
begin
frmYSHZMXOLJ:= TfrmYSHZMXOLJ.Create(application.MainForm);
with frmYSHZMXOLJ do
begin
caption:=Trim(Title);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmYSHZMXOLJ.BringToFront;
//句柄
mNewHandle:=frmYSHZMXOLJ.Handle;
end;
20: //应收账款明细OLJ
begin
if frmYFMXlist=nil then
begin
frmYFMXlist:= TfrmYFMXlist.Create(application.MainForm);
with frmYFMXlist do
begin
caption:=Trim(Title);
fType:=trim(DataBase);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmYFMXlist.BringToFront;
//句柄
mNewHandle:=frmYFMXlist.Handle;
end;
201: //应收账款明细OLJ
begin
if frmYSMXlist=nil then
begin
frmYSMXlist:= TfrmYSMXlist.Create(application.MainForm);
with frmYSMXlist do
begin
caption:=Trim(Title);
// fType:='0';
fType:=trim(DataBase);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmYSMXlist.BringToFront;
//句柄
mNewHandle:=frmYSMXlist.Handle;
end;
end ; // end case
Result:= mnewHandle;
NewDllApp:=Application ;
end;
//===========================================================
//建立数据库连接池
//===========================================================
function ConnData():Boolean;
begin
if not Assigned(DataLink_YSYF) then
DataLink_YSYF:=TDataLink_YSYF.Create(Application);
Try
with DataLink_YSYF.ADOLink do
begin
if not Connected then
begin
Connected:=false;
ConnectionString:=DConString;
LoginPrompt:=false;
Connected:=true;
end;
end;
Result:=true;
Except
Result:=false;
application.MessageBox('数据库连接失败!','错误',mb_Ok+ MB_ICONERROR);
end;
end;
INITIALIZATION
OldDllApp:= Application;
FINALIZATION
DataLink_YSYF.Free;
Application := OldDllApp;
end.