星空5G 导航

如何用VB做个简单的条码验证器,,扫描枪输入。。详情见图-

2024-09-16编辑:本站
VB.NET如何操作条码扫描枪,如何设置,如何进行条形码的设置及打印~

这个要看扫描枪的通讯接口和通讯协议,以及接口程序是否支持VB.NET等。

这个还是要看你用什么去扫描条码。
下面这个方案可行,我实现过,不知道硬件适不适合你的情况。
硬件:条码扫描枪,串口的。(将扫枪接到串口,比如COM1)
软件:直接用VB读取串口(比如COM1)信息就好了。

所以,你只要在网上搜索一个VB读取串口信息的例子,改改就好了。

其他接口(如网口)的扫枪我没用过,不太清楚。
希望能帮到你。

我用过的扫描枪的输入是用的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输入恕在下暂时无能为力

如一L所说的
彩用MSchat控件来建立与扫描枪的连接 ,并用 MSComm1_OnComm()来响应从扫描枪返回的值
当接收到返回的值再通过分析扫描枪返回的值来返回信息结果

步骤上就是这些了,难点就是扫描枪返回的值的规则需要自己去摸索

太高深了,不懂啊~

相关内容

首页 新知 身健
返回顶部

© 星空5G w.xkyn.com