D7myzhenyong/进度统计查询(Statistics.dll)/U_GetDllForm.pas
DESKTOP-E401PHE\Administrator 237de1c308 0
2025-08-26 15:25:51 +08:00

504 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, dxCore,
ActiveX;
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_SxXnKcList, U_KkAndDjList, U_OrderProgress, U_AllOrderProgress,
U_OrderProgressMS, U_DJCLList, U_DDDJCLList, U_OrderGDProgress, U_GDKHProgress,
U_YWYHX, U_DDLIST, U_GDXSETJList, U_CPKCLIST;
/////////////////////////////////////////////////////////////////
// 功能说明:取Dll中得窗体 //
// 参数说明App>>调用应用程序; //
// FormH>>调用窗口句柄 //
// FormID>>窗口号; //
// Language>>语言种类; //
// WinStyle>>窗口类型; //
/////////////////////////////////////////////////////////////////
var
frmDDLISTGL, frmDDLISTZZ, frmDDLISTYW, frmDDLISTGD: TfrmDDLIST;
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
i: Integer;
bFound: Boolean;
mnewHandle: hwnd;
mstyle: TFormStyle; // 0:子窗口; 1普通窗口
mstate: TWindowState;
mborderstyle: TFormBorderStyle;
begin
mnewHandle := 0;
DName := PChar(GName);
DCode := PChar(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 := '47.100.130.130,7781';
// server := '.';
dtbase := 'zhenyongdata';
user := 'zhenyongsa';
pswd := 'rightsoft@9101';
// pswd := 'rightsoft';
DConString := 'Provider=SQLOLEDB.1;Password=' + pswd + ';Persist Security Info=True;User ID=' + user + ';Initial Catalog=' + dtbase + ';Data Source=' + server;
DConString := DataBaseStr;
// DName := '王秋琴';
//DParameters1:='高权限'; //高权限
//DParameters3:='1';
if not ConnData() then
begin
result := 0;
exit;
end;
// 定义窗口类型 、状态
if WinStyle = 0 then
begin
mstyle := fsMDIChild;
mstate := wsMaximized;
mborderstyle := bsSizeable;
end
else
begin
mstyle := fsNormal;
mstate := wsNormal;
mborderstyle := bsSizeable;
end;
/////////////////////
//调用子模块窗口
case FormID of
1: //产品库存信息表
begin
if frmCPKCLIST = nil then
begin
frmCPKCLIST := TfrmCPKCLIST.Create(application.MainForm);
with frmCPKCLIST do
begin
caption := Trim(Title);
FormStyle := mstyle;
windowState := mstate;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmCPKCLIST.BringToFront;
//句柄
mnewHandle := frmCPKCLIST.Handle;
end;
211: //跟单销售额统计表
begin
if frmGDXSETJList = nil then
begin
frmGDXSETJList := TfrmGDXSETJList.Create(application.MainForm);
with frmGDXSETJList do
begin
caption := Trim(Title);
FormStyle := mstyle;
windowState := mstate;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmGDXSETJList.BringToFront;
//句柄
mnewHandle := frmGDXSETJList.Handle;
end;
111: //开卡与打卷对比
begin
if frmKkAndDjList = nil then
begin
frmKkAndDjList := TfrmKkAndDjList.Create(application.MainForm);
with frmKkAndDjList do
begin
caption := Trim(Title);
FormStyle := mstyle;
windowState := mstate;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmKkAndDjList.BringToFront;
//句柄
mnewHandle := frmKkAndDjList.Handle;
end;
121: //跟进表
begin
if frmOrderProgress = nil then
begin
frmOrderProgress := TfrmOrderProgress.Create(application.MainForm);
with frmOrderProgress do
begin
caption := Trim(Title);
FormStyle := mstyle;
windowState := mstate;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmOrderProgress.BringToFront;
//句柄
mnewHandle := frmOrderProgress.Handle;
end;
122: //每色跟进表
begin
if frmOrderProgressMS = nil then
begin
frmOrderProgressMS := TfrmOrderProgressMS.Create(application.MainForm);
with frmOrderProgressMS do
begin
caption := Trim(Title);
FormStyle := mstyle;
windowState := mstate;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmOrderProgressMS.BringToFront;
//句柄
mnewHandle := frmOrderProgressMS.Handle;
end;
123: //每日打卷产量表
begin
if frmDJCLList = nil then
begin
frmDJCLList := TfrmDJCLList.Create(application.MainForm);
with frmDJCLList do
begin
caption := Trim(Title);
FormStyle := mstyle;
windowState := mstate;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmDJCLList.BringToFront;
//句柄
mnewHandle := frmDJCLList.Handle;
end;
124: //订单打卷量表
begin
if frmDDDJCLList = nil then
begin
frmDDDJCLList := TfrmDDDJCLList.Create(application.MainForm);
with frmDDDJCLList do
begin
caption := Trim(Title);
FormStyle := mstyle;
windowState := mstate;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmDDDJCLList.BringToFront;
//句柄
mnewHandle := frmDDDJCLList.Handle;
end;
125: //跟单回仓核查
begin
if frmOrderGDProgress = nil then
begin
frmOrderGDProgress := TfrmOrderGDProgress.Create(application.MainForm);
with frmOrderGDProgress do
begin
caption := Trim(Title);
FormStyle := mstyle;
windowState := mstate;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmOrderGDProgress.BringToFront;
//句柄
mnewHandle := frmOrderGDProgress.Handle;
end;
126: //订单考核信息表
begin
if frmGDKHProgress = nil then
begin
frmGDKHProgress := TfrmGDKHProgress.Create(application.MainForm);
with frmGDKHProgress do
begin
caption := Trim(Title);
FormStyle := mstyle;
windowState := mstate;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmGDKHProgress.BringToFront;
//句柄
mnewHandle := frmGDKHProgress.Handle;
end;
141: //客户打样下单情况统计
begin
if frmYWYHX = nil then
begin
frmYWYHX := TfrmYWYHX.Create(application.MainForm);
with frmYWYHX do
begin
caption := Trim(Title);
FormStyle := mstyle;
windowState := mstate;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmYWYHX.BringToFront;
//句柄
mnewHandle := frmYWYHX.Handle;
end;
151: //订单情况(高权限)
begin
bFound := FALSE;
for i := (App.MainForm.MDIChildCount - 1) downto 0 do
begin
if App.MainForm.MDIChildren[i].Caption = '订单信息表(高权限)' then
begin
BringWindowToTop(frmDDLISTGL.Handle);
bFound := TRUE;
Break;
end;
end;
if not bFound then
begin
frmDDLISTGL := TfrmDDLIST.Create(application.MainForm);
with frmDDLISTGL do
begin
Title := '订单信息表(高权限)';
CANSHU1 := '高权限';
caption := Trim(Title);
FormStyle := mstyle;
windowState := mstate;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmDDLISTGL.BringToFront;
//句柄
mnewHandle := frmDDLISTGL.Handle;
end;
152: //订单情况(业务)
begin
bFound := FALSE;
for i := (App.MainForm.MDIChildCount - 1) downto 0 do
begin
if App.MainForm.MDIChildren[i].Caption = '订单信息表(业务)' then
begin
BringWindowToTop(frmDDLISTYW.Handle);
bFound := TRUE;
Break;
end;
end;
if not bFound then
begin
frmDDLISTYW := TfrmDDLIST.Create(application.MainForm);
with frmDDLISTYW do
begin
Title := '订单信息表(业务)';
CANSHU1 := '业务';
caption := Trim(Title);
FormStyle := mstyle;
windowState := mstate;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmDDLISTYW.BringToFront;
//句柄
mnewHandle := frmDDLISTYW.Handle;
end;
153: //订单情况(组长)
begin
bFound := FALSE;
for i := (App.MainForm.MDIChildCount - 1) downto 0 do
begin
if App.MainForm.MDIChildren[i].Caption = '订单信息表(组长)' then
begin
BringWindowToTop(frmDDLISTZZ.Handle);
bFound := TRUE;
Break;
end;
end;
if not bFound then
begin
frmDDLISTZZ := TfrmDDLIST.Create(application.MainForm);
with frmDDLISTZZ do
begin
Title := '订单信息表(组长)';
CANSHU1 := '组长';
caption := Trim(Title);
FormStyle := mstyle;
windowState := mstate;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmDDLISTZZ.BringToFront;
//句柄
mnewHandle := frmDDLISTZZ.Handle;
end;
154: //订单情况(跟单组长)
begin
bFound := FALSE;
for i := (App.MainForm.MDIChildCount - 1) downto 0 do
begin
if App.MainForm.MDIChildren[i].Caption = '订单信息表(跟单组长)' then
begin
BringWindowToTop(frmDDLISTGD.Handle);
bFound := TRUE;
Break;
end;
end;
if not bFound then
begin
frmDDLISTGD := TfrmDDLIST.Create(application.MainForm);
with frmDDLISTGD do
begin
Title := '订单信息表(跟单组长)';
CANSHU1 := '跟单组长';
caption := Trim(Title);
FormStyle := mstyle;
windowState := mstate;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmDDLISTGD.BringToFront;
//句柄
mnewHandle := frmDDLISTGD.Handle;
end;
155: //订单情况(跟单)
begin
bFound := FALSE;
for i := (App.MainForm.MDIChildCount - 1) downto 0 do
begin
if App.MainForm.MDIChildren[i].Caption = '订单信息表(跟单)' then
begin
BringWindowToTop(frmDDLISTGD.Handle);
bFound := TRUE;
Break;
end;
end;
if not bFound then
begin
frmDDLISTGD := TfrmDDLIST.Create(application.MainForm);
with frmDDLISTGD do
begin
Title := '订单信息表(跟单)';
CANSHU1 := '跟单';
caption := Trim(Title);
FormStyle := mstyle;
windowState := mstate;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmDDLISTGD.BringToFront;
//句柄
mnewHandle := frmDDLISTGD.Handle;
end;
end;
Result := mnewHandle;
end;
//===========================================================
//建立数据库连接池
//===========================================================
function ConnData(): Boolean;
begin
if not Assigned(DataLink_Statistics) then
DataLink_Statistics := TDataLink_Statistics.Create(Application);
try
with DataLink_Statistics.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
CoInitialize(nil);
dxUnitsLoader.Initialize;
finalization
DataLink_Statistics.Free;
application := NewDllApp;
dxUnitsLoader.Finalize;
end.