domingo, 17 de maio de 2009

Dica Delphi - Convertendo valor Hexadecimal para Inteiro

function HexToInt(const HexStr: string): longint;
var
x: integer;
cTmp: Char;
begin
Result := 0;
for x := 1 to Length(HexStr) do
begin
cTmp := HexStr[x];
case cTmp of
'0'..'9': Result := 16 * Result + (Ord(cTmp) - $30);
'A'..'F': Result := 16 * Result + (Ord(cTmp) - $37);
'a'..'f': Result := 16 * Result + (Ord(cTmp) - $57);
else
raise EConvertError.Create('Illegal character in hex string');
end;
end;
end;

6 comentários:

INFOWeb disse...

Ohhh, esse ai é bom mesmo..
Vamos testar né..

Abração..
João Eduardo

Anônimo disse...

necessario verificar:)

Anônimo disse...

Cara , estava com um problema a dois dias para manipular valores em hexa , mas olhando sua dica a resposta veio na hora , valeu muito !
Preciso parar de programar programar mais com o cerebro do que com o mouse .

Unknown disse...

Olá. A forma correta para resolver esse problema é utilizar a seguinte conversão:

sHexa representa o valor Hexadecimal

StrToInt64('$'+sHexa)

Solução: Vagner Silva Valério dos Santos

Unknown disse...
Este comentário foi removido pelo autor.
Unknown disse...
Este comentário foi removido pelo autor.