Управляющие коды принтера |
Previous Top Next |
Как мне послать на принтер управляющие коды принтера(Printer Control Codes)без перевода их в непечатные символы? Наверняка без Windows API в Delphi не обойтись.Когда я передаю управляющие коды принтера, они печатаются как непечатные символы, а не воспринимаются принтером как управляющие коды.
Вам нужно использовать Escape функцию принтера Passthrough, чтобы переслать данные непосредственно в принтер.В случае использования функции WriteLn это, конечно, не работает.Вот некоторый код, чтобы уговорить вас начать:
Code: |
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. |
©Drkb::03210
Взято из Советов по Delphi от Валентина Озерова
Сборник Kuliba