使用Delphi的条形码扫描仪

Jap*_*ter 4 delphi point-of-sale barcode-scanner keypreview delphi-xe2

我正在开发一个POS(宠物项目),我正在考虑添加一个条形码扫描仪来更快地捕获销售.我现在没有扫描仪,想问一些问题,因为我有点卡住了.

在销售屏幕上,我最初的想法是拥有一个TEdit组件,当一个人扫描产品时,它会填充TEdit字符串.现在我遇到的问题是我想要TEdit隐形,这样人就看不到了.但是一旦你做了TEdit隐形,你就无法把注意力放在它上面,所以这个计划就行不通了.

那么有人可以建议我可以用来"捕获"扫描的字符串吗?如何让组件监听并等待扫描仪?我认为扫描仪就像普通的键盘事件,如按钮向下或向上.

Har*_*riv 6

TForm上有KeyPreview属性.将其设置为true,因此在控件之前首先按表单处理所有按键.

关于Delphi中键盘处理的文章:http://delphi.about.com/od/objectpascalide/a/keyboard_events.htm

相关问题:Delphi的KeyPreview如何工作?


mj2*_*008 6

我所做的是使用KeyPreview监视功能键,如F9,条形码扫描器设置为扫描前缀.收到后,我会弹出一个对话框,其中包含一个编辑框和OK按钮.然后,它接收剩余的条形码信息,扫描仪用Enter键结束输入.然后,我可以确定扫描数据的用途(在我的情况下,一种类型以前缀开头),然后将数据放入主窗体上的相应字段中.

我之所以选择F9是因为它在大多数应用程序中看起来都很惰性,所以你可以通过其他方式使用扫描仪,但我也支持其他键以获得灵活性.我的应用程序还有扫描仪测试模式,显示发送的密钥.