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

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

Перехват данных на 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]

можно попробовать наладить такую картину - перенаправить печать в файл, (Я так понимаю режим так текстовый ), а виндовой программой ловить появления файла в каталоге парсить и выводить на печать.


Наверх

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