Форум: "Основная";
Поиск по всему сайту: 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.013 c
14-90356          limon                 2001-12-03 19:07  2002.01.28  
FW: ПОСЛЕДНИЕ СЛОВА компьютера:


4-90414           Gennady               2001-11-28 13:45  2002.01.28  
Clipboard


1-90327           Dmitriy_R             2002-01-09 08:42  2002.01.28  
Добавить приложение без формы и чтобы доступ к ее данным был из других форм.


3-90216           OlegD                 2001-12-24 18:45  2002.01.28  
ADO table


4-90415           valery_f              2001-11-27 13:02  2002.01.28  
Перехват экранного вывода DOS приложений