给你写了一个 十六进制数 转为 十进制数 的函数,结合上面的那个 十进制数 转 ASCII 的代码
就可以完成你的全部的要求了:
function TForm1.HexToInt(Hex: String): Integer;
var
HexStrChar; i:integer; j:Real;
begin
GetMem(HexStr,(Length(Hex)+1));
StrPCopy(HexStr,UpperCase(Hex));
j:=0;
for i:=0 to Length(Hex)-1 do
begin
if Ord(HexStr[Length(Hex)-1-i])> 64 then
j:= j + (Ord(HexStr[Length(Hex)-1-i])-55)*Exp(Ln(16)*i)
else
j:=j + (Ord(HexStr[Length(Hex)-1-i])-48)*Exp(Ln(16)*i);
end;
Result:=Round(j);
FreeMem(HexStr);
end;
呵呵,别告诉我不会用哦