Muchas gracias por tu aporte, Nelson
Te adjunto el trozo de código donde descodifico la información:
Código Delphi
[-]
While (li_i <= Longitud) and (ls_dato_Hex <> Gs_P3_EOR) Do
Begin
ls_dato_Hex := format('%x',[ord(Dato[li_i])]);
ls_hex := ls_hex + '{' + ls_dato_Hex + '} ';
ls_Cadena_Hex := ls_Cadena_Hex + Gs_Tabulador + ls_dato_Hex;
Inc(li_i);
End;
Gs_P3_EOR = Finde registro (cadena o sentencia 8F)
Dato:PAnsiChar
ls_dato_Hex, ls_cadena:String;
Entiendo que la instrucción format pasa de AnsiChar a codigo hexadecimal(%x).
Ante tus preguntas formuladas
Cita:
1- ¿Como conviertes 'Ž'#2#$1F y obtienes la salida que indicas en Hexadecimal?, ¿'Ž'#2#$1F es la cadena completa recibida o solo una parte?.
|
Es la cadena completa, cuando realiza la transformación (código indicado arriba), se puede observar que el contenido es más grande
Cita:
2- ¿El proceso inverso de conversión no se podría aplicar a 8F para enviarlo como carácter separador?
|
Eso es lo que quiero obtener. La pregunta va relacionada como paso 8F (Hexadecimal) a PAnsiChar, para que lo mande como fin de cadena.
Cita:
3- ¿Puedes publicar el código de conversión con una cadena completa debidamente formateada (Donde empieza y donde termina cada carácter recibido para su posterior conversión a Hexadecimal)?.
|
Código publicado.
el envío del fin de cadena se le indica a un componente TcpClient:
TcpClient1.Receiveln(ls_fin);
Dónde ls_Fin (8F), es el carácter a enviar como PAnsiChar, al menos eso entiendo.
Saludos.