Alineri,

Tente com StrToInt ou  StrToInt64.

Veja no help do Delphi como usa-los com numeros hexadecimais

[ ]´s
Moacir


alineri escreveu:
> 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