GARANTIR DESCONTO

Fórum Converter Hexadecimal para Decimal #219105

08/03/2004

0

Tenho a seguinte função para converter:

function 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;


Esta função funciona só para números pequenos, se passar de 10 dígitos,´não funciona mais. Alguém tem alguma função para converter?

Obrigada
Debora


Debora

Debora

Responder

Posts

08/03/2004

Marcelo Saviski

Tente assim

NumDecimal := StrToInt(´$´ + EditHex.Text);


ou senão mudar a funçaõ:
function HexToInt(const HexStr: string): longint;
para
function HexToInt(const HexStr: string): [color=green:d42635b047]Int64[/color:d42635b047];


Responder

Gostei + 0

08/03/2004

Debora

Não deu certo :cry: :oops: :cry:

Hexadecimal
414456B5E60

Decimal Correto
4485110521440

Decimal que a função fornece (errado)
1164664416

:cry: Alguém pode me ajudar? :cry:
Obrigada

Debora


Responder

Gostei + 0

08/03/2004

Debora

esta função faz até 7º dígito depois não daá mais certo


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar