关于 pos:如何在 Delphi 10.2 中使用 TComPort 清除客户显示?

How to clear a customer display using TComPort with Delphi 10.2?

我正在使用 Winsoft 的 TComPort v6.0 连接到我的 COM5 设备,该设备是 Oxhoo 的客户显示器。(Prolific PL2303 USB-to-Serial Comm Port)

我想简单地在上面显示一些文本,然后在按下按钮时清除整个显示。我已经搜索了一个明确的命令,但它似乎不像那样工作。

现在我可以使用 Comport1.WriteString() 成功发送文本以显示,但我无法清除显示或显示文本。

此外,发送一长串空格确实会在视觉上清除显示,但将显示的下一个文本将位于随机位置。 (最后一个文本长度添加了空格)。

根据制造商的说法,它应该支持 ESC/POS 命令,但我不知道在我的 Delphi 代码中使用它们以及如何使用它们。

显示由 2 行 20 个字符组成。

1
2
> [][][][][][][][][][][][][][][][][][][][]
> [][][][][][][][][][][][][][][][][][][][]

如何清除显示并再次从第一行写入文本?


为了简单地清除显示,我们需要发送一个 ESC/POS 命令:

1
CLR 0C Clear display screen

-> 十六进制的 0C 转换为十进制的 12。

所以对于Delphi来说就是这么简单:

1
Comport1.WriteLine(#12);