Jap*_*ter 4 delphi point-of-sale barcode-scanner keypreview delphi-xe2
我正在开发一个POS(宠物项目),我正在考虑添加一个条形码扫描仪来更快地捕获销售.我现在没有扫描仪,想问一些问题,因为我有点卡住了.
在销售屏幕上,我最初的想法是拥有一个TEdit
组件,当一个人扫描产品时,它会填充TEdit
字符串.现在我遇到的问题是我想要TEdit
隐形,这样人就看不到了.但是一旦你做了TEdit
隐形,你就无法把注意力放在它上面,所以这个计划就行不通了.
那么有人可以建议我可以用来"捕获"扫描的字符串吗?如何让组件监听并等待扫描仪?我认为扫描仪就像普通的键盘事件,如按钮向下或向上.
TForm上有KeyPreview属性.将其设置为true,因此在控件之前首先按表单处理所有按键.
关于Delphi中键盘处理的文章:http://delphi.about.com/od/objectpascalide/a/keyboard_events.htm
我所做的是使用KeyPreview监视功能键,如F9,条形码扫描器设置为扫描前缀.收到后,我会弹出一个对话框,其中包含一个编辑框和OK按钮.然后,它接收剩余的条形码信息,扫描仪用Enter键结束输入.然后,我可以确定扫描数据的用途(在我的情况下,一种类型以前缀开头),然后将数据放入主窗体上的相应字段中.
我之所以选择F9是因为它在大多数应用程序中看起来都很惰性,所以你可以通过其他方式使用扫描仪,但我也支持其他键以获得灵活性.我的应用程序还有扫描仪测试模式,显示发送的密钥.