Отправить команду в фискальный Epson tmT81 C#
Я пытаюсь распечатать на фискальном принтере EPSON TMT81, у меня есть пример кода в VB, и мне нужно сделать то же самое в C#, я использую EpsonFPHostControl. OCX 1.9
Основой для работы является отправка команды на принтер через COM-порт, я без проблем подключаюсь к порту, но не могу отправить команду через порт.
Для отправки комнада в VB код:
'*** PROBAR CONEXION CON IMPRESOR FISCAL ***
'*** CHEQUEA ESTADO DE IMPRESOR FISCAL ***
EpsonFPHostControl1.AddDataField (Chr$(&H0) & Chr$(&H1))
EpsonFPHostControl1.AddDataField (Chr$(&H0) & Chr$(&H0))
'*** ENVIA COMANDO FISCAL ***
EpsonFPHostControl1.SendCommand
Я пытаюсь сделать то же самое в C#:
//*** PROBAR CONEXION CON IMPRESOR FISCAL ***
//*** CHEQUEA ESTADO DE IMPRESOR FISCAL ***
EpsonFPHostControl1.AddDataField("H0H1");
EpsonFPHostControl1.AddDataField("H0H0");
//*** ENVIA COMANDO FISCAL ***
EpsonFPHostControl1.SendCommand()
Но это не работает хорошо:/, фискальный принтер получает команду, но возвращает код 513 неверный кадр команды (frame de comando invalido)
Я ценю некоторую помощь.
1 ответ
Решение
Команды в C# неверны. Вы должны отправить строку с управляющими символами. основной Chr$($H0)
означает "\x00" в C#. Это должно работать.
EpsonFPHostControl1.AddDataField("\x00\x01");
EpsonFPHostControl1.AddDataField("\x00\x00");