我用过的扫描枪的输入是用的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输入恕在下暂时无能为力
不需要监控接口,扫描枪应该是直接扫描出数字的,直接用一个Textbox显示扫描结果就可以了
如果是usb扫描枪,是焦点在哪它就输入在哪,不能自动对应到相应的文本框
如果是串口扫描枪可以实现你的功能,在代码里判断相应的串口对应文本框
USB比较难抓数据,建议是USB模拟串口,或者直接就是串口,这样数据比较好抓。
USB上传模式是鼠标光标在哪数据就上传在哪,所以你抓USB的数据的很难!
X猫-思刊办公专营店
在TEXTBox的属性找到ReadOnly,设置为TURE
还有一个方法是用Lable不用Textbox
==========================================
就是我尝试设置为ReadOnly设置为TURE
执行以下代码
TextBox1.Text = "123"
在在TEXTBOX能成功显示能够成功显示123
这个要看扫描枪的通讯接口和通讯协议,以及接口程序是否支持VB.NET等。