PDA

Ver la Versión Completa : antiChar


mjjj
15-05-2007, 23:25:51
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:


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
Hola,

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

Código Delphi [-] (http://www.clubdelphi.com/foros/#)h := IntToHex( Ord( 'A' ) );


¿No? :)

Amigo David, mas bien así, o no?

h := IntToHex(Ord( 'A' ), 2 );

Salud OS.

egostar
16-05-2007, 00:00:41
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
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

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:

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