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

Тема в разделе "Lotus - Программирование", создана пользователем ToxaRat, 28 авг 2012.

  1. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    Суть в подключении стороннего железа, которое может работать только через команды по порту (без драйверов)

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

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

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
  3. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    не, от явы как раз подальше хочу уйти
     
  4. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
  5. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.083
    Симпатии:
    300
    ИБМ к яве поближе, а ты подальше :) - может профиль сменить?
     
  6. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    я рассматриваю для клиентов 6-7 там винАПИ ближе

    не подскажете название функции и либы?
     
  7. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.083
    Симпатии:
    300
    наскока помню - в винде всё через жопень фильтры и драйвер делается (т.е. пишется типа обработчика и он прописывается в систему)
    например так 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*
     
  8. proteam

    proteam Well-Known Member

    Регистрация:
    2 мар 2012
    Сообщения:
    144
    Симпатии:
    2
    Всем привет. Решил возобновить эту тему. У меня есть Сканер штрих кодов, на подобие тех что стоят в магазинах. Есть документы со ШК. Сейчас в ИС работают как, пользователь нажимает кнопку Поиск по ШК, открывается окошко, он туда считывает ШК при помощи сканера, далее я уже этот шк использую для поиска документа в БД. Теперь хотят сделать так, чтобы пользователь не нажимал на кнопку Поиск по ШК. Получается мне придется написать какой то обработчик usb порта. Вот как это лучше сделать? Ссылки указанные выше не открываются что то. Буду очень благодарен за кусочки кода, библиотеки или готовые решения)))
     
  9. anna

    anna Lotus team
    Lotus team

    Регистрация:
    3 июн 2014
    Сообщения:
    314
    Симпатии:
    8
    о, здоровская тема! постою послушаю. А слабо в зависимости от статусов документа лампочки на столе зажигать?
     
  10. alexas1

    alexas1 Lotus team
    Lotus team

    Регистрация:
    10 апр 2014
    Сообщения:
    567
    Симпатии:
    214
    а это ещщё нафига? подключаешь агенты искусственного интеллекта и ффсё.
    а вот автомат для выдачи зряплаты подключить неслабо.
     
  11. proteam

    proteam Well-Known Member

    Регистрация:
    2 мар 2012
    Сообщения:
    144
    Симпатии:
    2
    @anna вот вы прикалываетесь, а мне нужно решение какое то придумать, либо заявить что в лотусе этого сделать невозможно. У меня коллеги просто сделали на C# подобное. Также в фоновом режиме обработчик ожидает считывание ШК, затем производит какое то действие. По сути можно взять их приложение и подключить dll lotus, затем открыть документ уже из него.
     
  12. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.083
    Симпатии:
    300
    причем тут лотус? Делайте на java...
    ничем от шарпея, кроме нормальной кроссплатформенности ;) не отличается
    вам ссылки на либы для USB нужны, для java?
    [DOUBLEPOST=1461692593,1461692413][/DOUBLEPOST]"просто" сам вопрос звучит дико...
    вот для пропедалить тему
    http://stackoverflow.com/questions/8146840/barcode-scanner-implementation-on-java/8621266
    [DOUBLEPOST=1461692765][/DOUBLEPOST]коротко - перехват клавы (HID интерфейс) - это банально ;), но чревато...
    по ссылке - обработка от эмулятора COM порта (соотв. модель сканера)
     
  13. duchan

    duchan Well-Known Member

    Регистрация:
    20 сен 2006
    Сообщения:
    106
    Симпатии:
    3
    Если уж так java не катит (раз уж таков вопрос, то и таков ответ) и надо под винду, то как вариант пишите ActiveX-COM библиотеку, которая будет обрабатывать USB, а из лотуса, например, по таймеру, через COM (CreateObject) опрашивайте библиотеку. Другой вариант, написать DLL и экспартировать из нее функции в лотус и опять же дергать по таймеру API. Третий вариант более опасный, т.к. может убить клиент, это внешнее фоновое приложение обрабатывающее USB и само дергающее лотус либо через OLE (именно OLEшный UI - это как раз может убить клиент) либо через notes-url (параметры можно передавать, например, через environment).
     
  14. proteam

    proteam Well-Known Member

    Регистрация:
    2 мар 2012
    Сообщения:
    144
    Симпатии:
    2
    Говоря про лотус не имелся ввиду чистый лотус скрипт. Можно и на java. Спасибо. Буду смотреть, пробовать. Быть может получится уговорить оставить все как есть. Аргумент в духе "то что работает хорошо, лучше не трогать" никто не отменял)
     
  15. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    крайне простая задачка была, всего-то лотус в режиме киоск и DLL с купюроприёмником, выдачей и т.д.
     
  16. garrick

    garrick Lotus team
    Lotus team

    Регистрация:
    26 окт 2009
    Сообщения:
    773
    Симпатии:
    52
    Если я всё правильно понимаю, то сканер имитирует нажатие клавиш на клавиатуре и в конце ввода ставит Enter. Тут никакой USB не нужен. Нужно окно ввода куда сканер может ввести "штрихкод", а Лотус его считать. InputBox$ вполне подошел бы для этого, но @proteam это, как я понимаю, не устраивает. Надо что-то придумать с каким-нибудь "скрытым" окном для ввода. Если вешать на USB, то как отличить сканер от клавиатуры или мыши?

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

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    просто рассматривать что клава это только сканер, а всё остальное это мышка - как на кассах
    и обработчик яваскриптовый на одном поле
    делов то

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

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.083
    Симпатии:
    300
    как и описано по ссылкам, если HID - делают хуки на обработку клавиатуры, что само-по-себе не ах, ибо на это может вешаться куча софта (всяки виндятские свистоперделки, коими любя обвешиваться виндоюзеры)
    если сканер может эмулировать КОМпорт - все "упрощается" :)
     
  19. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    ну с таким подходом проще научить сканер писать в файл, тогда всё еще круче упрощается ;)
     
  20. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.083
    Симпатии:
    300
    ты считаешь нормальным ставить хуки на клаву в ОС ;)?
     
Загрузка...

Поделиться этой страницей