Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Convertir un dato hex a ascii (https://www.clubdelphi.com/foros/showthread.php?t=58531)

bactering 23-07-2008 13:06:10

Convertir un dato hex a ascii
 
Hola

Me preguntaba si hay alguna rutina para la conversión que ya esté hecha o la tengo que hacer para convertir un dato hexadecimal a codigo ascii (por el hecho de "reinventar la pólvora".

Saludos
Gracias
Jose Vte

coso 23-07-2008 13:19:29

Hola, echale un vistazo a la funcion Format("%X",[value]);

Caro 23-07-2008 15:00:52

Hola bactering, puedes utilizar también la función StrToInt.

Código Delphi [-]
 StrToInt('$'+'2E'); //2E nos devolvera 46

Saluditos

egostar 23-07-2008 16:03:14

Cita:

Empezado por Caro (Mensaje 302636)
Hola bactering, puedes utilizar también la función StrToInt.

Código Delphi [-]
 StrToInt('$'+'2E'); //2E nos devolvera 46

Saluditos

Bueno a partir de este codigo que te ha mostrado nuestra amiguita [Caro] (Hola amiguita :))

Código Delphi [-]
  ShowMessage(Char(StrToInt('$'+'2E'))); //2E nos devolvera 46, ASCII '.'

Salud OS

Caro 23-07-2008 16:11:37

Cita:

Empezado por egostar (Mensaje 302664)
Hola amiguita :)

Hola Egopolice :p.

Cita:

Empezado por egostar (Mensaje 302664)
ShowMessage(Char(StrToInt('$'+'2E'))); //2E nos devolvera 46, ASCII '.'

amiguito creo que se te ha ido una a, supongo que querias poner Chr.

Saluditos

coso 23-07-2008 16:19:17

creo q no q se refiere a la funcion Chr(). Lo del format inicial, bactering, no tiene q ver con esto: es para pasar el hexadecimal a una string (string en codigo ascii pero string)

coso 23-07-2008 16:22:39

chr y char : ...practicamente lo mismo

Caro 23-07-2008 16:23:25

Yo me he basado en esta tabla http://www.ascii.cl/es/ y he supuesto que quería la columna ASCII de esta tabla, pero mejor que explique bactering, que es lo que quiere obtener.

Saluditos

coso 23-07-2008 16:25:15

si si caro si relei otra vez y lo entendi como tu. Igualmente, creo que ahora ya estan todas las posibilidades.

egostar 23-07-2008 17:28:56

:D:D:D

Lo que pasa es que hasta donde mis pobre conocimiento me da, ASCII es la representación numérica de un caracter, y esta puede ser Decimal, Hexadecimal, Octal.

Por lo que supuse que lo que requiere es el caracter representado por el valor hexadecimal.

Salud ITOS amiguita :)

coso 23-07-2008 17:31:53

vamos yo tambien creo eso egostar :) lei rapido

egostar 23-07-2008 17:35:33

Cita:

Empezado por coso (Mensaje 302699)
vamos yo tambien creo eso egostar :) lei rapido

Ahora solo falta que el interesado nos saque de la duda :)

Salud OS

Caro 24-07-2008 05:28:05

Cita:

Empezado por egostar (Mensaje 302700)
Ahora solo falta que el interesado nos saque de la duda :)
Salud OS

Eso mismo digo yo :).

Saluditos

bactering 24-07-2008 08:40:04

Por el interesado.

Gracias por las contestaciones (sois únicos). Igual no me he expresado con la suficiente claridad ya que estuve buscando y buscando y me hice un poco de lio.

Expongo donde me encuentro:
Tengo un valor en hexadecimal (pongamos el 6E) y quisiera converirlo a ASCII (que sería la "n")

Los valores bajos (ya seria demasiado) podria ser para el hex 20 que lo convierta en SPC (espacio) o algo asi.

He intentado hacer una tabla y he hecho una chapuza que no me sirve para nada.

Muchas gracias por vuestra ayuda
Saludos
Jose Vte.

coso 24-07-2008 09:50:21

Hola bactering

Código Delphi [-]

Memo1.Font.Name := 'system';
Memo1.Clear;

for i := 0 to 256 do
          Memo1.Lines.Add(inttostr(i) + '   ' + Format('%2x',[i]) + '   ' + char(i));
;) saludos

Caro 24-07-2008 13:03:35

Cita:

Empezado por bactering (Mensaje 302901)
Expongo donde me encuentro:
Tengo un valor en hexadecimal (pongamos el 6E) y quisiera converirlo a ASCII (que sería la "n")

Hola Batering, has probado lo que te hemos puesto arriba??

Código Delphi [-]
 ShowMessage(Chr(StrToInt('$'+'6E')));

StrToInt('$'+'2E') -> Esta pate te convierte 6E en 110, valor decimal
Chr(....) -> Te convierte ese 110 a su correspondiente valor ascii que seria la n

Saluditos

bactering 27-07-2008 16:41:33

GRACIASSSS!
Con las prisas copiaba mal vuestras respuestas y no conseguia el objetivo. Claro que ha funcionado y a la primera.

Muy agradecido por vuestras respuestas y paciencia.

Saludos
Jose Vte.


La franja horaria es GMT +2. Ahora son las 18:56:44.

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