![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите с печатью, минуя механизм Windows [D5, Win95/98]
Kitty-Kat © (2004-09-21 20:55:00)Для скорости необходимо печатать шрифтами принтера (матричный).
Использую стандартное
AssignFile(F,"LPT1");
Rewrite(F);
WriteLn(F,'Пробная печать');
Close(F);
но возникает проблена - вместо русского текста выводятся иероглифы. Пожалуйста, помогите - работа дальше не идет!
Анатолий (2004-10-01 20:16:00) [1]
>Kitty-Kat
>Все получилось с использованием функции CharToOem
Да, только имейте ввиду, что в В2000 у вас такое не пройдет.
В В2000 LPT1 - это просто именованный канал спулера печати. Там обойти стандартный механизм сложнее. Т.е. печатать будет, но через спулер виндовс.
Kitty-Kat (2004-10-01 19:44:00) [2]Все получилось с использованием функции CharToOem.
Спасибо всем за помощь
Petr V. Abramov (2004-09-21 23:00:00) [3]А у другого (тоже матричного) принтера будет другая эскейп последовательность
И придется делать базу данных маотричных принтеров эскейп последовательностями типа базы данных драйверов, которая в Windows.
Или производители принтеров должны так зауважать Вашу разработку, что эти самые "типа драйверы" поставлять вместе с принтерами.
Evg12 (2004-09-21 22:22:00) [4]Да... Принтер какой? Модель?
Evg12 (2004-09-21 22:21:00) [5]Бывают принтера у которых русский шрифт сидит в пользовательской ПЗУ. Переключается какойто эскейп последовательностью или кнопками на принтере. В общем что-то такое я еще с незопаметных времен припоминаю.....
Defunct (2004-09-21 22:02:00) [6]Кодировка вообше-то не CP866, принтеру глубоко "плевать" на кодовую страницу, все зависит от прошитой таблицы шрифтов (которая находится в ПЗУ принтера). Шрифты у принтеров в кодировке - ASCII.
Defunct (2004-09-21 21:55:00) [7]Вывод - принтер не поддерживает русский шрифт, обратитесь в сервисную контору по обслуживанию принтеров, пуст руссифицируют ваш принтер.
Gr++N (2004-09-21 21:55:00) [8]Перед выводом нужно преобразовать 'Пробная печать' в СP866 (DOS);
DiamondShark (2004-09-21 21:54:00) [9]Перед выводом преобразовывать текст в OEM-кодировку.