Печать Dos-файла в порт напрямую

При печати Dos-файла в порт напрямую можно это сделать.

Например, напечатать за 2 прохода:

ESC @ — инициализация принтера

ESC G — включение режима печати за 2 прохода

ESC H — выключение режима печати за 2 прохода

var

FileOut: TextFile;

filename: string[128];

....

Filename := 'PRN';

AssignFile(Fileout, Filename);

...

Write(FileOut, Chr(27) '@');

Str1 := AnToAs(chr(27) 'G' 'Double' chr(27) 'H');

Writeln(FileOut, Str1);

...

{преобразование Ansi to Ascii}

function AnToAs(s: string): string;

var

i, kod: Integer;

begin

Result := s;

for i := 1 to length(s) do

begin

kod := Ord(s[i]);

if kod 13 then

Result[i] := ' ';

if (kod >= 192) and (kod = 239) then

Result[i] := Chr(kod - 64);

if (kod >= 240) and (kod = 255) then

Result[i] := Chr(kod - 16);

if kod = 168 then

Result[i] := Chr(240);

if kod = 184 then

Result[i] := Chr(241);

end;

end;

Добавить комментарий