Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.28;
Скачать: [xml.tar.bz2];




Вниз

Печать на матричный принтер 


Teapot   (2002-01-08 14:30) [0]

Необходима большая печать на матричный принтер (DFX-8500), естественно НЕ в графике. Логично отправлять туда информацию в DOS-кодировке. Долго парился, пока не разыскал функцию перекодировки (CharToOEM). Все замечательно, WriteLn в текстовый файл дает нужный результат. Но как только начинаю перегонять полученный файл на принтер (ReadLn->WriteLn), получается мура, ибо принтер трактует строки как кодированные по Виндосовски.
В чем фокус? Точно помню, что еще в D1 я делал это, правда на локальный принтер.
Здесь принтер сетевой, при его установке печать из программ ДОС разрешена.
Помогите!



Teapot   (2002-01-09 09:25) [1]

Неужели НИКТО НИЧЕГО не посоветует??? :(



panov   (2002-01-09 09:27) [2]

Куски кода с выводом на принтер покажи...



Teapot   (2002-01-11 14:02) [3]

Собственно, никакого кода приводить и не нужно. Вот эксперимент, сведенный буквально к двум строкам. Эта процедура выдала на МАТРИЧНЫЙ принтер вполне читаемую фразу.

procedure TForm1.Button1Click(Sender: TObject);
var
PrnF : TextFile;
begin
AssignPrn(PrnF);
Rewrite(PrnF);
WriteLn(PrnF,"Привет принтеру!");
CloseFile(PrnF);
end;



Wetnose   (2002-01-11 14:18) [4]

Сделай так:

procedure OEM_WriteLn(F: TextFile; Str: string);
begin
if WinStr <> "" then CharToOem(PChar(Str), PChar(Str));
WriteLn(F, Str);
end;



panov   (2002-01-11 15:30) [5]

>Teapot (11.01.02 14:02)
Если у тебя вот эта строка
WriteLn(PrnF,"Привет принтеру!");
печатается нормально, то зачем тебе в OEM-кодировку переводить?




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.28;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.016 c
3-90210           Грифон                2001-12-23 22:26  2002.01.28  
SQL


14-90362          Дремучий              2001-12-03 23:44  2002.01.28  
Китайские сервера!


7-90403           Ph.D.Kot              2001-10-11 08:56  2002.01.28  
Отправка факса через модем. Хелп.


6-90333           borjomez              2001-11-06 13:44  2002.01.28  
TServerSocket


3-90184           KIR                   2001-12-21 09:56  2002.01.28  
Как установить у пользователя BDE...