我试着在 Delphi 中创建一些代码来实现zvt协议。为了连接到终端,我使用了TIDTCPClient或turbopack的comport-component。两者都可以连接到ingenico终端IPP 480。它显示了一个文本行“a32 de”2秒。我不知道为什么!
我可以发送zvt-documentation中描述的几个命令行,但终端没有显示或执行任何操作。
procedure TForm1.Button1Click(Sender: TObject);
var
lSBefehl : String;
begin
lSBefehl := '';
IdTCPClient1.Host := eip.IPAddress; // IP des EC-Cash-Gerätes
IdTCPClient1.Port := eport.IntValue;
if not IdTCPClient1.Connected then begin
IdTCPClient1.Connect; //that is working!
end;
if not IdTCPClient1.Connected then begin
ShowMessage('not connected!');
end;
lSBefehl := Chr(6)+Chr(0)+Chr(6)+Chr(209)+Chr(255); //Nothing!
IdTCPClient1.SendCmd(lSBefehl);
end;
是否有测试工具的字节序列为zvt?或者你知道一个解决方案的正确顺序的字节序列?
最好的基督徒
3条答案
按热度按时间wsewodh21#
你可以试着使用idTcpClient.IOHandler.WriteDirect或idTcpClient.IOHandler.Write程序。
enyaitl32#
官方的ZVT文档有一组跟踪文件,其中包含发送到终端的字节和从终端接收的字节。我发现这些文件在开发我们自己的ZVT实现时很有帮助。
mutmk8jj3#
答案可能太晚了,但我们也面临同样的问题,
ZVT
领域的例子不多。同时,我们在GitHub上发布了一个测试软件,可以测试最重要的函数。单元测试中也有一些字节序列的例子。你可以在这里找到我们的项目https://github.com/Portalum/Portalum.Zvt