Obrigado pessoal utilizei a funcao strtoint64 como descrito abaixo e 
pronto, funcionou que e uma beleza. E o melhor de tudo com uma linha 
so.

Mais uma vez obrigado e um forte abraco a todos
Eduardo

--- Em delphi-br@yahoogrupos.com.br, "Desenvolvimento \(Anderson\)" 
<[EMAIL PROTECTED]> escreveu
>
> use a função strtoint64... assim:
> 
> caption := inttostr(strtoint64('$C5E57F15'))
> 
> 
> 
> 
>   ----- Original Message ----- 
>   From: alineri 
>   To: delphi-br@yahoogrupos.com.br 
>   Sent: Monday, August 27, 2007 5:35 PM
>   Subject: [delphi-br] funcao hexadecimal para inteiro para acima 
de 7 digitos
> 
> 
>   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;
> 
> 
> 
>    
> 
>   __________ Informação do NOD32 IMON 2486 (20070827) __________
> 
>   Esta mensagem foi verificada pelo NOD32 sistema antivírus
>   http://www.eset.com.br
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>


Responder a