Вниз
Скачать: CL | DM;

Печать на матричный принтер   Найти похожие ветки 

 
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-кодировку переводить?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.005 c
1-90298
Vacheslav
2002-01-09 19:49
2002.01.28
Подскажите, в чем ошибка: задаю цикл


1-90280
FX_Demon
2002-01-09 20:31
2002.01.28
!!OpenGL!!


4-90417
ogu
2001-11-25 22:23
2002.01.28
ProgressBar на API


1-90313
NLO
2002-01-11 07:10
2002.01.28
AutoCAD


1-90282
Surprising
2002-01-10 14:08
2002.01.28
Печать формы




   Наверх