我正在使用掃描儀讀取條形碼工作,我有以下問題:條形碼讀取在WPF
- 有沒有辦法從掃描儀,鍵盤和輸入的輸入之間的區別?這對於我來說是必需的,因爲條形碼閱讀器將包含前導碼,終止符和條形碼值的前綴。例如,如果值爲12345,則條碼將具有\ pre12345 \,其中\和\表示開始和結束,並且預先標識數據的類型。 如果我知道數據是從鍵盤輸入的而不是從掃描器輸入的,那麼我會顯示任何用戶輸入的內容。 如果我知道數據來自掃描儀,那麼我會去掉\ pre和\並只顯示數據。
感謝,
我正在使用掃描儀讀取條形碼工作,我有以下問題:條形碼讀取在WPF
感謝,
也不錯!條形碼掃描器的輸入應先通過COM端口或串行連接進行初始化。我知道很多應用通過特定的端口限制輸入到特定的字段,但除此之外我不確定。
我的答案假定您在「鍵盤楔」模式下使用條形碼掃描器,它只是模擬鍵盤而沒有特殊連接。這些設備通常是USB,不需要任何進一步的配置就可以以這種方式工作。
用戶是否有機會實際輸入\pre
文本?通常前綴被選擇爲一組用戶永遠不會輸入或至少很少輸入的字符。因此,僅僅存在前綴表示掃描的條形碼。
另一種選擇是定時輸入。例如,來自條形碼掃描器的輸入可能在很短的時間內(例如50ms)完成。如果用戶通過鍵盤輸入數值,他/她將不可能在50ms內輸入前綴,數據和後綴。 (當然,這裏的假設是輸入將由實際人員進行,而不是由自動化工具進行)
是的,用戶可能會輸入\ pre作爲文本,並且當時我不應該將其視爲掃描器輸入。 如果沒有預置且只有\,並且用戶輸入\,我應該能夠識別它來自鍵盤並顯示它。 此外,如果用戶輸入\並在輸入更多文本之前等待,如果我不知道它是來自鍵盤,我將在延遲(超時)後向用戶顯示文本,這可能會混淆用戶。 – RRR 2009-08-25 21:43:15
您可以選擇不同的\用戶不太可能手動輸入嗎?至於延遲,50ms的延遲對於用戶來說幾乎不可察覺。另一種選擇是立即顯示所有內容,如果在超時到期之前輸入完整數據,則退回並刪除\ pre。 – 2009-08-26 14:13:32
我想出的一個解決方案是啓動我們所有帶有字符唯一序列的條形碼用戶。我在輸入中檢查這個序列,告訴我數據是如何輸入的。
我想實現一個不依賴於掃描儀類型的通用解決方案。 – RRR 2009-08-25 14:29:23