Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

convertir cadena ascii a hexa ??????

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: convertir cadena ascii a hexa ?????? Responder citando

Hola, tengo un problema quizá de concepto que no me aclaro. Estoy recibiendo bytes de una posición de memoria en un equipo externo y lo guardo en una cadena. Pero cuando intento convertirlo a hexa parece que estos datos los lee en ASCII y me da errores.

De esta manera recojo los valores hexadecimales :
for(int i=0;i<4;i++){

frqDWLINK[i]=RESPUESTA[idxRESP]; idxRESP+=1;
}
Al ejecutar la rutina para convertir esta cadena a un int me interpreta en vez del valor hexa recogido, su equivalente ASCII.

Si hago un ShowMessage(frqDWLINK); muestra los símbolos ASCII.

Si leo con el Inspector del debug frqDWLINK veo el valor hexadecimal y
su conversión a ASCII.
Bueno, la verdad es que no me aclaro para conseguir trabajar con hexa.

Algún consejo de alguien???? Gracias
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Bueno, no entiendo bien tu interés en verlos en hexadecimal, pero no creo que estés haciendo nada mal.

El problema es de tipo, ShowMessage sólo entiende de char* por lo que te mopstrará valores ASCII, probablemente sin sentido.

El tipo char es un unsigned short o Byte

Si quieres mostrar la conversión en un TMemo o TEdit, entonces debes realizar la conversión de número a caracteres.

Fijete en este código en C
Código:
 
char buffer[256];
itoa('l', buffer, 16);  // buffer es  6C hexadecimal
itoa('l', buffer, 10);  // buffer es 108 decimal


Usando Builder con VCL tienes esta otra opcion:
Código:
AnsiString A = IntToHex('l',2);  // 6C en hexadecimal


Espero responder a lo que deseabas preguntar.

Saludos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Bueno, gracias por la respuesta pero no era es mi problema exactamente.
Además, ya me han explicado que tengo simplemente un problema de conceptos.
Saludos Escafandra.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.