Как В Лотусе Работать С Портами Usb1....

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 233
18
#1
Суть в подключении стороннего железа, которое может работать только через команды по порту (без драйверов)

Если ли на скрипте какие-то команды для отправки/опроса портов?
Нашел только @GetPortsList

Или придётся юзать виндовые либы?
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 601
277
#7
наскока помню - в винде всё через жопень фильтры и драйвер делается (т.е. пишется типа обработчика и он прописывается в систему)
например так http://sourceforge.net/apps/trac/libusb-win32/wiki
или так http://msdn.microsoft.com/en-us/library/wi...v=vs.85%29.aspx
(подборка)

второй подход - ставить фэйковый драйвер принтера, на порт, и слать туды стрим (там много тонкостей м.б.)

или согласиться на яву ;)
а в никсах - http://www.cs.indiana.edu/~bpisupat/work/oc_usb.c
либо (при присутствии донгла) появится /dev/ttyUSB*
 

proteam

Well-known member
02.03.2012
144
1
#8
Всем привет. Решил возобновить эту тему. У меня есть Сканер штрих кодов, на подобие тех что стоят в магазинах. Есть документы со ШК. Сейчас в ИС работают как, пользователь нажимает кнопку Поиск по ШК, открывается окошко, он туда считывает ШК при помощи сканера, далее я уже этот шк использую для поиска документа в БД. Теперь хотят сделать так, чтобы пользователь не нажимал на кнопку Поиск по ШК. Получается мне придется написать какой то обработчик usb порта. Вот как это лучше сделать? Ссылки указанные выше не открываются что то. Буду очень благодарен за кусочки кода, библиотеки или готовые решения)))
 

anna

Lotus team
03.06.2014
400
7
#9
о, здоровская тема! постою послушаю. А слабо в зависимости от статусов документа лампочки на столе зажигать?
 

alexas1

Lotus team
10.04.2014
739
151
#10
А слабо в зависимости от статусов документа лампочки на столе зажигать?
а это ещщё нафига? подключаешь агенты искусственного интеллекта и ффсё.
а вот автомат для выдачи зряплаты подключить неслабо.
 

proteam

Well-known member
02.03.2012
144
1
#11
@anna вот вы прикалываетесь, а мне нужно решение какое то придумать, либо заявить что в лотусе этого сделать невозможно. У меня коллеги просто сделали на C# подобное. Также в фоновом режиме обработчик ожидает считывание ШК, затем производит какое то действие. По сути можно взять их приложение и подключить dll lotus, затем открыть документ уже из него.
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 601
277
#12
либо заявить что в лотусе этого сделать невозможно. У меня коллеги просто сделали на C# подобное.
причем тут лотус? Делайте на java...
ничем от шарпея, кроме нормальной кроссплатформенности ;) не отличается
вам ссылки на либы для USB нужны, для java?
[DOUBLEPOST=1461692593,1461692413][/DOUBLEPOST]"просто" сам вопрос звучит дико...
вот для пропедалить тему
http://stackoverflow.com/questions/8146840/barcode-scanner-implementation-on-java/8621266
[DOUBLEPOST=1461692765][/DOUBLEPOST]коротко - перехват клавы (HID интерфейс) - это банально ;), но чревато...
по ссылке - обработка от эмулятора COM порта (соотв. модель сканера)
 

duchan

Well-known member
20.09.2006
110
3
#13
Если уж так java не катит (раз уж таков вопрос, то и таков ответ) и надо под винду, то как вариант пишите ActiveX-COM библиотеку, которая будет обрабатывать USB, а из лотуса, например, по таймеру, через COM (CreateObject) опрашивайте библиотеку. Другой вариант, написать DLL и экспартировать из нее функции в лотус и опять же дергать по таймеру API. Третий вариант более опасный, т.к. может убить клиент, это внешнее фоновое приложение обрабатывающее USB и само дергающее лотус либо через OLE (именно OLEшный UI - это как раз может убить клиент) либо через notes-url (параметры можно передавать, например, через environment).
 

proteam

Well-known member
02.03.2012
144
1
#14
Говоря про лотус не имелся ввиду чистый лотус скрипт. Можно и на java. Спасибо. Буду смотреть, пробовать. Быть может получится уговорить оставить все как есть. Аргумент в духе "то что работает хорошо, лучше не трогать" никто не отменял)
 

garrick

Lotus team
26.10.2009
911
61
#16
Если я всё правильно понимаю, то сканер имитирует нажатие клавиш на клавиатуре и в конце ввода ставит Enter. Тут никакой USB не нужен. Нужно окно ввода куда сканер может ввести "штрихкод", а Лотус его считать. InputBox$ вполне подошел бы для этого, но @proteam это, как я понимаю, не устраивает. Надо что-то придумать с каким-нибудь "скрытым" окном для ввода. Если вешать на USB, то как отличить сканер от клавиатуры или мыши?

Надо поитересоваться как кассовые аппараты с этим работают, может и драйвера какие-нибудь оттуда взять. Хотя там всё проще, там только сканер.
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 233
18
#17
Если я всё правильно понимаю, то сканер имитирует нажатие клавиш на клавиатуре и в конце ввода ставит Enter. Тут никакой USB не нужен. Нужно окно ввода куда сканер может ввести "штрихкод", а Лотус его считать. InputBox$ вполне подошел бы для этого, но @proteam это, как я понимаю, не устраивает. Надо что-то придумать с каким-нибудь "скрытым" окном для ввода. Если вешать на USB, то как отличить сканер от клавиатуры или мыши?

Надо поитересоваться как кассовые аппараты с этим работают, может и драйвера какие-нибудь оттуда взять. Хотя там всё проще, там только сканер.
просто рассматривать что клава это только сканер, а всё остальное это мышка - как на кассах
и обработчик яваскриптовый на одном поле
делов то

это только для прогрессивных можно еще и событие что это "от сканера"
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 601
277
#18
Если я всё правильно понимаю, то сканер имитирует нажатие клавиш на клавиатуре и в конце ввода ставит Enter. Тут никакой USB не нужен. Нужно окно ввода куда сканер может ввести "штрихкод", а Лотус его считать. InputBox$ вполне подошел бы для этого, но @proteam это, как я понимаю, не устраивает. Надо что-то придумать с каким-нибудь "скрытым" окном для ввода. Если вешать на USB, то как отличить сканер от клавиатуры или мыши?

Надо поитересоваться как кассовые аппараты с этим работают, может и драйвера какие-нибудь оттуда взять. Хотя там всё проще, там только сканер.
как и описано по ссылкам, если HID - делают хуки на обработку клавиатуры, что само-по-себе не ах, ибо на это может вешаться куча софта (всяки виндятские свистоперделки, коими любя обвешиваться виндоюзеры)
если сканер может эмулировать КОМпорт - все "упрощается" :)
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 233
18
#19
как и описано по ссылкам, если HID - делают хуки на обработку клавиатуры, что само-по-себе не ах, ибо на это может вешаться куча софта (всяки виндятские свистоперделки, коими любя обвешиваться виндоюзеры)
если сканер может эмулировать КОМпорт - все "упрощается"
ну с таким подходом проще научить сканер писать в файл, тогда всё еще круче упрощается ;)