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]