Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите с печатью, минуя механизм 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-кодировку.


Наверх

Титульная страница Поиск, карта сайта Написать письмо