procedure
USBOpenCashDrawer(PrinterName:
String
);
var
// use winspool
Handle, hDeviceMode: THandle;
N: DWORD;
DocInfo1: TDocInfo1;
Device, Driver, Port:
array
[
0
..
255
]
of
char
;
ThePrinter:
string
;
//superlevin.ifengyuan.tw/tag/code/">code:ansistring;
begin
ThePrinter := PrinterName;
Code := chr(
27
) + chr(
64
)+ chr(
27
) + chr(
112
) + chr(
0
) + chr(
50
) + chr(
200
);
//superlevin.ifengyuan.tw/tag/printer/">Printer.PrinterIndex := Printer.Printers.Indexof(ThePrinter);
Printer
.
GetPrinter(Device, Driver, Port, hDeviceMode);
PrinterName := Format(
'%s'
, [Device]);
if
not
WinSpool
.
OpenPrinter(
PChar
(PrinterName), Handle,
nil
)
then
begin
// ShowMessage('Error : ' + IntToStr(GetLastError));
Exit;
end
;
with
DocInfo1
do
begin
pDocName :=
'Test'
;
pOutputFile :=
nil
;
pDataType :=
'RAW'
;
end
;
WinSpool
.
StartDocPrinter(Handle,
1
, @DocInfo1);
WinSpool
.
StartPagePrinter(Handle);
WinSpool
.
WritePrinter(Handle,
PAnsiChar
(Code), Length(Code), N);
WinSpool
.
EndPagePrinter(Handle);
WinSpool
.
EndDocPrinter(Handle);
WinSpool
.
ClosePrinter(Handle);
end
;
Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号
执行时间: 0.16233706474304 seconds