Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Термопринтер, подключенный через USB


Автор: Агрох 29.11.2013, 11:13
Здравствуйте.
Есть задача: получать информацию о наличии/отсутствии бумаги в термопринтере http://www.custom-printer.ru/ru/CustomTG2480/. Подключен он через USB и других вариантов подключения, насколько я понял, нет.

Отправка чеков, составленных в FastReport средствами самого FR идёт на ура. Принтер без проблем находится через TPrinter ( Printer.GetPrinter(Device, Driver, Port, hDeviceMode) ) и даже можно получить PPrinterInfo2 ( GetPrinter(handle_pr, 2, PrinterInfo, ByteNeeded, @ByteNeeded) ), вот только всегда в PrinterInfo^.Status прописан 0, т.е. принтер всегда готов к работе. Даже тогда, когда бумагу из него точно вытащили, или когда в окошке принтера торчит чек (есть датчик). Т.е. через драйвер эта информация, судя по всему, не поступает.

В мануале подробно расписаны команды запросов о различных статусах принтера (наличие бумаги, замятие, температура головки и прочее). Если бы он подключался через COM, то думаю проблем бы не было. Вроде разобрался как посылать/принимать сигналы через COM. Да и тему тут одну нашёл об этом:http://forum.vingrad.ru/topic-291072.html. Кстати, принтер той же фирмы.

А вот как послать принтеру сигнал через USB? Насколько я понимаю, через сам USB это сделать в принципе невозможно. Либо через драйвер принтера, либо через что то вроде виртуального COM порта.

Кто нибудь может подсказать как решить проблему?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)