只能条码扫描,不能手工输入

frankwong 2012-02-24 09:52:31
最近在做一个有关车间生产采集系统,要求操作人员在生产时,对每笔生产单都需要用条码机扫描到系统中,需要扫描员工卡,工序卡,生产单卡三者的条码,且三者扫描可以不按顺序,现需要解决一个问题是:系统只能让操作员用条码机扫描,不能让其用键盘和鼠标输入条码,请问有什么解决方法?谢谢!


开发工具:vb6
...全文
1056 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
u010278192 2013-04-15
  • 打赏
  • 举报
回复
如果是要在EXCEL中实现只能通过扫描录入,不能手动输入,该如何解决,高手赐教,扫描枪也就是USB的那种,不可设置其他内容
frankwong 2012-03-09
  • 打赏
  • 举报
回复
补充:text1.multiline=true '设置多行才能识别字符串的vbcrlf
frankwong 2012-02-25
  • 打赏
  • 举报
回复
最后使用如下方案解决,经过初步测试,没有发现问题,抛砖引玉,请各位有需要的朋友试试
1.增加一个timer控件,
interval=100,
enabled=true,
clipboard.clear '每时每刻清空剪贴板,防止用户复制和粘贴

2.增加一个timer控件
interval=100
enabled=false

private sub text1_change()
if text1.text<>"" then timer1.enable=true '文本框有字符,表示还在输入(包括条码输入)状态
if instr(1,text1.text,vbcrlft)>0 then '检测到有回车键,表示是条码输入
timer1.enabled=false '停止计时
'----写入数据库
text1.text="" '清空文本框
endif
end sub


private sub timer1_timer()
msgbox "输入超时" '超过100毫秒肯定是用键盘输入
timer1.enabled=false '停止计时
text1.text="" '清空文本框
end sub
frankwong 2012-02-24
  • 打赏
  • 举报
回复
to Veron_04:条码枪已经有了!
贝隆 2012-02-24
  • 打赏
  • 举报
回复
这个需要购买一个扫描设备才行。
贝隆 2012-02-24
  • 打赏
  • 举报
回复
这个的具体问题具体分析,楼主提供更多的信息才行。
frankwong 2012-02-24
  • 打赏
  • 举报
回复
看来还是使用限制输入时间的方法来监测是否手工输入比较好!
fu0212 2012-02-24
  • 打赏
  • 举报
回复
串口扫描枪 要那种带协议的 不要模拟成键盘的 有串口键盘吗?没见过 只见过串口的鼠标
贝隆 2012-02-24
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 frankwong 的回复:]
Locked=True不能扫描到文本框,我的条码机是和键盘共用一个传统键盘接口那种!有劳!
[/Quote]
有一个思路,直接读取键盘端口的数据。
键盘数据端口是&H60,读这个硬件端口就可以得到扫描的内容
frankwong 2012-02-24
  • 打赏
  • 举报
回复
换成串口条码枪,使用上跟我目前的条码枪在软件上面有没有区别?就是接上串口条码枪后,一扫描条码就显示在没有设置locked的文本框中!谢谢!
fu0212 2012-02-24
  • 打赏
  • 举报
回复
看来只能 搞个单片机 吧你PS2的扫描枪 转成串口的了
PS2接口 协议比较简单 很容易在51单片机下实现
Tiger_Zhao 2012-02-24
  • 打赏
  • 举报
回复
换扫描枪。
frankwong 2012-02-24
  • 打赏
  • 举报
回复
Locked=True不能扫描到文本框,我的条码机是和键盘共用一个传统键盘接口那种!有劳!
fu0212 2012-02-24
  • 打赏
  • 举报
回复
当然触发不了事件了 你的扫描枪 是模拟键盘输入的 就等于你的另外一个键盘
所以locked后不能用的
用串口扫描枪 用协议和扫描枪通讯 读取到扫描枪的数据后 写入已经locked的 textbox中是可以的

但要换你现有的扫描枪
贝隆 2012-02-24
  • 打赏
  • 举报
回复
那你Locked=True时能扫描进去吗?
先排查扫描部分是否正确。

是串口通信还是??
frankwong 2012-02-24
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 veron_04 的回复:]
引用 7 楼 worldy 的回复:
引用 5 楼 veron_04 的回复:
不能手动输入很容易啊,把输入条码的文本框的Locked属性设置为:True,锁定之。这样就不能接受键盘输入了。


估计:Locked后,连扫描枪也扫不进去了

可以扫描进去的
[/Quote]
按的方法扫描后,文本框的文本没有任何改变,change事件也触发不了!
贝隆 2012-02-24
  • 打赏
  • 举报
回复
这个代码就可以测试出结果,Locked属性可以屏蔽掉键盘输入,但对程序内赋值是不会屏蔽的。


Private Sub Command1_Click()
Text1.Text = Text1.Text & "中"
End Sub

Private Sub Form_Load()
Text1.Text = ""
Text1.Locked = True
End Sub

贝隆 2012-02-24
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 worldy 的回复:]
引用 5 楼 veron_04 的回复:
不能手动输入很容易啊,把输入条码的文本框的Locked属性设置为:True,锁定之。这样就不能接受键盘输入了。


估计:Locked后,连扫描枪也扫不进去了
[/Quote]
可以扫描进去的
worldy 2012-02-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 veron_04 的回复:]
不能手动输入很容易啊,把输入条码的文本框的Locked属性设置为:True,锁定之。这样就不能接受键盘输入了。
[/Quote]

