Ver Mensaje Individual
  #3  
Antiguo 07-05-2014
rabata2001 rabata2001 is offline
Miembro
 
Registrado: nov 2010
Posts: 88
Reputación: 14
rabata2001 Va por buen camino
Post

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.
Responder Con Cita