我用過的掃描槍的輸入是用的com輸入,在VB里添加MSComm控件即可。視設(shè)備管理器里識別為com幾就選com幾。
創(chuàng)新互聯(lián)公司是專業(yè)的樟樹網(wǎng)站建設(shè)公司,樟樹接單;提供成都網(wǎng)站建設(shè)、做網(wǎng)站,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行樟樹網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
掃描的時候,MSComm控件有comEvReceive事件,可以作為觸發(fā)事件的,比如控件名是MSComm1
那這個MSComm1_OnComm()里,如果有這個觸發(fā)事件,就可以聲明一個字符型來接受MSComm1.input
這個輸入可能根據(jù)不同掃描槍不同要進(jìn)行些處理以得到你需要的條碼實(shí)值
當(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等。
換成USB是一樣的,只看到COM1可能是因?yàn)槟愕碾娔X上只有一個COM1或者只用了一個COM1,要想收到數(shù)據(jù)得有數(shù)據(jù)網(wǎng)這個串口上發(fā)送才行的;并且要保證串口已經(jīng)打開而且設(shè)置了端口號和波特率校驗(yàn)等參數(shù)才行的
USB比較難抓數(shù)據(jù),建議是USB模擬串口,或者直接就是串口,這樣數(shù)據(jù)比較好抓。
USB上傳模式是鼠標(biāo)光標(biāo)在哪數(shù)據(jù)就上傳在哪,所以你抓USB的數(shù)據(jù)的很難!
X貓-思刊辦公專營店
如果是usb掃描槍,是焦點(diǎn)在哪它就輸入在哪,不能自動對應(yīng)到相應(yīng)的文本框
如果是串口掃描槍可以實(shí)現(xiàn)你的功能,在代碼里判斷相應(yīng)的串口對應(yīng)文本框