Buenas a todos
Tengo un hardware que me devuelve cada 5 segundos una serie de registros (todos agrupado en una sola linea), lo estoy leyendo con un componente tcpclient y su método receiveln.
Tcpclient1,receiveln(Buf,ls_fin). buf es un Pansichar y ls_fin es el caracter de escape de la cadena.
Cuando trabajo con este método en decimal, le paso un CRLF (retorno de carro, #13#10) y todo va perfecto, corta las cadena por separado, cada vez que se encuentra un retorno de carro, me trata una cadena independiente y continua con la otra.
El problema se trata cuando trabajo en hexadecimal. la cadena que me trae el metodo (varios registros), delphi me la pita con carateres raros
Delphi me pinta esto:
'Ž'#2#$1F, pero al convertirlo a caracteres ascii, me trae lo siguiente en hexadecimal:
Cita:
{8E} {02} {1F} {00} {5B} {36} {00} {00} {02} {00} {01} {02} {00} {00} {07} {02} {25} {00} {0C} {01} {79} {06} {01} {00} {81} {04} {97} {12} {02} {00} {8F} {8E} {02} {1F} {00} {5B} {36} {00} {00} {02} {00} {01} {02} {00} {00} {07} {02} {25} {00} {0C} {01} {79} {06} {01} {00} {81} {04} {97} {12} {02} {00} {8F} {00}
|
Siendo el caracter 8F, el que corta la cadena (separacion de registros), debería de romper la cadena y tratarla como dos cadenas independientes.
¿Alguien podría orientarme de como enviar la cadena de fin de registro 8F?
Lo he intentado como
Código Delphi
[-] ls_fin:=PAnsiChar('8F');
ls_fin:='8F';
ls_fin:='$' + '8F'
ls_fin := IntToHex(Ord('8F'),1);
.....
Gracias a todos por Vuestra colaboración.
Saludos