我用過的掃描槍的輸入是用的com輸入,在VB里添加MSComm控件即可。視設(shè)備管理器里識別為com幾就選com幾。
站在用戶的角度思考問題,與客戶深入溝通,找到玉泉網(wǎng)站設(shè)計與玉泉網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站設(shè)計制作、網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、空間域名、網(wǎng)頁空間、企業(yè)郵箱。業(yè)務(wù)覆蓋玉泉地區(qū)。
掃描的時候,MSComm控件有comEvReceive事件,可以作為觸發(fā)事件的,比如控件名是MSComm1
那這個MSComm1_OnComm()里,如果有這個觸發(fā)事件,就可以聲明一個字符型來接受MSComm1.input
這個輸入可能根據(jù)不同掃描槍不同要進行些處理以得到你需要的條碼實值
當(dāng)然條碼槍具體給你什么你可以去Windows自帶的Hyper Terminal里看到
有個了這個條碼值,在你圖里對應(yīng)的第二個表里其他的Textbox或者label控件就可以寫相應(yīng)的Caption了,無非是if,case判斷了
不加數(shù)據(jù)庫連接的話就沒那么復(fù)雜了
空口說白話也不行,以下是基于Motolora Symbol P370/470型對條碼值的一些處理,直接寫在OnComm里了,process_no就是看到這個號碼做相應(yīng)處理的判斷,可以另起爐灶寫一個到時候調(diào)用就是
Private Sub MSComm1_OnComm()
Dim st As String
If MSComm1.CommEvent = comEvReceive Then
st = MSComm1.Input
If st Chr(3) Then
st_all = st_all + st
Else
Txt_Pt.Text = Trim(Mid(st_all, InStr(st_all, Chr(2)) + 1, 10))
st_all = ""
Process_no
End If
End If
End Sub
以上只是com接收事件和取值的例子,判斷不必參考的,關(guān)鍵無非是把接收值讀入st,再對st_all這個全局變量賦值(不然你一會用那個條碼值可沒有個地方記錄了)
非com輸入恕在下暫時無能為力
這個要看掃描槍的通訊接口和通訊協(xié)議,以及接口程序是否支持VB.NET等。
不需要監(jiān)控接口,掃描槍應(yīng)該是直接掃描出數(shù)字的,直接用一個Textbox顯示掃描結(jié)果就可以了
如果是usb掃描槍,是焦點在哪它就輸入在哪,不能自動對應(yīng)到相應(yīng)的文本框
如果是串口掃描槍可以實現(xiàn)你的功能,在代碼里判斷相應(yīng)的串口對應(yīng)文本框
利用手機攝像頭掃描識別條碼,簡化數(shù)據(jù)輸入,可以掃描識別常見的一維碼,二維碼,識別解碼迅速,準(zhǔn)確。開放的API接口,不超過10句代碼讓你的項目集成條碼掃描功能。
經(jīng)過優(yōu)化的掃描引擎,識別更迅速
完善的 API接口:
完全開放的API參數(shù),直接引用DLL
完全集成了Camera的開發(fā),直接從攝像頭內(nèi)存buffer掃描條碼
C#,VB.NET直接調(diào)用,簡化你的項目開發(fā)進度
C#,VB.NET范例
記不清,好像是 安徽天冠信息產(chǎn)業(yè)有限公司開發(fā)的 如果商業(yè)應(yīng)用你可以去找他們。很成熟,我以前在別的公司用過。
我用的metrologio掃描槍
掃描槍工作流程 1.掃描條型碼 2.編繹條型碼 3.模擬鍵盤輸入: 條型碼字符 + 回車
可以看出,當(dāng)出現(xiàn)回車時就代表輸入結(jié)束,可以執(zhí)行代碼了
用keydown ,keyup 或者keypress 事件
下面用keypress舉例:
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then ‘回車鍵的asc鍵值為13
'省略要執(zhí)行的代碼
text1.text="" '清空文本框
'上面這個是最簡單的,要想保留條型碼只要刪除上這行了
End If
End Sub
'我覺得還是清空文本框比較好,方便多次掃描
因為沒有代碼,所以不能確定是不是這樣,能達到同樣效果還有別的方法,基本上都差不多的,就不說了