2017-01-07 2 views
0

Я пытаюсь напечатать на фискальном принтере EPSON TMT81 У меня есть пример кода в VB, и мне нужно сделать то же самое в C#, im используя EpsonFPHostControl. OCX 1.9Отправить команду в Fiscal Epson tmT81 C#

Основой работы является sendcommand для принтера с помощью COM-порта, я подключаюсь к порту без проблем, но я не могу отправить команду по порту.

Чтобы отправить commnad в 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 

Im пытается сделать то же самое в C#:

 //*** PROBAR CONEXION CON IMPRESOR FISCAL *** 
     //*** CHEQUEA ESTADO DE IMPRESOR FISCAL *** 
     EpsonFPHostControl1.AddDataField("H0H1"); 
     EpsonFPHostControl1.AddDataField("H0H0"); 

     //*** ENVIA COMANDO FISCAL *** 
     EpsonFPHostControl1.SendCommand() 

Но он не работает хорошо:/фискальный принтер receibe команду но код возврата 513 недействительный фрейм команды (frame de comando invalido)

Я высоко ценю помощь.

+0

«H0H1» (строка длины 4) - это не то же самое, что Chr $ (& H0) & Chr $ (& H1) (строка длины 2). Получите отладчика! – Joe

ответ

0

Команды в C# неверны. Вы должны отправить строку с управляющими символами. Основной Chr$($H0) означает «\ x00» в C#. Это должно сработать.

EpsonFPHostControl1.AddDataField("\x00\x01"); 
EpsonFPHostControl1.AddDataField("\x00\x00"); 
+0

спасибо, он работает отлично !! Вы можете помочь мне немного больше, пожалуйста? hoy Я могу узнать об обращении? , например, вы конвертируете это: (Chr $ (& H0) & Chr $ (& H1)) в этом: ("\ x00 \ x01"); Проект имеет больше команды, что я не знаю, как преобразовать в C#, например: EpsonFPHostControl1.AddDataField 1 EpsonFPHostControl1.AddDataField Chr (0) + Chr (0) EpsonFPHostControl1.AddDataField Chr $ (& HE) & Chr $ (& H6) EpsonFPHostControl1.AddDataField Chr $ (& H30) & Chr $ (& H6) Следуя той же логике, я думаю, что последние две в некотором подобном ("\ x0E \ x06"); и ("\ x030 \ x06") ;, но первые, которые я не знаю –

+0

Используйте лучший конвертер кода –

+0

, который был первым, что я пробовал @KamranShahid без положительных результатов:/ –

Смежные вопросы