3个回答
展开全部
我用过的扫描枪的输入是用的com输入,在VB里添加MSComm控件即可。视设备管理器里识别为com几就选com几。
扫描的时候,MSComm控件有comEvReceive事件,可以作为触发事件的,比如控件名是MSComm1
那这个MSComm1_OnComm()里,如果有这个触发事件,就可以声明一个字符型来接受MSComm1.input
这个输入可能根据不同扫描枪不同要进行些处理以得到你需要的条码实值
当然条码枪具体给你什么你可以去Windows自带的Hyper Terminal里看到
有个了这个条码值,在你图里对应的第二个表里其他的Textbox或者label控件就可以写相应的Caption了,无非是if,case判断了
不加数据库连接的话就没那么复杂了
空口说白话也不行,以下是基于Motolora Symbol P370/470型对条码值的一些处理,直接写在OnComm里了,process_no就是看到这个号码做相应处理的判断,可以另起炉灶写一个到时候调用就是
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接收事件和取值的例子,判断不必参考的,关键无非是把接收值读入st,再对st_all这个全局变量赋值(不然你一会用那个条码值可没有个地方记录了)
非com输入恕在下暂时无能为力
扫描的时候,MSComm控件有comEvReceive事件,可以作为触发事件的,比如控件名是MSComm1
那这个MSComm1_OnComm()里,如果有这个触发事件,就可以声明一个字符型来接受MSComm1.input
这个输入可能根据不同扫描枪不同要进行些处理以得到你需要的条码实值
当然条码枪具体给你什么你可以去Windows自带的Hyper Terminal里看到
有个了这个条码值,在你图里对应的第二个表里其他的Textbox或者label控件就可以写相应的Caption了,无非是if,case判断了
不加数据库连接的话就没那么复杂了
空口说白话也不行,以下是基于Motolora Symbol P370/470型对条码值的一些处理,直接写在OnComm里了,process_no就是看到这个号码做相应处理的判断,可以另起炉灶写一个到时候调用就是
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接收事件和取值的例子,判断不必参考的,关键无非是把接收值读入st,再对st_all这个全局变量赋值(不然你一会用那个条码值可没有个地方记录了)
非com输入恕在下暂时无能为力
展开全部
如一L所说的
彩用MSchat控件来建立与扫描枪的连接 ,并用 MSComm1_OnComm()来响应从扫描枪返回的值
当接收到返回的值再通过分析扫描枪返回的值来返回信息结果
步骤上就是这些了,难点就是扫描枪返回的值的规则需要自己去摸索
彩用MSchat控件来建立与扫描枪的连接 ,并用 MSComm1_OnComm()来响应从扫描枪返回的值
当接收到返回的值再通过分析扫描枪返回的值来返回信息结果
步骤上就是这些了,难点就是扫描枪返回的值的规则需要自己去摸索
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
太高深了,不懂啊~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询