Fórum Converter Hexadecimal para Decimal #219105
08/03/2004
0
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
Curtir tópico
+ 0Posts
08/03/2004
Marcelo Saviski
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];
Gostei + 0
08/03/2004
Debora
Hexadecimal
414456B5E60
Decimal Correto
4485110521440
Decimal que a função fornece (errado)
1164664416
:cry: Alguém pode me ajudar? :cry:
Obrigada
Debora
Gostei + 0
08/03/2004
Debora
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)