Печать Dos-файла в порт напрямую
Автор: http://blackman.wp-club.net
При печати 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;
|