全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3436
推到 Plurk!
推到 Facebook!

辯別Keyboard與usb Barcode Scanner的方法…

尚未結案
ychch0819
一般會員


發表:25
回覆:29
積分:15
註冊:2006-08-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-07-04 17:07:17 IP:59.120.xxx.xxx 訂閱
由於程式目的想要讓使用者能隨時都能利用barcode scanner掃進條碼,所以使用者不需要將游標停留在某個Edit元件上…甚至在別的程式畫面也能掃條碼,所以我的做法是用keyboard hook 來抓全域的鍵盤輸入…這邊已經OK

現在的問題在於如何分辯出是由鍵盤還是scanner輸入…之前曾經有人討論過用時間來判斷…這個想法我有實做過,或許可行…
因為scanner會在最後加上enter,因此我目前的做法是用一個buffer來存所有抓到的輸入

若index=0,則開始計時,直到抓到enter,判斷時間差(若用scanner掃條碼,通常是0.2~0.3秒會完成)
所以若超過0.3~0.4秒就不是scanner輸入,抓到enter的同時把index設為0,清空buffer...

現在的問題在於若使用者已經隨意輸入幾個鍵(從沒按過enter),接著開始掃條碼,這樣時間一定會超過0.3秒,
那我就會視為不是由scanner的輸入,這樣使用者可能會覺得為什麼會失敗,所以不知道能不能解決…還是有更好的做法…

我的想法是設timer去清buffer和重設index,但不知道有沒有問題…謝謝...
編輯記錄
ychch0819 重新編輯於 2007-07-04 17:08:33, 註解 無‧
taishyang 重新編輯於 2007-07-04 18:40:18, 註解 將文章分類成[問題]‧
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-07-04 17:36:55 IP:220.131.xxx.xxx 未訂閱
換個 RS232 的 bar code reader 不就得了?
有必要這麼整自己嗎?
人家 keyboard interface 的 barcode reader 本來就是為了給封閉系統用的。
你開放式系統跟人家用那種東西就不對了。。。。。。。
ychch0819
一般會員


發表:25
回覆:29
積分:15
註冊:2006-08-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-07-04 20:19:25 IP:122.124.xxx.xxx 訂閱
其實我們本來就是用RS 232介面的scanner...原本的軟體也是用RS232寫
但是由於現在的電腦都只剩一組com port,並給另一套軟體使用了…
加上現在買的Scanner大都為USB介面,主管才要求看能不能改成USB的方式也能達成和RS232一樣的效果...
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-07-04 21:38:39 IP:61.225.xxx.xxx 未訂閱
還好吧。搞個 USB 轉 RS232 就繼續用了呀。
不然 bar code reader 也有 USB 插進去。變出 virtual COM PORT 的東西呀。
選對東西比你用這些個”不正規”的解決方案容易吧。
系統時間:2024-04-20 15:56:09
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!