![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перехват данных на LPT [D5, D6, D7, Win95/98, WinXP]
Roobee1 © (2006-07-17 16:46:00)Ситуация -
Win98
консольная (DOS) программа, написана на FoxPro (исходников нет)
принтер Xerox WorkCentre 312 (МФУ) - не поддерживает загрузу доп. шрифтов
Программа выводит на печать (только на LPT1) текст в DOS-кодировке
Соответсвенно, получаем на бумаге черт знает что.
Задача -
Возможно ли как либо перехватить поток данных от программы на LPT,
перекодировать его в ср1251 и отправить на принтер?
Варианты - другая программа, другой принтер и т.д. не подходят
начальству надо чтобы работал именно этот комплект.
Что посоветуете, Мастера?
Roobee1 (2006-07-19 16:50:00) [1]Благодарю за советы. Будем рыть. О результатах отчитаюсь. -)
Чапаев (2006-07-19 12:11:00) [2]Лежит программулька с исходниками именно для таких целей... Печать из досовской бух. проги из-под Win9x. Если надо, кинь в мыло запрос.
Acidlex (2006-07-18 18:47:00) [3]Есть программа DosPrn, которая перехватывает порт и выводит на любой принтер.
Также может печатать из файла (то есть требуемая программа печатает в файл, далее DosPrn перехватыват его и выводит на печать).
На 99% уверен, что она вам поможет.
Да, в настройках надо указать последовательности Epson Matrix, иначе будет не правильно печатать.
Ketmar (2006-07-17 23:38:00) [4]>tesseract © (17.07.06 22:43) [6]
неправда Ваша. %-) под w95 вообще достаточно маленькой dos-порграммы на асме (страничка кода, вряд ли больше %-). под NT спокойно садимся в ntvdm -- и гуляем. там вообще раздолье полное. и ничуть не сложнее, чем под w95.
tesseract (2006-07-17 22:43:00) [5]> [4] Ketmar © (17.07.06 21:40)
Под виндой прерывания перехватывать - проще клиент-банк переписать :-)
Sapersky (2006-07-17 21:42:00) [6]http://www.dosprn.com/
Хотя заранее предчувствую, что на 10$ (или сколько она там стоит) начальство задушит жаба :)
Ketmar (2006-07-17 21:40:00) [7]если фокс печатает через int 14h (я верно вспомнил номер?), то перехватить его -- и вперёд.
StriderMan (2006-07-17 17:52:00) [8]
> tesseract © (17.07.06 17:14) [1]
поддерживаю вариант.
Еще можно завести виртуальный LPT-порт... там все перехватывать, перекодировать и отсылать в реальный. Но это сложнее. да и не факт что быстрее.
А еще в ДОСе можно кодировку сменить, но не уверен, что это поможет.
Deka (2006-07-17 17:21:00) [9]А ещё с помощью Refox можно попробовать получить исходник проги.
tesseract (2006-07-17 17:14:00) [10]можно попробовать наладить такую картину - перенаправить печать в файл, (Я так понимаю режим так текстовый ), а виндовой программой ловить появления файла в каталоге парсить и выводить на печать.