Использование ZVT с delphi и ingenico IPP480
Я пытаюсь создать некоторый код для реализации zvt-протокола в Delphi. Для подключения к терминалу я использую эфир TIDTCPClient или comport-компонент от turbopack. Оба могут подключаться к ingenico терминалу IPP480. Он показывает текстовую строку "a32de" в течение 2 секунд. Я не знаю почему!
Я могу послать несколько командных строк, описанных в zvt-документации, но терминал ничего не показывал и не делал.
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 ответа
Вы можете попробовать использовать процедуры idTcpClient.IOHandler.WriteDirect или idTcpClient.IOHandler.Write.
procedure TForm1.Button1Click(Sender: TObject);
var
wBuf : TIdBytes;
begin
...
SetLength(wBuf, 5);
wBuf[1] := $06;
wBuf[2] := $00;
wBuf[3] := $06;
wBuf[4] := $D1;
wBuf[5] := $FF;
...
if (IdTCPClient.Connected) then begin
try
idTcpClient.IOHandler.WriteDirect(wBuf);
except
on e: exception do begin
showmessage('Error :'+ e.message)
end;
end;
end;
...
end;
Официальная документация ZVT имеет набор файлов трассировки, которые содержат байты, отправленные на терминал, и байты, полученные от терминала. Я нашел, что они полезны при разработке нашей собственной реализации ZVT.
Ответ, вероятно, запоздал, но мы столкнулись с той же проблемой, что в
ZVT
область. Тем временем мы опубликовали тестовое программное обеспечение на GitHub, с помощью которого можно протестировать наиболее важные функции. В модульных тестах также есть несколько примеров последовательностей байтов. Вы можете найти наш проект здесь https://github.com/Portalum/Portalum.Zvt