Управляющие коды принтера
Как мне послать на принтер управляющие коды принтера (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;
BeginPTBlock.nLen := Length(s);
StrPCopy(@PTBlock.Data,s);
Escape(printer.handle, PASSTHROUGH,0,@PTBlock,nil);
End;Procedure PrintTest; Begin Printer.BeginDoc;
DirectPrint(CHR(27)+'&l1O'+'Привет, Вася!');
Printer.EndDoc;
End;end. |