theskiguy Ответов: 1

Как определить, отформатирован ли сканер штрих-кода с суффиксом "tab"


I have a VB.net program that has textboxes that get populated via a barcode scanner. For things to work properly, the barcode scanner needs to be formatted with a "Tab" suffix. Every once in a while, the barcode scanners get replaced and end up getting formatted with the wrong suffix. Usually what happens is they get formatted with an "Enter" vs a "Tab". This can sometimes cause issues because if a button has focus after the barcode, the enter will "click" the button. To address this issue, I am trying to write code to validate the barcode scanner is formatted with a "Tab". I thought I could use the keydown event but it is not detecting the tab from the barcode reader. I made sure I set the AcceptsTab property of the textbox to True and I also set the multiline property to true. If I actually press the tab key via the keyboard, it recognizes the tab but not from the barcode reader. I went ahead and reformatted the barcode reader to add the tab suffix and I can see the tab when I scan the barcode into NotePad. Any ideas on why this is not working? It is matters, I am using a Honeywell 3800G scanner with USB input.

Что я уже пробовал:

Private Sub TxtSequenceBarcode_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TxtSequenceBarcode.KeyDown

        Debug.WriteLine("KeyDown = " & e.KeyCode)

        If e.KeyCode = Keys.Tab Then
            Debug.WriteLine("Tab Found via KeyDown")
        End If
    End Sub

MadMyche

Есть ли у вас возможность использовать программу управления сканером, чтобы убедиться, что она имеет правильный префикс/суффикс

theskiguy

да я делаю. Как я уже упоминал выше, я перепрограммировал его просто для того, чтобы убедиться. Сначала я удалил все суффиксы и проверил вывод в блокноте и заметил, что там нет вкладки. Затем я добавил суффикс tab в считыватель штрих-кодов и снова проверил его в блокноте, и я мог видеть добавленную вкладку.

1 Ответов

Рейтинг:
2

OriginalGriff

Проблема в том, что если сканер штрих - кода не установлен, он вообще не даст вам вкладку-он просто даст вам номера, которые он сканирует, без префикса или суффикса информации. И вы не можете сказать, была ли эта числовая информация введена или отсканирована, так как Windows не хранит такую информацию.

Единственный способ обнаружить отсутствие вкладки-это установить таймер, когда вы получаете фактические данные, и очистить его, если вы действительно получаете клавишу вкладки. Если таймер истекает через "разумное время (возможно, пару секунд), то вы не получили вкладку.