Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   antiChar (https://www.clubdelphi.com/foros/showthread.php?t=43601)

mjjj 15-05-2007 23:25:51

antiChar
 
hola amigos.. tengo un problema de conversion...

Necesito convertir un char, por ejemplo "A", a su equivalente en hexadecimal...

existe una funcion contraria al char... la que transforme mi char en numeros....

porfa denme una manito

gracias

egostar 15-05-2007 23:47:16

Busca información sobre la funcion IntToHex(), muy fácil con la tecla F1:rolleyes:

Salud OS.

dec 15-05-2007 23:54:33

Hola,

O sea, que tal vez de este modo el asunto pueda funcionar:

Código Delphi [-]
h := IntToHex( Ord( 'A' ) );

¿No? :)

seoane 15-05-2007 23:56:49

Yo todavía sigo pensando cual es la funcion Char ;)

egostar 15-05-2007 23:59:56

Cita:

Empezado por dec
Hola,

O sea, que tal vez de este modo el asunto pueda funcionar:

Código Delphi [-]h := IntToHex( Ord( 'A' ) );


¿No? :)

Amigo David, mas bien así, o no?
Código Delphi [-]
h := IntToHex(Ord( 'A' ), 2 );
Salud OS.

egostar 16-05-2007 00:00:41

Cita:

Empezado por seoane
Yo todavía sigo pensando cual es la funcion Char ;)

:D:D:D, Pos si.

Salud OS.

mjjj 16-05-2007 01:54:44

Amigos el siguiente codigo funciona perfectamente...

h := IntToHex(Ord( 'A' ), 2 ); en donde h es de tipo string;

ahora bien... en mi caso, el caracter que quiero transformarlo a hexadecimal lo obtengo de uan tabla, con el codigo

sub1:=query1.fieldbyname('sub').asstring; en donde el valor de sub es un string; este puede ser cualquier letra del abcedario

ahora hago la conversion con...

sub2:=inttohex(ord(quotedstr(sub1)),2); en donde sub2 es un string;

me tira un problema de compatibilidad...

que puede ser... ayuda porfa....

seoane 16-05-2007 02:08:59

Cita:

Empezado por mjjj
me tira un problema de compatibilidad...

que puede ser... ayuda porfa....

:rolleyes: Que podrá ser .... Si revisas la ayuda de delphi, veras que a la función Ord se le pasa como parámetro un Char. Y tu le estas pasando un String. Así que parece bastante lógico que proteste.

Lo que necesitamos es un Char y tenemos un string, menos mal que delphi permite acceder a cada uno de los caracteres de un string por separado. Por ejemplo, si queremos utilizar el primer carácter de la cadena sub1
Código Delphi [-]
sub2:=inttohex(ord(sub1[1]),2);
Pero, y que pasa si la cadena sub1 esta vacía, pues que se monta un buen jaleo :p Así que va a ser mejor comprobar primero si tiene el tamaño adecuado:
Código Delphi [-]
if Length(sub1) > 0 then
  sub2:=inttohex(ord(sub1[1]),2);

mjjj 16-05-2007 02:18:32

muchas gracias seoane... me salvaste....

garcias tambien por lo rapido de la respuesta

saludos


La franja horaria es GMT +2. Ahora son las 03:52:25.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi