添加二维码

This commit is contained in:
DESKTOP-E401PHE\Administrator 2025-08-30 13:46:21 +08:00
parent 45d496c3ad
commit a44aa2e3e5
8 changed files with 301 additions and 159 deletions

3
.gitignore vendored
View File

@ -4,6 +4,7 @@
**/image **/image
**/doc **/doc
**/wav **/wav
**/QrCode
**/__history **/__history
**/__recovery **/__recovery
*.dll *.dll
@ -19,4 +20,4 @@
*.identcache *.identcache
*.local *.local
*.zip *.zip
*.rar *.rar

View File

@ -1,8 +1,8 @@
object frmClientPrintRmf: TfrmClientPrintRmf object frmClientPrintRmf: TfrmClientPrintRmf
Left = 874 Left = 874
Top = 483 Top = 483
Width = 419 Width = 754
Height = 249 Height = 704
Caption = #25253#34920#25171#21360 Caption = #25253#34920#25171#21360
Color = clBtnFace Color = clBtnFace
Font.Charset = DEFAULT_CHARSET Font.Charset = DEFAULT_CHARSET
@ -22,20 +22,20 @@ object frmClientPrintRmf: TfrmClientPrintRmf
Connection = ADOConnection1 Connection = ADOConnection1
LockType = ltReadOnly LockType = ltReadOnly
Parameters = <> Parameters = <>
Left = 265 Left = 273
Top = 65503 Top = 12
end end
object ADOConnection1: TADOConnection object ADOConnection1: TADOConnection
LoginPrompt = False LoginPrompt = False
Left = 19 Left = 27
Top = 65503 Top = 12
end end
object ImageList1: TImageList object ImageList1: TImageList
DrawingStyle = dsTransparent DrawingStyle = dsTransparent
Height = 32 Height = 32
Width = 32 Width = 32
Left = 101 Left = 109
Top = 91 Top = 136
Bitmap = { Bitmap = {
494C010119002400040020002000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 494C010119002400040020002000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
000000000000360000002800000080000000E0000000010020000000000000C0 000000000000360000002800000080000000E0000000010020000000000000C0
@ -3742,9 +3742,9 @@ object frmClientPrintRmf: TfrmClientPrintRmf
end end
object RMDB_1: TRMDBDataSet object RMDB_1: TRMDBDataSet
Visible = True Visible = True
DataSet = ADO_1 DataSet = CDS_1
Left = 265 Left = 273
Top = 91 Top = 136
end end
object RM1: TRMGridReport object RM1: TRMGridReport
ThreadPrepareReport = True ThreadPrepareReport = True
@ -3763,48 +3763,34 @@ object frmClientPrintRmf: TfrmClientPrintRmf
CompressThread = False CompressThread = False
LaterBuildEvents = True LaterBuildEvents = True
OnlyOwnerDataSet = False OnlyOwnerDataSet = False
Left = 265 Left = 273
Top = 153 Top = 198
ReportData = {} ReportData = {}
end end
object RMDB_2: TRMDBDataSet object RMDB_2: TRMDBDataSet
Visible = True Visible = True
DataSet = ADO_2 DataSet = CDS_2
Left = 347 Left = 355
Top = 91 Top = 136
end end
object CDS_Label: TClientDataSet object CDS_Label: TClientDataSet
Aggregates = <> Aggregates = <>
Params = <> Params = <>
Left = 19 Left = 27
Top = 91 Top = 136
end end
object ADO_1: TADOQuery object ADO_Prt: TADOQuery
Connection = ADOConnection1 Connection = ADOConnection1
LockType = ltReadOnly LockType = ltReadOnly
Parameters = <> Parameters = <>
Left = 347 Left = 355
Top = 65503 Top = 12
end
object ADO_2: TADOQuery
Connection = ADOConnection1
LockType = ltReadOnly
Parameters = <>
Left = 19
Top = 29
end end
object RMDB_3: TRMDBDataSet object RMDB_3: TRMDBDataSet
Visible = True Visible = True
DataSet = ADO_3 DataSet = CDS_3
Left = 19 Left = 27
Top = 153 Top = 198
end
object ADO_3: TADOQuery
Connection = ADOConnection1
LockType = ltReadOnly
Parameters = <>
Left = 101
Top = 29
end end
object RMXLSExport1: TRMXLSExport object RMXLSExport1: TRMXLSExport
ShowAfterExport = True ShowAfterExport = True
@ -3817,61 +3803,78 @@ object frmClientPrintRmf: TfrmClientPrintRmf
ScaleX = 1.000000000000000000 ScaleX = 1.000000000000000000
ScaleY = 1.000000000000000000 ScaleY = 1.000000000000000000
CompressFile = False CompressFile = False
Left = 19 Left = 27
Top = 215 Top = 260
end end
object RMJPEGExport1: TRMJPEGExport object RMJPEGExport1: TRMJPEGExport
ScaleX = 1.000000000000000000 ScaleX = 1.000000000000000000
ScaleY = 1.000000000000000000 ScaleY = 1.000000000000000000
Left = 347 Left = 355
Top = 153 Top = 198
end end
object RMBarCodeObject1: TRMBarCodeObject object RMBarCodeObject1: TRMBarCodeObject
Left = 183 Left = 191
Top = 91 Top = 136
end end
object ADOQueryCmd: TADOQuery object ADOQueryCmd: TADOQuery
Connection = ADOConnection1 Connection = ADOConnection1
Parameters = <> Parameters = <>
Left = 101 Left = 109
Top = 65503 Top = 12
end end
object ADO_While: TADOQuery object ADO_While: TADOQuery
Connection = ADOConnection1 Connection = ADOConnection1
LockType = ltReadOnly LockType = ltReadOnly
Parameters = <> Parameters = <>
Left = 347 Left = 355
Top = 29 Top = 74
end
object ADO_4: TADOQuery
Connection = ADOConnection1
LockType = ltReadOnly
Parameters = <>
Left = 183
Top = 29
end end
object RMDB_4: TRMDBDataSet object RMDB_4: TRMDBDataSet
Visible = True Visible = True
DataSet = ADO_4 DataSet = CDS_4
Left = 101 Left = 109
Top = 153 Top = 198
end
object ADO_5: TADOQuery
Connection = ADOConnection1
LockType = ltReadOnly
Parameters = <>
Left = 265
Top = 29
end end
object RMDB_5: TRMDBDataSet object RMDB_5: TRMDBDataSet
Visible = True Visible = True
DataSet = ADO_5 DataSet = CDS_5
Left = 183 Left = 191
Top = 153 Top = 198
end end
object ADOQueryReport: TADOQuery object ADOQueryReport: TADOQuery
Connection = ADOConnection1
Parameters = <> Parameters = <>
Left = 183 Left = 191
Top = 65503 Top = 12
end
object CDS_1: TClientDataSet
Aggregates = <>
Params = <>
Left = 123
Top = 288
end
object CDS_2: TClientDataSet
Aggregates = <>
Params = <>
Left = 259
Top = 304
end
object CDS_3: TClientDataSet
Aggregates = <>
Params = <>
Left = 203
Top = 360
end
object CDS_4: TClientDataSet
Aggregates = <>
Params = <>
Left = 331
Top = 376
end
object CDS_5: TClientDataSet
Aggregates = <>
Params = <>
Left = 411
Top = 376
end end
end end

View File

@ -23,20 +23,21 @@ type
RM1: TRMGridReport; RM1: TRMGridReport;
RMDB_2: TRMDBDataSet; RMDB_2: TRMDBDataSet;
CDS_Label: TClientDataSet; CDS_Label: TClientDataSet;
ADO_1: TADOQuery; ADO_Prt: TADOQuery;
ADO_2: TADOQuery;
RMDB_3: TRMDBDataSet; RMDB_3: TRMDBDataSet;
ADO_3: TADOQuery;
RMXLSExport1: TRMXLSExport; RMXLSExport1: TRMXLSExport;
RMJPEGExport1: TRMJPEGExport; RMJPEGExport1: TRMJPEGExport;
RMBarCodeObject1: TRMBarCodeObject; RMBarCodeObject1: TRMBarCodeObject;
ADOQueryCmd: TADOQuery; ADOQueryCmd: TADOQuery;
ADO_While: TADOQuery; ADO_While: TADOQuery;
ADO_4: TADOQuery;
RMDB_4: TRMDBDataSet; RMDB_4: TRMDBDataSet;
ADO_5: TADOQuery;
RMDB_5: TRMDBDataSet; RMDB_5: TRMDBDataSet;
ADOQueryReport: TADOQuery; ADOQueryReport: TADOQuery;
CDS_1: TClientDataSet;
CDS_2: TClientDataSet;
CDS_3: TClientDataSet;
CDS_4: TClientDataSet;
CDS_5: TClientDataSet;
procedure FormCreate(Sender: TObject); procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject); procedure FormShow(Sender: TObject);
@ -44,25 +45,33 @@ type
procedure TV1DblClick(Sender: TObject); procedure TV1DblClick(Sender: TObject);
private private
IsDebug, FPreviewPrint, fIsPreview: Boolean; IsDebug, FPreviewPrint, fIsPreview: Boolean;
FLMType, FLBName: string; FLMType, FLBName, FQrCodeField: string;
FExportFileType, FExportFileName: string; FExportFileType, FExportFileName: string;
SqlStr1, SqlStr2, SqlStr3, SqlStr4, SqlStr5: string; SqlStr1, SqlStr2, SqlStr3, SqlStr4, SqlStr5: string;
FSuccessfulFun: string; FSuccessfulFun: string;
FparamBlclid: string; FparamBlclid: string;
procedure PrintReport(); procedure PrintReport();
procedure ExportReport(); procedure ExportReport();
procedure InitAdo(Ado: TADOQuery; SqlStr: string); procedure InitAdo(Ado: TADOQuery; Cds: TClientDataSet; SqlStr: string);
procedure GetQrCode(Txt: string); function GetQrCode(Txt: string): string;
procedure InitArgs(); procedure InitArgs();
function EnsureQrCodeDirectory: Boolean;
function ClearQrCodeDirectory: Boolean;
procedure IintCDS(SADOQry: TADOQuery; mClientDataset: TclientDataSet);
{ Private declarations } { Private declarations }
public public
FPrintJson: PChar; FPrintJson: PChar;
FJsonOut: PChar; FJsonOut: PChar;
DConString, DCode, DName: string; DConString, DCode, DName: string;
constructor Create(AOwner: TComponent; JsonArgs: PChar); constructor Create(AOwner: TComponent; JsonArgs: PChar);
{ Public declarations } { Public declarations }
end; end;
TMakebar = procedure(ucData: pchar; nDataLen: integer; nErrLevel: integer; nMask: integer; nBarEdition: integer; szBmpFileName: pchar; nScale: integer); stdcall;
TMixtext = procedure(szSrcBmpFileName: PChar; szDstBmpFileName: PChar; sztext: PChar; fontsize, txtheight, hmargin, vmargin, txtcntoneline: integer); stdcall;
var var
frmClientPrintRmf: TfrmClientPrintRmf; frmClientPrintRmf: TfrmClientPrintRmf;
@ -77,33 +86,165 @@ begin
inherited Create(AOwner); inherited Create(AOwner);
FPrintJson := JsonArgs; FPrintJson := JsonArgs;
end; end;
// 创建二维码存放目录(如果不存在)
procedure TfrmClientPrintRmf.GetQrCode(Txt: string); function TfrmClientPrintRmf.EnsureQrCodeDirectory: Boolean;
var
QrCodeDir: string;
begin
Result := False;
QrCodeDir := ExtractFilePath(Application.ExeName) + 'QrCode\';
try
if not DirectoryExists(QrCodeDir) then
begin
if not ForceDirectories(QrCodeDir) then
raise Exception.Create('无法创建二维码目录: ' + QrCodeDir);
end;
Result := True;
except
on E: Exception do
begin
Application.MessageBox(PChar('创建二维码目录失败: ' + E.Message), '错误', MB_ICONERROR);
end;
end;
end;
// 清空二维码目录中的所有文件
function TfrmClientPrintRmf.ClearQrCodeDirectory: Boolean;
var
QrCodeDir: string;
SearchRec: TSearchRec;
begin
Result := False;
QrCodeDir := ExtractFilePath(Application.ExeName) + 'QrCode\';
try
if not DirectoryExists(QrCodeDir) then
Exit; // 目录不存在视为成功
// 删除目录下所有.bmp文件
if FindFirst(QrCodeDir + '*.bmp', faAnyFile, SearchRec) = 0 then
begin
repeat
DeleteFile(QrCodeDir + SearchRec.Name);
until FindNext(SearchRec) <> 0;
FindClose(SearchRec);
end;
Result := True;
except
on E: Exception do
begin
Application.MessageBox(PChar('清空二维码目录失败: ' + E.Message), '错误', MB_ICONERROR);
end;
end;
end;
procedure TfrmClientPrintRmf.IintCDS(SADOQry: TADOQuery; mClientDataset: TclientDataSet);
var
i, k: integer;
mfieldName: string;
mSize: integer;
begin
mfieldName := '';
mClientDataset.FieldDefs.Clear;
with SADOQry do
begin
for i := 0 to fieldCount - 1 do
begin
if (Fields[i].DataType = ftString) and (Fields[i].Size = 0) then
begin
mSize := 1;
end
else
mSize := Fields[i].Size;
mfieldName := trim(fields[i].FieldName);
mClientDataset.FieldDefs.Add(mfieldName, Fields[i].DataType, mSize);
end;
end;
mClientDataset.FieldDefs.Add('QRBARCODE', ftString, 200);
mClientDataset.Close;
mClientDataset.CreateDataSet;
if SADOQry.IsEmpty then
exit;
SADOQry.first;
k := 1;
try
mClientDataset.DisableControls;
mClientDataset.Filtered := false;
while not SADOQry.Eof do
begin
with mClientDataset do
begin
Append;
for i := 0 to SADOQry.FieldCount - 1 do
begin
fields[i].value := SADOQry.Fields[i].Value;
end;
fieldByName('QRBARCODE').value := '';
inc(k);
Post;
end;
SADOQry.Next;
end;
if not mClientDataset.IsEmpty then
begin
mClientDataset.First;
end;
finally
mClientDataset.EnableControls;
end;
end;
function TfrmClientPrintRmf.GetQrCode(Txt: string): string;
var var
fPrintFile: string; fPrintFile: string;
fImagePath: string; fImagePath: string;
Moudle: THandle; Moudle: THandle;
// Makebar: TMakebar; Makebar: TMakebar;
// Mixtext: TMixtext; Mixtext: TMixtext;
CurRow: Integer; CurRow: Integer;
TimeStamp: string;
begin begin
// try Result := ''; // 初始化返回路径
// Moudle := LoadLibrary('MakeQRBarcode.dll');
// @Makebar := GetProcAddress(Moudle, 'Make');
// @Mixtext := GetProcAddress(Moudle, 'MixText');
// Txt := Trim(ADOQueryPrint.fieldbyname('MXID').AsString);
// fImagePath := ExtractFilePath(Application.ExeName) + 'image\temp.bmp';
// if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then
// CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil);
// if FileExists(fImagePath) then
// DeleteFile(fImagePath);
// Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3);
// except
// application.MessageBox('条形码生成失败!', '提示信息', MB_ICONERROR);
// Order_Main.EnableControls;
// exit;
// end;
try
Moudle := LoadLibrary('MakeQRBarcode.dll');
if Moudle = 0 then
RaiseLastOSError;
@Makebar := GetProcAddress(Moudle, 'Make');
if not Assigned(Makebar) then
raise Exception.Create('找不到 Make 函数');
@Mixtext := GetProcAddress(Moudle, 'MixText');
if not Assigned(Mixtext) then
raise Exception.Create('找不到 MixText 函数');
// 生成时间戳文件名 (格式: YYYYMMDD_HHMMSSZZZ)
Sleep(10);
TimeStamp := FormatDateTime('yyyymmdd_hhnnsszzz', Now) + '_' + IntToStr(Random(1000));
fImagePath := ExtractFilePath(Application.ExeName) + 'QrCode\' + TimeStamp + '.bmp';
// 确保目录存在
if not DirectoryExists(ExtractFilePath(fImagePath)) then
ForceDirectories(ExtractFilePath(fImagePath));
Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3);
Result := fImagePath; // 返回生成的文件路径
except
on E: Exception do
begin
application.MessageBox(PChar('条形码生成失败:' + E.Message), '错误', MB_ICONERROR);
end;
end;
end; end;
procedure TfrmClientPrintRmf.InitArgs; procedure TfrmClientPrintRmf.InitArgs;
@ -129,7 +270,7 @@ begin
FLBName := JSONObject.S['LBName']; FLBName := JSONObject.S['LBName'];
FExportFileType := JSONObject.S['ExportFileType']; FExportFileType := JSONObject.S['ExportFileType'];
FExportFileName := JSONObject.S['ExportFileName']; FExportFileName := JSONObject.S['ExportFileName'];
FQrCodeField := JSONObject.S['QrCodeField'];
DConString := JSONObject.S['DConString']; DConString := JSONObject.S['DConString'];
DCode := JSONObject.S['DCode']; DCode := JSONObject.S['DCode'];
DName := JSONObject.S['DName']; DName := JSONObject.S['DName'];
@ -138,8 +279,7 @@ begin
if Trim(FExportFileName) = '' then if Trim(FExportFileName) = '' then
FExportFileName := FLBName; FExportFileName := FLBName;
// 导出文件操作(保持不变)
ExportFtErpFile(FLBName + '.rmf', ADOQueryReport);
// ³õʼ»¯ SQL ×Ö·û´®±äÁ¿ // ³õʼ»¯ SQL ×Ö·û´®±äÁ¿
SqlStr1 := ''; SqlStr1 := '';
@ -180,18 +320,49 @@ begin
// RM1.PreviewButtons := [rmpbZoom, rmpbLoad, rmpbSave, rmpbFind, rmpbPageSetup, rmpbExit, rmpbSaveToXLS, rmpbExport, rmpbNavigator]; // RM1.PreviewButtons := [rmpbZoom, rmpbLoad, rmpbSave, rmpbFind, rmpbPageSetup, rmpbExit, rmpbSaveToXLS, rmpbExport, rmpbNavigator];
end; end;
procedure TfrmClientPrintRmf.InitAdo(Ado: TADOQuery; SqlStr: string); procedure TfrmClientPrintRmf.InitAdo(Ado: TADOQuery; Cds: TClientDataSet; SqlStr: string);
var
QrCodeIdField: TField;
begin begin
if Trim(SqlStr) = '' then if Trim(SqlStr) = '' then
Exit; Exit;
// 执行ADO查询
with Ado do with Ado do
begin begin
Close; Close;
sql.Clear; SQL.Clear;
sql.add(SqlStr); SQL.Add(SqlStr);
// ShowMessage(SqlStr);
Open; Open;
end; end;
IintCDS(Ado, Cds);
// 检查是否存在二维码ID字段
if Trim(FQrCodeField) = '' then
Exit;
QrCodeIdField := Cds.FindField(FQrCodeField);
if QrCodeIdField = nil then
Exit;
// 生成二维码并绑定到ClientDataSet
with Cds do
begin
DisableControls;
try
First;
while not Eof do
begin
Edit;
FieldByName('QRBARCODE').AsString := GetQrCode(QrCodeIdField.AsString);
Post;
Next;
end;
finally
First;
EnableControls;
end;
end;
end; end;
procedure TfrmClientPrintRmf.ExportReport(); procedure TfrmClientPrintRmf.ExportReport();
@ -259,7 +430,10 @@ begin
ConnectionString := DConString; ConnectionString := DConString;
Connected := true; Connected := true;
end; end;
// 导出文件操作(保持不变)
ExportFtErpFile(FLBName + '.rmf', ADOQueryReport);
EnsureQrCodeDirectory();
ClearQrCodeDirectory();
end; end;
procedure TfrmClientPrintRmf.FormClose(Sender: TObject; var Action: TCloseAction); procedure TfrmClientPrintRmf.FormClose(Sender: TObject; var Action: TCloseAction);
@ -284,11 +458,11 @@ begin
exit; exit;
end; end;
InitAdo(ADO_1, SqlStr1); InitAdo(ADO_Prt, CDS_1, SqlStr1);
InitAdo(ADO_2, SqlStr2); InitAdo(ADO_Prt, CDS_2, SqlStr2);
InitAdo(ADO_3, SqlStr3); InitAdo(ADO_Prt, CDS_3, SqlStr3);
InitAdo(ADO_4, SqlStr4); InitAdo(ADO_Prt, CDS_4, SqlStr4);
InitAdo(ADO_5, SqlStr5); InitAdo(ADO_Prt, CDS_5, SqlStr5);
if FExportFileType = '' then if FExportFileType = '' then
begin begin

