Delphi 调用打印机指令ZPL实例--并口
来源:互联网 发布:怎么做好淘宝网店 编辑:程序博客网 时间:2024/06/03 01:20
// 通过指令发送数据到打印机function TForm1.SendToPrinter():Boolean;var hHandle: THandle; hModule: THandle; hEObject: THandle; WOverlapped: OVERLAPPED; DataStr: string; Buffer: PChar; nLength: Integer; writedbyte: DWORD; Func: TFnthex32; count,K: Integer; HexBuf: Ppchar; tmpstr0,tmpstr1: string; MidDataStr: string; SNBar:string; S1:Integer;begin hHandle:= CreateFile('LPT1',GENERIC_READ or GENERIC_WRITE,FILE_SHARE_READ or FILE_SHARE_WRITE,Nil,OPEN_EXISTING,FILE_FLAG_OVERLAPPED,0); if(hHandle = INVALID_HANDLE_VALUE) then begin Result:= False; Exit; end; hModule:= LoadLibrary('Fnthex32.dll'); if(hModule <=0) then begin CloseHandle(hHandle); Result:= False; Exit; end; @Func:= GetProcAddress(hModule,'GETFONTHEX'); if Assigned(@Func) then begin {***********************初始化变量**************************} S1:=CartonId; SNBar:='BE'+format('%0.4d',[s1]); //需打印的内容 count := Func(SNBar,'Arial',0,45,0,1,0,HexBuf); SNBar := HexBuf; tmpstr0 := copy(SNBar,0,3); tmpstr1 := copy(SNBar,12,count -1 -11); SNBar := tmpstr0 + 'ImgAword' + tmpstr1; end else begin if(hModule > 0) then FreeLibrary(hModule); CloseHandle(hHandle); Result := False; exit; end; //扫描HDD SN条码打印指令 //Zebra Z4M 300 dpi 打印机的指令 DataStr:= '^XA^JMA^FS' //Start Format and Set Dots per Millimeter + '^MD12^FS' //Media Darkness + '^DFFORMAT^FS' //Download and store Format + '^LH0,0' //set label home postion + '^LL2000' //set label length // 14.92 * 12 (12dot/mm) + '^PW2000' // > 60 * 12 +SNBAR +'^FO110 ,0^XGImgAword^FS' // +'^FO110,150,^BY3,5,^B3N,60,N,N^FD'+'6'+'^FS' + '^PQ1' +'^XZ'; MidDataStr:= '^XA^JMA^FS' //Start Format + '^XFFORMAT^FS' //Recall store format + '^XZ' ; DataStr:= DataStr + MidDataStr; hEObject := CreateEvent(Nil,TRUE,TRUE,''); WOverlapped.hEvent := hEObject; WOverlapped.Offset := 0; WOverlapped.OffsetHigh := 0; Buffer := Nil; try nLength :=Length(DataStr); Buffer := PChar(AllocMem(nLength + 1)); StrPCopy(Buffer,DataStr); for K := 1 to 1 do begin if ( WriteFile(hHandle,Buffer^,nLength,writedbyte,POVERLAPPED(@WOverlapped)) ) then begin end; end; finally if Buffer <> Nil then FreeMem(Buffer); end; if (hModule > 0) then FreeLibrary(hModule); CloseHandle(hEObject); CloseHandle(hHandle); Result := True;end;
// 注意:需将名为“Fnthex32.dll” 的文件放在目录下,方可打印
0 0
- Delphi 调用打印机指令ZPL实例--并口
- Delphi调用打印机的ZPL指令来打印数据
- Delphi 调用打印指令ZPL--USB
- delphi:斑马打印机ZPL指令打印中文及二维码
- delphi:斑马打印机ZPL指令打印中文及二维码,补充说明
- ZPL并口打印
- C#调用斑马打印机打印条码标签(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)
- C#调用斑马打印机打印条码标签(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)
- C#调用斑马打印机打印条码标签(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)
- C#调用斑马打印机打印条码标签(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)
- C#调用斑马打印机打印条码标签(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)
- delphi调用并口开钱箱
- ZPL指令
- Delphi下使用并口控制打印机的方法
- Zebra打印机,中文转ZPL指令的.net实现,替换FNTHEX32.DLL
- C#调用斑马打印机打印条码标签(支持COM/LPT/USB/ZPL/EPL/Bitmap)
- C#调用斑马打印机打印条码标签(支持COM/LPT/USB/ZPL/EPL/Bitmap)
- C#调用斑马打印机打印条码标签(支持COM/LPT/USB/ZPL/EPL/Bitmap)
- iOS不规则控件的点击事件
- FATE(2159)
- GIS理论(墨卡托投影、地理坐标系、地面分辨率、地图比例尺、Bing Maps Tile System)
- Android获取设备型号和系统版本号、mac地址、IP、屏幕的分辨率
- [leetcode][bit] Number of 1 Bits
- Delphi 调用打印机指令ZPL实例--并口
- LeetCode | Count Primes
- F5系统配置备份及恢复
- 4-4
- opencv的配置
- 字典颜色对应
- 极光推送的使用方法
- Linux 设备驱动 Edition 3
- 如何理解离散傅里叶变换(一)实数形式傅里叶变换