function HexToInt(s: string): Longword;
var
b: Byte;
c: Char;
begin
Result := 0;
s := UpperCase(s);
for b := 1 to Length(s) do
begin
Result := Result * 16;
c := s[b];
case c of
'0'..'9': Inc(Result, Ord(c) - Ord('0'));
'A'..'F': Inc(Result, Ord(c) - Ord('A') + 10);
else
raise EConvertError.Create('No Hex-Number');
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(IntToStr(StrToHex('AAF1'))); // > 43761
end;
{*************************************************}
procedure HexToInt(s: string): Integer;
begin
Result := StrToInt('$' + s);
end;
{*************************************************}
function HexToInt(strHexValue : string) : Integer;
var
c,l : integer;
begin
Val(strHexValue, l, c);
Result := l;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
ShowMessage(IntToStr(HexToInt('$EAD1')));
end;
{***************************************************}
unit HexConvert;
{ by André Fritzsche }
interface