Boa tarde pessoal,

Estou com dificuldades em converter numeros hexadecimais grandes em 
decimais.

todas as funcoes que peguei na net e que fiz quando tem mais de 7 
digitos nao funciona, verifico se esta certo pela calculadora do 
windows.

alguem pode me ajudar estou precisando muito dessa funcao

exemplo de uma funcao que peguei aqui no grupo e que nao funcionou 
com 
o seguinte numero hexadecimal C5E57F15

o resultado que a funcao retorna e: -974815467
 quando a conversao correta e: 3320151829

Um forte abraco a todos
Eduardo


function TForm1.HexToInt(const HexStr: string): longint;
var iNdx: integer;
cTmp: Char;

begin
Result := 0;
for iNdx := 1 to Length(HexStr) do
begin
cTmp := HexStr[iNdx];
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;



Responder a