Вниз
Скачать: 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.008 c
1-90307
dmitry_s
2002-01-11 11:52
2002.01.28
Delphi5 & MSSQL uniqueidentifier


1-90244
hacker
2002-01-04 10:11
2002.01.28
Про процедуру и обработку событий


4-90438
HMR
2001-11-24 16:35
2002.01.28
Создание скрытых окон


1-90288
KingSize
2002-01-10 17:57
2002.01.28
Открытие


1-90326
Satrap
2002-01-06 11:56
2002.01.28
особенности WndProc




   Наверх