powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Работа со сканером
9 сообщений из 9, страница 1 из 1
Работа со сканером
    #39864811
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может кто поделиться кодом? Надо внедрять в самописное ПО (delphi 2007) работу со сканерами в связи с маркировкой лекарственных средств. до это сканеров не было вообще. Надо разобраться как вврбще с ним работать вообще, быстрое гугление пока ничего рабочего не дало
...
Рейтинг: 0 / 0
Работа со сканером
    #39864812
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сканер штрих кодов естественно
...
Рейтинг: 0 / 0
Работа со сканером
    #39864890
GrigoriyFomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
арт2010,

обычные штрих-код сканеры ставятся как HID-клавиатуры и при нажатии кнопки сканирования на пистолете - сканируют штрих-код, пытаются его раскодировать и при успехе пикают и эмулируют нажание клавиш на клавиатуре. То есть можно открыть блокнот и пропикать штрихкоды - должны вставиться строки с цифрами. Фишка - каждый сканер может выдавать лидирующий символ - типа начало штрихкода - это в настройках можно отключить. Мы закупали разные сканеры, они разные лидирующие символы выдавали, нередко это символ !
можно просто игнорить в окне ввода все символы, кроме цифр, #8 и #13, и тогда штрихкод можно внести как с клавиатуры обычно, так и сканером.

вот мой кусок кода работы со сканером. edBarcode - обычный TEdit
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
procedure TCheckForm.edBarcodeKeyPress(Sender:TObject;var Key:Char);
begin
  if Key = #13 then
  begin
    ProcessBarcode(edBarcode.Text);
    edBarcode.Text:='';
  end;
  if not charinset(Key,['0' .. '9',#8]) then Key:=#0;
  edBarcode.SetFocus;
end;
...
Рейтинг: 0 / 0
Работа со сканером
    #39866059
Cobalt747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrigoriyFomin,

Но лучше их переводить в режим виртуального ком-порта.
Точно будешь знать, что это данные от сканера, и не будешь зависеть от раскладки клавиатуры и зажатого Shift/Caps
...
Рейтинг: 0 / 0
Работа со сканером
    #39866110
Softologic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cobalt747GrigoriyFomin,

Но лучше их переводить в режим виртуального ком-порта.
Точно будешь знать, что это данные от сканера, и не будешь зависеть от раскладки клавиатуры и зажатого Shift/Caps

Определенно! Давно работаю со сканерами и обработка месседжей в виде событий куда приятнее, поскольку нет нужды тыкать мышью в определенное поле ввода.
...
Рейтинг: 0 / 0
Работа со сканером
    #39866629
V.Borzov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
арт2010,

Если в режиме клавиатуры, то можно привязаться к TApplicationEvents.OnMessage, вылавливать оттуда Msg.message = wm_char и обрабатывать. Надо дождаться префикса, который поступает со сканера, какой-нибудь символ, который от юзера вряд ли поступит, сожрать всё до поступления суффикса, и выдать готовый штрихкод всем заинтересованным объектам. Префиксы и суффиксы практически во всех штрихкодах легко программируются. Если нет, то можно завязаться на таймауты, но тут чуть сложнее.

Если в режиме com-порта, то программировать еще проще, не надо думать, откуда пришел этот сигнал. Как читать из COM-порта, можно погуглить. Щас набрал "delphi чтение из com-порта", и был удивлен, сколько вариантов есть. Но мы делали как-то вроде вот этого: https://toster.ru/q/127263.

Наконец, чтобы вообще не париться, можно купить драйвер АТОЛ сканеров штрихкодов. Стоит недорого, всё становится элементарно.
...
Рейтинг: 0 / 0
Работа со сканером
    #39868880
dartveider13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я использую библиотеку TComPort. На мой взгляд элементарная штука. Сканеры у меня работают в режиме виртуального COM-порта. Для этого ставим драйвер, переводим сканер в соответствующий режим через настроечные ШК. Ну и делаем обработчик событий TComPort в Delphi.
...
Рейтинг: 0 / 0
Работа со сканером
    #39869142
Softologic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dartveider13Я использую библиотеку TComPort. На мой взгляд элементарная штука. Сканеры у меня работают в режиме виртуального COM-порта. Для этого ставим драйвер, переводим сканер в соответствующий режим через настроечные ШК. Ну и делаем обработчик событий TComPort в Delphi.
А можете показать пример кода, например, при обработке событий?
И какой именно драйвер используете?
...
Рейтинг: 0 / 0
Работа со сканером
    #39869243
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И какой именно драйвер используете?

Для каждой модели сканеров обычно разные драйвера. В хороших драйверах СОМ-порт не исчезает при выдёргивании сканера из USB. Информация о драйвере должна идти в документации к сканеру. Также в документации указано, как перевести драйвер в режим СОМ-порта.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Работа со сканером
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]