Inno Setup - 如何将十进制数转换为十六进制?

时间:2014-08-15 17:07:26

标签: inno-setup

我已经知道如何将十六进制转换为十进制,但我无法弄清楚相反的情况。 我需要一个函数将十进制值转换为十六进制,然后使用RegWriteBinaryValue将其写入注册表。

3 个答案:

答案 0 :(得分:2)

此时没有用于将整数值转换为十六进制表示法的内置函数。这是一个可以做到这一点的功能。 Value是要转换的数字。 Digits表示要返回的最小十六进制数字数:

[Code]
const
  HexDigits = '0123456789ABCDEF';

function IntToHex(Value: Integer; Digits: Integer): string;
var
  I: Integer;
begin
  SetLength(Result, Digits);
  for I := 0 to Digits - 1 do
  begin
    Result[Digits - I] := HexDigits[(Value and 15) + 1];
    Value := Value shr 4;
  end;
  while Value <> 0 do
  begin
    Result := HexDigits[(Value and 15) + 1] + Result;
    Value := Value shr 4;
  end;
end;

答案 1 :(得分:1)

$(document).ready(function () {
        $("#CreditDetails_CreditCardNumber")
          .blur(function () {  $('.blurErrorMessage').text("Message error");

    });
});

答案 2 :(得分:0)

另一种方式:

function IntToHex2(Value: Integer; Digits: Integer): string;
begin
    Result := Format('%.' + IntToStr(Digits) + 'x', [Value, Value]);
end;