Идёт загрузка страницы...

htp://aptem.net.ru





Управляющие коды принтера

Как мне послать на принтер управляющие коды принтера (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;
DirectPrint(CHR(27)+'&l1O'+'Привет, Вася!');
Printer.EndDoc;
End;


end.
[000205]