Delphi中的C风格十六进制 - 未记录的功能?

klu*_*udg 4 delphi hex delphi-2009

我偶然注意到以下代码

var
  I: Integer;

begin
  I:= StrToInt('0xAA');
  ShowMessage(IntToStr(I));  // shows 170 = $AA
end;
Run Code Online (Sandbox Code Playgroud)

在Delphi 2009中没问题.BTW这个功能帮我从C头文件中提取十六进制常量.

我想知道是否可以使用该功能,或者该功能即将在未来版本中"修复"?

dth*_*rpe 12

这是一个功能,你可以依靠它.Turbo Pascal进入Delphi后发生的哲学变化之一是承认Delphi生活在一个以C为主导的世界中,通过优雅地接受或容忍C-isms而不是忽略它们并迫使Delphi开发人员获得更多收益把它整理出来.Rob提到的与C++ Builder交互是一个因素,但Delphi最初是为Windows设计的,而Windows在Windows API中有很多C语言工件.

我认为术语"阻抗不匹配"可能适用于此 - 它很简单,可以消除Delphi十六进制处理和"世界其他地方"之间的阻抗不匹配,所以我们做到了.