Russian Qt Forum
Ноябрь 24, 2024, 18:13
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Печать
>
Qt + АСПД Штрих-М
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Qt + АСПД Штрих-М (Прочитано 9088 раз)
Vergil Alighieri
Гость
Qt + АСПД Штрих-М
«
:
Май 16, 2015, 11:04 »
Есть программа. Условно "модуль кассы". Можно проводить различные операции как и везде. Ставится она совместно с обычными кассовыми программами и большая часть информации должна браться с операций в тех самых кассовых программ, которые в свою очередь отправляют её на АСПД Штрих-М (подключается по USB).
Вопрос в том как получить эту информацию (номер товарного чека, сумма покупки и дата операции)?
Есть драйвер к этому аппарату, написанный, кажется, на дэлфях. Как с ним работать - без понятия
.
Есть программа Portmon (вроде как от мелкомягких), она всё отлично принимает (считывает всю инфу передающуюся по com-портам и сохраняет в логи), но не работает на 64х-битных системах. Может есть возможность повторить её функционал в Qt?
В какую сторону смотреть неопытному программисту?
Записан
Bepec
Гость
Re: Qt + АСПД Штрих-М
«
Ответ #1 :
Май 16, 2015, 11:17 »
портмон - это надстройка над ком портом, использующая winapi.
В Qt для работы с ком портами используется QtSerial, в 5+ версиях он поставляется сразу вместе с Qt.
PS драйвер с дельфи можно переписать, но тут уже зависит от вашего желания.
PPS начинать с "составить список необходимого" попунктно.
1) принимать данные с устройства.
2) обрабатывать данные.
3) выводить пользователю или в модуль кассы
Записан
Vergil Alighieri
Гость
Re: Qt + АСПД Штрих-М
«
Ответ #2 :
Май 16, 2015, 14:43 »
А возможно подключиться в Qt к занятому порту и просто его мониторить?
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: Qt + АСПД Штрих-М
«
Ответ #3 :
Май 16, 2015, 14:54 »
Нет. Для этого есть всякие снифферы/мониторы (HDD SerialPort Monitor и прочие), которые устанавливают свой фильтр-драйвер на устройство и перехватывают весь траффик.
Записан
ArchLinux x86_64 / Win10 64 bit
chagovets
Новичок
Offline
Сообщений: 24
Re: Qt + АСПД Штрих-М
«
Ответ #4 :
Май 16, 2015, 19:37 »
Реализовывал драйвер для АСПД на 4.8.
Могу поделиться.
P.S. правда пришлось использовать qextserialport. QSerialPort имел проблемы под виндовым rdp - нужно было использовать удалённый рабочий стол.
«
Последнее редактирование: Май 16, 2015, 19:41 от chagovets
»
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: Qt + АСПД Штрих-М
«
Ответ #5 :
Май 17, 2015, 09:13 »
Цитировать
QSerialPort имел проблемы под виндовым rdp
Что за проблемы (и причем тут RDP?)? Какая версия использовалась?
Записан
ArchLinux x86_64 / Win10 64 bit
chagovets
Новичок
Offline
Сообщений: 24
Re: Qt + АСПД Штрих-М
«
Ответ #6 :
Май 17, 2015, 20:54 »
я в этой теме пытался озвучить, но , к сожалению, ни кто не ответил
Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ].
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: Qt + АСПД Штрих-М
«
Ответ #7 :
Май 17, 2015, 21:58 »
Хм. Видимо я профукал этот момент. Странная вещь однако почему так происходит, т.к. qextserialport использует ту-же фичу что и qserialport (QWintEventNotifier) для отслеживания евентов ввода/вывода.
Записан
ArchLinux x86_64 / Win10 64 bit
chagovets
Новичок
Offline
Сообщений: 24
Re: Qt + АСПД Штрих-М
«
Ответ #8 :
Май 18, 2015, 09:08 »
сейчас уже всех подробностей не припомню, но и у qextserialport вроде бы те же проблемы
просто пришлось выкрутиться отдельным потоком и проверять bytesAvailable()
но с QSerialPort точно ни как не вышло (к большому сожалению, использовал его со времён QSerialDevice)
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: Qt + АСПД Штрих-М
«
Ответ #9 :
Май 18, 2015, 10:34 »
ясно, ну, тогда это QWintEventNotifier проблемы (скорее всего).
Но начиная с Qt 5.5 QSerialPort будет использовать другой нотификатор, который должен решить многие проблемы, которые были ранее (например, остановку событий при ресайзе/перемещении окна, что, вероятно имеет те-же корни что и у RDP). Но это только для Qt5, для Qt4 к сожалению все остается как и раньше.
Записан
ArchLinux x86_64 / Win10 64 bit
chagovets
Новичок
Offline
Сообщений: 24
Re: Qt + АСПД Штрих-М
«
Ответ #10 :
Май 18, 2015, 11:12 »
Цитировать
начиная с Qt 5.5 QSerialPort будет использовать другой нотификатор
ок, спасибо, уже давно пора переходить
Цитировать
Есть драйвер к этому аппарату, написанный, кажется, на дэлфях. Как с ним работать - без понятия
кстати, стандартный драйвер - это обычной com-сервер
к нему запросто можно обращаться посредством QAxObject
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...