我购买了datalogic quickscan QD2430条形码阅读器/扫描仪,用于扫描国民身份证。目的是读取身份证上的条形码并在文本框中显示信息。通过互联网研究我发现这个扫描仪充当键盘楔形并在扫描后触发键盘上的键。 我面临的两个问题是:
此系统是出于安全目的而构建的,因为不允许警卫使id可编辑,因此我需要禁用文本框并使其不可编辑。如果条形码扫描仪怎么办呢?
其次主要是通过互联网遇到的apis说,他们从图像文件解码条形码,这对我没用?
PS:是否有必要让我的文本框专注于这种扫描仪?
如何能够整洁地获得我想要的操作?详细指导将不胜感激!
答案 0 :(得分:1)
所有条形码扫描仪都用于加速手动输入文本的过程(至少对于您拥有的模型)。如果扫描仪发生故障,你是否希望看门人根本无法检查人员,或者你是否希望他能够用捏捏的方式输入条形码
这些图书馆使用的是数码相机,而不是条形码扫描仪,很难找到不作为键盘的条形码扫描仪。
(您的PS)是的,您需要重点关注文本框,正如我在1)中所述,消费级条形码阅读器就像您拥有的那样,旨在让数据输入更快。 (编辑:见Cory's comment,显然有些低端读者会提供你可以使用的驱动程序。如果你能找到一个可以让你直接与扫描仪通信的驱动程序,你将不再需要专注于文本框)
答案 1 :(得分:0)
条形码扫描仪通常只是用作键盘并快速输入扫描的代码。 在我的情况下,我听了键事件,而不是使用TextBox,并确定是否在固定的时间范围内输入了有效的条形码,如果是,我只是执行了一些代码。
由于条形码扫描器充当键盘,您必须聆听按键事件,因此人类可以手动输入代码。但是如果你为输入选择一个小的时间框架,人类几乎不可能进入它。
图像解码器库在这种情况下没有帮助,因为你没有摄像头。
我听了一个键事件,记住了这个事件的时间,并将密钥存储在缓冲区中(如果密钥有效)。在下一个键事件中,我检查了最后一个事件,并且这个事件不超过X毫秒(你必须自己确定这个值),如果是(并且密钥有效),则将其添加到缓冲区。我一遍又一遍地重复这个过程,如果缓冲区验证完整的条形码,我执行了一些代码。