Управляющие коды принтера
Как мне послать на принтер управляющие коды принтера (Printer Control Codes) без перевода их в непечатные символы? Наверняка без Windows API в Delphi не обойтись. Когда я передаю управляющие коды принтера, они печатаются как непечатные символы, а не воспринимаются принтером как управляющие коды.
Вам нужно использовать Escape функцию принтера Passthrough, чтобы переслать данные непосредственно в принтер. В случае использования функции WriteLn это, конечно, не работает. Вот некоторый код, чтобы уговорить вас начать:
unit Passthru;
interface
uses printers, WinProcs, WinTypes, SysUtils;
Procedure PrintTest;
implementation
Type
TPassThroughData = Record nLen : Integer; Data : Array[0..255] of byte; end;
Procedure DirectPrint(s : String);
var
PTBlock : TPassThroughData;Begin
PTBlock.nLen := Length(s); StrPCopy(@PTBlock.Data,s); Escape(printer.handle, PASSTHROUGH,0,@PTBlock,nil);End;
Procedure PrintTest;
Begin
Printer.BeginDoc;27)+'&l1O'+'Привет, Вася!');
Printer.EndDoc;
End;end.