估计:Locked后,连扫描枪也扫不进去了
贝隆 2012-02-24
  • 打赏
  • 举报
回复
比如条码扫描上串口通信的,那就通过串口通信,填写录入文本框。再写入数据库就可以了。
加载更多回复(3)
条形码调研报告 条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以 表达一组信息的图形标识符。常见的条形码是由反射率相差很大的黑条(简称条)和白 条(简称空)排成的平行线图案。条形码可以标出物品的生产国、制造厂家、商品名称 、生产日期、图书分类号、邮件起止地点、类别、日期等许多信息,因而在商品流通、 图书管理、邮政管理、银行系统等许多领域都得到广泛的应用。  在信息输入技术中,采用的自动识别技术种类很多,条码作为一种图形识别技术与 其它技术相比有如下特点: (1)简单。条码符号制作容易,扫描操作简单易行。 (2)信息采集速度快。普通计算机键盘录入速度是200字符/分钟,而利用条码扫描 的录入信息的速度是键盘录入的20倍。 (3)采集信息量大。利用条码扫描,依次可以采集几十位字符的信息,而且可以通 过选择不同码制的条码增加字符密度,使采集的信息量成倍增加。 (4)可靠性强。键盘录入数据,误码率为三百分之一,利用光学字符识别技术,误 码率约为万分之一。而采用条码扫描录入方式,误码率仅为百万分之一,首读率可达98 %以上。 (5)灵活、使用。条码符号作为一种识别手段可以单独使用,也可以和有关设备组 成识别系统实现自动化识别,还可以和其他控制设备联系起来实现整个系统的自动化管 理。同时,在没有自动识别设备时,也可以实现手工键盘输入。 (6)自由度大。识别装置与条码标签相对位置的自由度要比光学字符识别(OCR)大 得多。 (7)设备结构简单、成本低。条码符号识别设备的结构简单,容易操作,无须专门 训练。与其它自动化技术相比,推广应用条码技术所需费用较低。 条形码的分类: 1、 按码制分类 (1) UPC 码 1973 年,美国率先在国内的商业系统中应用于 UPC 码之后加拿大也在商业系统中采用 UPC 码。UPC 码 是一种长度固定的连续型数字式码制,其字符集为数字 0~9。它采用四种元素宽度,每个条或空是 1、2、 3 或 4 倍单位元素宽度。IPC 码有两种类型,即 UPC-A 码和 UPC-E 码。 (2) EAN 码 1977 年,欧洲经济共同体各国按照 UPC 码的标准制定了欧洲物品编码 EAN 码,与 UPC 码兼容,而且两 者具有相同的符号体系。EAN 码的字符编号结构与 UPC 码相同,也是长度固定的、连续型的数字式码制, 其字符集是数字 0~9。它采用四种元素宽度,每个条或空是 1、2、3 或 4 倍单位元素宽度。EAN 码有两种 类型,即 EAN-13 码和 EAN-8 码。 (3)交叉25 码 交叉25 码是一种长度可变的连续型自校验数字式码制,其字符集为数字 0~9。采用两种元素宽度,每个条 和空是宽或窄元素。编码字符个数为偶数,所有奇数位置上的数据以条编码,偶数位置 上的数据以空编码。 如果为奇数个数据编码,则在数据前补一位 0,以使数据为偶数个数位。 (4)39 码 39 码是第一个字母数字式码制。1974 年由 Intermec 公司推出。它是长度可比的离散型自校险字母数字式 码制。其字符集为数字 0—9,26 个大写字母和 7 特殊字符(-、、Space、/、%、¥) 。 ,共 43 个字符。每 个字符由 9 个元素组成,其中有 5 个条(2 个宽条,3 个窄条)和 4 个空(1 个宽空,3 个窄空) ,是一种 离散码。 (5)库德巴码 库德巴码 (Code Bar) 出现于 1972 年, 是一种长度可变的连续型自校验数字式码制。 其字符集为数字 0—9 和 6 个特殊字符(-、、/、、+、¥) : 。 ,共 16 个字符。常用于仓库、血库和航空快递包裹中。 (6)128 码 128码出现于 1981 年,是一种长度可变的连续型自校验数字式码制。它采用四种元素宽度,每个字符由 3 个条和 3 个空,共 11 个单元元素宽度, 又称(11,3)码。它由 106 个不,同条形码字符,每个条形码 字符有三种含义不同的字符集,分别为 A、B、C。它使用这 3 个交替的字符集可将 128 个 ASCII 码编码。 (7)Code93 码 93 码是一种长度可变的连续型字母数字式码制。其字符集成为数字。0-9,26 个大写字母和 7 个特殊字符 (-、、Space、/、+、%、¥)以及 4 个控制字符。每个字符由 3 个条和 3 个罕,共 9 个元素宽度。 (8)49 码 49 码是一种多行的连续型、长度可变的字母数字式码制。出现于 1987 年,主要用于小物品标签上的符号。 采用多种元素宽度。其字符集为数字 0- 9,26 个大写字母和 7 个特殊字符(-、、Space、%、/、+、%、 。 ¥) 个功能键(F1、 陀、F3)和 3 个变换字符,共 49 个字符。 、3 (9)其他

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