【发布时间】:2020-12-22 07:02:57
【问题描述】:
关于在 SO 中使用带有 Delphi 的条码扫描仪有几个问题,如果这是一个 VCL Windows 应用程序,那就没有什么戏剧性了,但没有一个答案似乎对我有用。这也是关于使用外部扫描仪而不是使用设备相机来扫描条形码,因为这也是轻而易举的事。
在一个 VCL 应用程序中,我无法确定哪个控件具有焦点,我会捕获 KeyPreview 中的所有键,并在获得 CR 时,取前面的值并检查它是否与产品条形码匹配。
不幸的是,Firemonkey 表单没有 KeyPreview,我不能使用 FMX 表单的 KeyDown 事件,因为它有几个能够接收文本输入的控件,如果有的话他们有焦点,该事件不会为表单触发。
这些问题都是基于扫描仪作为 HID 配对的,但作为我正在使用的 Motorola CS3070 蓝牙扫描仪上的一个选项,还有一个 串行端口配置文件强>模式。它仍可与平板电脑配对,但不能用作键盘。
但在 Android UI 中似乎没有任何东西来指示平板电脑有哪些“串行端口”,即使有,我也不知道如何在 Delphi Firemonkey 应用程序中连接并“监听”该端口。
正如其他人所指出的,Android 中的串行端口与 Windows 是不同的野兽,而且看起来 Delphi 10.3 Rio 没有本机支持使用它们。
还有哪些其他选择?
编辑:
查看出售重新命名的 CS3070 的 Zebra 网站,他们的扫描仪有一个 Android SDK,但遗憾的是没有CS3070 但他们确实有一个用于 CS4070。在文档中,他们谈到了使用 BlueTooth 或 SNAPI(我认为是 USB/串行模式)进行连接,以及订阅扫描仪事件。
这是我们可以在没有 SDK 的情况下通过 FireMonkey 做的事情吗?
【问题讨论】:
-
Async Professional 软件包中的
TApdComPort(可通过 GetIt 下载)是否可以在 Android 上运行? -
@DelphiCoder。明天我会看看它是否可以工作,尽管支持 HID 扫描仪似乎是未来的要求。
标签: android delphi bluetooth firemonkey barcode-scanner