| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 порта. Кто нибудь может подсказать как решить проблему? |