Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.07;
Скачать: CL | DM;

Вниз

Помогите с печатью, минуя механизм Windows   Найти похожие ветки 

 
Kitty-Kat ©   (2004-09-21 20:55) [0]

Для скорости необходимо печатать шрифтами принтера (матричный).
Использую стандартное
AssignFile(F,"LPT1");
Rewrite(F);
WriteLn(F,"Пробная печать");
Close(F);
но возникает проблена - вместо русского текста выводятся иероглифы. Пожалуйста, помогите - работа дальше не идет!


 
DiamondShark ©   (2004-09-21 21:54) [1]

Перед выводом преобразовывать текст в OEM-кодировку.


 
Defunct ©   (2004-09-21 21:55) [2]

Вывод - принтер не поддерживает русский шрифт, обратитесь в сервисную контору по обслуживанию принтеров, пуст руссифицируют ваш принтер.


 
Gr++N   (2004-09-21 21:55) [3]

Перед выводом нужно преобразовать "Пробная печать" в СP866 (DOS);


 
Defunct ©   (2004-09-21 22:02) [4]

Кодировка вообше-то не CP866, принтеру глубоко "плевать" на кодовую страницу, все зависит от прошитой таблицы шрифтов (которая находится в ПЗУ принтера). Шрифты у принтеров в кодировке - ASCII.


 
Evg12   (2004-09-21 22:21) [5]

Бывают принтера у которых русский шрифт сидит в пользовательской ПЗУ. Переключается какойто эскейп последовательностью или кнопками на принтере. В общем что-то такое я еще с незопаметных времен припоминаю.....


 
Evg12   (2004-09-21 22:22) [6]

Да... Принтер какой? Модель?


 
Petr V. Abramov ©   (2004-09-21 23:00) [7]

А у другого (тоже матричного) принтера будет другая эскейп последовательность
 И придется делать базу данных маотричных принтеров эскейп последовательностями типа базы данных драйверов, которая в Windows.
 Или производители принтеров должны так зауважать Вашу разработку, что эти самые "типа драйверы" поставлять вместе с принтерами.


 
Kitty-Kat ©   (2004-10-01 19:44) [8]

Все получилось с использованием функции CharToOem.
Спасибо всем за помощь


 
Анатолий   (2004-10-01 20:16) [9]


>Kitty-Kat
>Все получилось с использованием функции CharToOem


Да, только имейте ввиду, что в В2000 у вас такое не пройдет.

В В2000 LPT1 - это просто именованный канал спулера печати. Там обойти стандартный механизм сложнее. Т.е. печатать будет, но через спулер виндовс.



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

Текущий архив: 2004.11.07;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.033 c
14-1097834341
iZEN
2004-10-15 13:59
2004.11.07
Windows Terminal Server и Ctrl + Alt + Del


1-1098265555
Анатолий
2004-10-20 13:45
2004.11.07
Установить курсор перед выделенным текстом


4-1096522951
Muhsin
2004-09-30 09:42
2004.11.07
Как используется ShellExecute


1-1098863806
ызфт
2004-10-27 11:56
2004.11.07
Запутался в ООП


14-1098197444
Pat
2004-10-19 18:50
2004.11.07
Расширение или переделка?