View File

@ -25,7 +25,7 @@ begin
Result := FJsonOut; Result := FJsonOut;
end; end;
end; end;
// '{ "LBName": "˛âĘÔ","DConString": "'+DConString+'","DCode": "'+DCode+'","DName": "'+DName+'","IsPreview": true,"printerIndex": 0,"ExportFileType": "", "PrtArgs": [ {"SqlStr": "EXEC p_test ''22'' " }] }'; // '{ "LBName": "˛âĘÔ","QrCodeField": "ssid","DConString": "'+DConString+'","DCode": "'+DCode+'","DName": "'+DName+'","IsPreview": true,"printerIndex": 0,"ExportFileType": "", "PrtArgs": [ {"SqlStr": "EXEC p_test ''22'' " }] }';
function FunPrint(App: Tapplication; JsonArgs: PChar): PChar; function FunPrint(App: Tapplication; JsonArgs: PChar): PChar;
begin begin

View File

@ -151,7 +151,7 @@ var
implementation implementation
uses uses
U_DataLink, U_YMTFHSQInPut, U_Fun, U_ZDYHelp; U_DataLink, U_YMTFHSQInPut, U_Fun, U_ZDYHelp, U_LabelPrintFun;
{$R *.dfm} {$R *.dfm}
@ -425,52 +425,16 @@ end;
procedure TfrmYMTFHSQList.TBPrintClick(Sender: TObject); procedure TfrmYMTFHSQList.TBPrintClick(Sender: TObject);
var var
fPrintFile: string; MPrintJson, JsonResult, msql: string;
Txt, fImagePath: string;
Moudle: THandle;
Makebar: TMakebar;
Mixtext: TMixtext;
begin begin
if Order_Main.IsEmpty then if Order_Main.IsEmpty then
Exit; Exit;
msql := ' select A.*,B.* from YMT_FHSQ_Main A inner join YMT_FHSQ_Sub B on A.FSId=B.FSId where A.FSId=''' + Trim(Order_Main.fieldbyname('FSId').AsString) + '''';
with ADOQueryPrint do MPrintJson := '{ "LBName": "Å÷²¼·¢»õÉêÇëµ¥","QrCodeField": "ssid","DConString": "' + DConString + '","DCode": "' + DCode + '","DName": "' + DName + '","IsPreview": true,"printerIndex": 0,"ExportFileType": "", "PrtArgs": [ {"SqlStr": "' + msql + '" }] }';
begin FunPrint(Application, PChar(MPrintJson));
Close;
sql.Clear;
Sql.Add(' select A.*,B.* ');
sql.Add(' from YMT_FHSQ_Main A inner join YMT_FHSQ_Sub B on A.FSId=B.FSId ');
sql.Add(' where A.FSId=''' + Trim(Order_Main.fieldbyname('FSId').AsString) + '''');
open;
// showmessage(sql.text);
end;
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\坯布发货申请单.rmf';
if FileExists(fPrintFile) then
begin
try
Moudle := LoadLibrary('MakeQRBarcode.dll');
@Makebar := GetProcAddress(Moudle, 'Make');
@Mixtext := GetProcAddress(Moudle, 'MixText');
Txt := Trim(Order_Main.fieldbyname('FSID').AsString);
fImagePath := ExtractFilePath(Application.ExeName) + 'image\temp.bmp';
if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then
CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil);
if FileExists(fImagePath) then
DeleteFile(fImagePath);
Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3);
except
application.MessageBox('条形码生成失败!', '提示信息', MB_ICONERROR);
exit;
end;
RMVariables['QRBARCODE'] := fImagePath;
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end
else
begin
Application.MessageBox(PChar('没有找' + ExtractFilePath(Application.ExeName) + 'Report\坯布发货申请单.rmf'), '提示', 0);
end;
end; end;
procedure TfrmYMTFHSQList.TBRafreshClick(Sender: TObject); procedure TfrmYMTFHSQList.TBRafreshClick(Sender: TObject);

View File

@ -1,6 +1,6 @@
object frmYMTRKList: TfrmYMTRKList object frmYMTRKList: TfrmYMTRKList
Left = 557 Left = 264
Top = 418 Top = 309
Width = 1370 Width = 1370
Height = 750 Height = 750
Caption = #38754#26009#22238#20179#30331#35760 Caption = #38754#26009#22238#20179#30331#35760

View File

@ -467,7 +467,7 @@ begin
if CDS_Main.IsEmpty then if CDS_Main.IsEmpty then
Exit; Exit;
MFiltration := Trim(CDS_Main.fieldbyname('SPID').AsString); MFiltration := Trim(CDS_Main.fieldbyname('SPID').AsString);
MPrintJson := '{ "LBName": "±êÇ©´òÓ¡","DConString": "' + DConString + '","DCode": "' + DCode + '","DName": "' + DName + '","IsPreview": true,"printerIndex": 0,"ExportFileType": "", "PrtArgs": [ {"SqlStr": "EXEC P_YMT_CK_MX_Prt1 '' ' + MFiltration + ''' " }] }'; MPrintJson := '{ "LBName": "±êÇ©´òÓ¡","QrCodeField": "MXID","DConString": "' + DConString + '","DCode": "' + DCode + '","DName": "' + DName + '","IsPreview": true,"printerIndex": 0,"ExportFileType": "", "PrtArgs": [ {"SqlStr": "EXEC P_YMT_CK_MX_Prt1 ''' + MFiltration + ''' " }] }';
FunPrint(Application, PChar(MPrintJson)); FunPrint(Application, PChar(MPrintJson));
end; end;

View File

@ -101,7 +101,7 @@ DebugSourceDirs=
UsePackages=0 UsePackages=0
[Parameters] [Parameters]
RunParams= RunParams=
HostApplication=D:\Project\D7myYunxiang\云翔一码通\testDll.exe HostApplication=E:\项目资料\00_重点客户\云翔\D7myYunxiang\云翔一码通\testDll.exe
Launcher= Launcher=
UseLauncher=0 UseLauncher=0
DebugCWD= DebugCWD=