我单位日常管理经常用到二维码,我就想用VB做一个二维码管理的软件。
新米米 2014-01-06 08:39:32 从网上买了一个二维码读取器,VB的开发包也要了。却发现一个问题。
用普通的接口驱动程序连接上,打开一个TXT,然后扫一下,应该是带回车和换行的,每扫一个码,光标会自动到下一行的开始处。再就是时间有间隔,扫完一个件,把件还放在扫描仪上,扫码仪过一秒或半秒种再次扫描一次。用厂方提供的VB的开发包不行了,手拿着件很快的往上一放,就连着扫3下,不厌其烦。好像是扫描速度过快。后来好不容易弄明白了。就是红字的地方,那个地方把引擎打开了,然后引擎就一直开着,就很高速的扫描。解决方法是得写一个循环或是间歇的程序,让这个引擎一开一关,或是延时运行,让它减慢扫描的速度。但怎么实现,这研究了三天,实在是没招了,来向各位前辈求教求教,顿首。
Private bytByte(0 To 2000) As Byte
Private Sub Command1_Click()
ReleaseLostDevice
Unload Me
End Sub
Private Sub Form_Load() '查找设备
If GetDevice = 1 Then
If StartDevice = 1 Then '启动设备
setQRable 1 '启动QR引擎
SetBeepTime 1000 '设置扫描蜂鸣声
Else
MsgBox "启动设备失败"
End If
Else
MsgBox "获取设备失败"
End If
End Sub
Private Sub Label2_Change()
If Label2 = "85" Then Label1 = "王"
If Label2 = "41" Then Label1 = "望"
If Label2 = "44" Then Label1 = "泰"
If Label2 = "83" Then Label1 = "山"
If Label2 = "64" Then Label1 = "高"
If Label2 = "40" Then Label1 = "日"
If Label2 = "43" Then Label1 = "黄"
If Label2 = "42" Then Label1 = "昭"
If Label2 = "05" Then Label1 = "日"
If Label2 = "61" Then Label1 = "大"
If Label2 = "52" Then Label1 = "所"
If Label2 = "82" Then Label1 = "石"
If Label2 = "45" Then Label1 = "秦"
If Label2 = "84" Then Label1 = "任"
If Label2 = "47" Then Label1 = "地"
If Label2 = "49" Then Label1 = "南"
If Label2 = "63" Then Label1 = "后"
If Label2 = "81" Then Label1 = "小"
If Label2 = "56" Then Label1 = "三"
If Label2 = "50" Then Label1 = "西"
If Label2 = "48" Then Label1 = "两"
If Label2 = "62" Then Label1 = "万"
End Sub
Private Sub Text1_Change()
Label2 = Mid(Text1, 9, 2)
Text1.Text = ""
End Sub
'间隔1秒
Private Sub Timer1_Timer()
GetDecodeString bytByte(0)
Text1 = Text1 + ByteToStr(bytByte)
End Sub