【发布时间】:2011-10-19 08:27:29
【问题描述】:
我们在应用程序中使用条形码扫描仪来扫描条形码。一般扫描ISBN条码时,扫描ISBN时返回如下一串key:97887021006268
- 左Ctrl
- B
- 左移
- M
- D9
- D7
- D8
- D8
- D7
- D0
- D2
- D1
- D0
- D6
- D2
- D6
- D8
- 左Ctrl
- C
LeftCtrl+B 组合是序言,告诉我们开始读取识别号。 LeftCtrl+C 组合是后置码,告诉我们正在读完识别号。 LeftShift+M 组合告诉我们读取的是条形码类型。 根据该信息,扫描条形码后,我可以自动搜索具有相关 ISBN 的书籍。我们正在使用我们自己的条形码阅读器库,我们可以在其中识别 ISBN、Code39 和 I2Of5。
现在,我们的客户有两个新的条形码扫描仪,即键盘扫描仪。扫描同一个ISBN后,我们可以看到它没有包含前导码和后置码,与返回条形码类型的代码一样好。相反,我们最后只得到了数字和 Return 键:
- D9
- D7
- D8
- D8
- D7
- D0
- D2
- D1
- D0
- D6
- D2
- D6
- D8
- 返回
在这种情况下,我无法自动识别条形码的类型,甚至无法识别是否已扫描条形码 - 例如,我无法自动搜索要解决的问题,我正在考虑使用以下用户控制的用户:
- 识别号码将被扫描到的文本框
- 带有选项(ISBN、Code39、I2Of5)的单选按钮
- 按钮负责根据选定的 RadioButton 选项进一步处理 TextBox 中的值和
我想问一下是否有其他(更好的)解决方案。
【问题讨论】:
-
我不明白为什么你应该关心条形码类型。当然,价值才是最重要的,因为这将在您的数据库中提供查找。您是说您的条目具有相同的条码值但由于条码类型而不同?这对我来说听起来很糟糕
-
目前我可以扫描 ISBN、Code39 或 I2OF5。当我扫描 ISBN 时,应用程序应该搜索书籍,当我扫描 Code39 或 I2OF5 应用程序时,应用程序应该搜索订单(订单也有条形码)。所以根据条码的种类有不同的场景承担
-
那么唯一的办法就是从用户那里获得更多的输入。我建议使用一组单选按钮,以便轻松选择他们正在寻找的对象类型。所以“书籍”或“订单”的选项可能是最好的。然后搜索正确的数据库。本质上,正如您所指出的,新的条码数据没有足够的信息,如果客户不更换设备,您就无法更改。
-
是的,很遗憾用户不能更换设备
标签: c# barcode barcode-scanner