Ver la Versión Completa : conversion ASCII
hola amigos... tengo la siguiente consulta...
necesito transfomar un valor de 2 digitos en formato ASCII, a su equivalente en decimal...
un caso particular seria... tengo el valor 41 en ASCII, el cual corresponde a la letra A... con que codigo puedo hacer esa conversion??
saludos
seoane
11-05-2007, 17:48:33
El valor 41 del ejemplo donde lo tienes, en que variable, de que tipo es ???
el valor 41, es un string, en formato Hexadecimal... lo necesito llevar a su equivalente en ASCII... el cual corersponde a la letra A.
lo tengo de la siguiente manera...
la variable S, es una cadena larga, compuesta por numero hexadecimales, de donde saco el valor que necesito de la posicion 8. v4 es integer.
v4:= (ord(s[8]));
sub:=inttohex(v4,2);
la variable sub es una string con el valor 41, lo que necesito es llevar ese valor "41" a su equivalente en ASCII... letra A
espeor me puedan ayudar...
gracias
seoane
11-05-2007, 18:07:16
Si poder se puede, pero no entinedo para que lo necesitas :)
Al tema:
var
C: Char; // Aqui guardaremos la letra
begin
C:= Char(StrToInt('$'+sub));
end;
Wellnic
11-05-2007, 20:39:31
la variable S, es una cadena larga, compuesta por numero hexadecimales, de donde saco el valor que necesito de la posicion 8. v4 es integer.
...O sea, la variable S contendría algo así: 'F4D245CDAFDDABD5477D'..., ¿no? Entonces, para sacar el valor de la posición 8:
v4:= StrToInt('$'+copy(S, (8*2)-1, 2));
que daría 213, valor decimal de D5.
egostar
11-05-2007, 21:20:33
Haber si te sirve esto
procedure TForm1.Button2Click(Sender: TObject);
var
Entero: integer;
S,v4: string;
begin
S := 'F4D245CDAFDDAB41477D';
v4 := '$'+copy(S, (8*2)-1, 2);
Entero := StrToInt(v4);
ShowMessage(v4+'-->'+InttoStr(Entero)+'-->'+Char(Entero));
end;
Edito: Que realmente es lo mismo que te había propuesto seoane.
Salud OS.
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.