0
我試圖代碼用delphi XE 6.爲了打印程序,我發現這個代碼互聯網上SEND逃生命令,收據打印機
type
TPassThroughData = record
nLen: Word;
Data: array[0..255] of Byte;
end;
procedure PrintText(s: string);
var
PTBlock: TPassThroughData;
begin
PTBlock.nLen := Length(s);
StrPCopy(@PTBlock.Data, s);
Escape(Printer.Handle, PASSTHROUGH, 0, @PTBlock, nil);
end;
procedure PrintOut;
begin
Printer.BeginDoc;
PrintText(#27'&l12D' + 'Hello, World!');
Printer.EndDoc;
end;
和接縫的工作不喜歡我想要的。它打印空行並切紙,紙上沒有任何數據。我正在使用IBM收據打印機type4610-1nr。我想問你們有什麼想法,我怎麼能打印它的數據?
是否在其他打印機工作嗎?它沒有逃生代碼工作嗎?也許還可以添加換行符。 對於特定的打印機類型,轉義碼應該是有效的,您是否在打印機的文檔中檢查過? – Pieter21 2014-09-22 23:04:05
由於您使用的是XE6,「String」類型是Unicode。我希望打印機只能處理ANSI。 – bummi 2014-09-23 04:58:38
另請參見[發送打印機特定命令](http://stackoverflow.com/q/9812264/576719)。你一定需要把'String'改成'AnsiString'; – 2014-09-23 05:46:57