D10DJzhuocan/public10/ThreeFun/Fun/U_RPFun.pas

232 lines
6.3 KiB
ObjectPascal
Raw Normal View History

2026-02-06 14:28:14 +08:00
unit U_RPFun;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, StdCtrls, BtnEdit, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DBGrids, DB, cxDBData,
cxGridLevel, cxClasses, cxControls, cxGridCustomView, ADODB, StrUtils, Midas,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxTimeEdit,
cxTreeView, cxGrid, cxDBLookupComboBox, cxCalendar, cxCurrencyEdit,
cxGridExportLink, ExtCtrls, Buttons, DBClient, RTComboBox, cxDropDownEdit,
cxGridBandedTableView, cxGridDBBandedTableView, cxRichEdit, cxButtonEdit,
IniFiles, WinSock, IdHTTP, dxcore, cxTextEdit, FireDAC.Comp.Client, cxCheckBox,
Vcl.Clipbrd, cxMemo, dxLayoutControl;
function FromPrintFr3(App: Tapplication; DataBaseStr: PChar; JsonArgs: PChar): PChar;
function FromShowFr3(App: Tapplication; DataBaseStr: PChar; JsonArgs: PChar): PChar;
function FunPrintFr3(App: Tapplication; DataBaseStr: PChar; JsonArgs: PChar): PChar;
function FromPrintRmf(App: Tapplication; DataBaseStr: PChar; JsonArgs: PChar): PChar;
function FunPrintRmf(App: Tapplication; DataBaseStr: PChar; JsonArgs: PChar): PChar;
//<2F>д<EFBFBD><D0B4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ѡ<EFBFBD>񱨱<EFBFBD>
function FromPrintReport(App: Tapplication; DataBaseStr: PChar; JsonArgs: PChar): PChar;
//<2F>޴<EFBFBD><DEB4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ѡ<EFBFBD>񱨱<EFBFBD>
function FunPrintReport(App: Tapplication; DataBaseStr: PChar; JsonArgs: PChar): PChar;
implementation
//<2F>޴<EFBFBD><DEB4><EFBFBD>
function FunPrintReport(App: Tapplication; DataBaseStr: PChar; JsonArgs: PChar): PChar;
var
FileName, MReport: string;
programIni: Tinifile; //<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
JsonResult: PChar;
begin
FileName := ExtractFilePath(Paramstr(0)) + 'SYSTEMSET.INI';
programIni := Tinifile.create(FileName);
MReport := programIni.ReadString('REPORTSET', 'reportType', '0');
programIni.Free;
if MReport = '0' then
begin
JsonResult := FunPrintFr3(App, DataBaseStr, JsonArgs);
end
else
begin
JsonResult := FunPrintRmf(App, DataBaseStr, JsonArgs);
end;
Result := JsonResult;
end;
function FromPrintReport(App: Tapplication; DataBaseStr: PChar; JsonArgs: PChar): PChar;
var
FileName, MReport: string;
programIni: Tinifile; //<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
JsonResult: PChar;
begin
FileName := ExtractFilePath(Paramstr(0)) + 'SYSTEMSET.INI';
programIni := Tinifile.create(FileName);
MReport := programIni.ReadString('REPORTSET', 'reportType', '0');
programIni.Free;
if MReport = '0' then
begin
JsonResult := FromPrintFr3(App, DataBaseStr, JsonArgs);
end
else
begin
JsonResult := FromPrintRmf(App, DataBaseStr, JsonArgs);
end;
Result := JsonResult;
end;
function FromPrintFr3(App: Tapplication; DataBaseStr: PChar; JsonArgs: PChar): PChar;
type
TMyFunc = function(App: Tapplication; FormID: integer; Title: PChar; DataBaseStr: PChar; JsonArgs: PChar): PChar; stdcall;
var
Tf: TMyFunc;
Tp: TFarProc;
Th: Thandle;
JsonResult: PChar;
begin
Th := LoadLibrary('ReportPrint.dll');
if Th > 0 then
begin
Tp := GetProcAddress(Th, 'GetDllForm');
if Tp <> nil then
begin
Tf := TMyFunc(Tp);
JsonResult := Tf(Application, 11, 'FR3<52><33><EFBFBD><EFBFBD>', DataBaseStr, JsonArgs);
end
else
begin
JsonResult := '{"succsee":false,"message": "<22><>ȡ<EFBFBD><C8A1><EFBFBD>ú<EFBFBD><C3BA>쳣"}';
end;
end
else
begin
JsonResult := '{"succsee":false,"message": "<22>Ҳ<EFBFBD><D2B2><EFBFBD>ReportPrint.dll"}';
end;
Result := JsonResult;
end;
function FromShowFr3(App: Tapplication; DataBaseStr: PChar; JsonArgs: PChar): PChar;
type
TMyFunc = function(App: Tapplication; FormID: integer; Title: PChar; DataBaseStr: PChar; JsonArgs: PChar): PChar; stdcall;
var
Tf: TMyFunc;
Tp: TFarProc;
Th: Thandle;
JsonResult: PChar;
begin
Th := LoadLibrary('ReportPrint.dll');
if Th > 0 then
begin
Tp := GetProcAddress(Th, 'GetDllForm');
if Tp <> nil then
begin
Tf := TMyFunc(Tp);
JsonResult := Tf(Application, 13, 'FR3<52><33><EFBFBD><EFBFBD>', DataBaseStr, JsonArgs);
end
else
begin
JsonResult := '{"succsee":false,"message": "<22><>ȡ<EFBFBD><C8A1><EFBFBD>ú<EFBFBD><C3BA>쳣"}';
end;
end
else
begin
JsonResult := '{"succsee":false,"message": "<22>Ҳ<EFBFBD><D2B2><EFBFBD>ReportPrint.dll"}';
end;
Result := JsonResult;
end;
function FunPrintFr3(App: Tapplication; DataBaseStr: PChar; JsonArgs: PChar): PChar;
type
TMyFunc = function(App: Tapplication; FormID: integer; Title: PChar; DataBaseStr: PChar; JsonArgs: PChar): PChar; stdcall;
var
Tf: TMyFunc;
Tp: TFarProc;
Th: Thandle;
JsonResult: PChar;
begin
Th := LoadLibrary('ReportPrint.dll');
if Th > 0 then
begin
Tp := GetProcAddress(Th, 'GetDllForm');
if Tp <> nil then
begin
Tf := TMyFunc(Tp);
JsonResult := Tf(Application, 12, 'FR3<52><33><EFBFBD><EFBFBD>', DataBaseStr, JsonArgs);
end
else
begin
JsonResult := '{"succsee":false,"message": "<22><>ȡ<EFBFBD><C8A1><EFBFBD>ú<EFBFBD><C3BA>쳣"}';
end;
end
else
begin
JsonResult := '{"succsee":false,"message": "<22>Ҳ<EFBFBD><D2B2><EFBFBD>ReportPrint.dll"}';
end;
Result := JsonResult;
end;
function FromPrintRmf(App: Tapplication; DataBaseStr: PChar; JsonArgs: PChar): PChar;
type
TMyFunc = function(App: Tapplication; FormID: integer; Title: PChar; DataBaseStr: PChar; JsonArgs: PChar): PChar; stdcall;
var
Tf: TMyFunc;
Tp: TFarProc;
Th: Thandle;
JsonResult: PChar;
begin
Th := LoadLibrary('ReportPrint.dll');
if Th > 0 then
begin
Tp := GetProcAddress(Th, 'GetDllForm');
if Tp <> nil then
begin
Tf := TMyFunc(Tp);
JsonResult := Tf(Application, 21, 'Rmf<6D><66><EFBFBD><EFBFBD>', DataBaseStr, JsonArgs);
end
else
begin
JsonResult := '{"succsee":false,"message": "<22><>ȡ<EFBFBD><C8A1><EFBFBD>ú<EFBFBD><C3BA>쳣"}';
end;
end
else
begin
JsonResult := '{"succsee":false,"message": "<22>Ҳ<EFBFBD><D2B2><EFBFBD>ReportPrint.dll"}';
end;
Result := JsonResult;
end;
function FunPrintRmf(App: Tapplication; DataBaseStr: PChar; JsonArgs: PChar): PChar;
type
TMyFunc = function(App: Tapplication; FormID: integer; Title: PChar; DataBaseStr: PChar; JsonArgs: PChar): PChar; stdcall;
var
Tf: TMyFunc;
Tp: TFarProc;
Th: Thandle;
JsonResult: PChar;
begin
Th := LoadLibrary('ReportPrint.dll');
if Th > 0 then
begin
Tp := GetProcAddress(Th, 'GetDllForm');
if Tp <> nil then
begin
Tf := TMyFunc(Tp);
JsonResult := Tf(Application, 22, 'Rmf<6D><66><EFBFBD><EFBFBD>', DataBaseStr, JsonArgs);
end
else
begin
JsonResult := '{"succsee":false,"message": "<22><>ȡ<EFBFBD><C8A1><EFBFBD>ú<EFBFBD><C3BA>쳣"}';
end;
end
else
begin
JsonResult := '{"succsee":false,"message": "<22>Ҳ<EFBFBD><D2B2><EFBFBD>ReportPrint.dll"}';
end;
Result := JsonResult;
end;
end.