我正在将一个非常旧的组件转换为 Delphi 12,并且偶然发现了我不记得以前见过的语法。代码有点像这样:
someBoolean := key in [^H, #32..#255];
Run Code Online (Sandbox Code Playgroud)
我知道它正在测试key指定的 ANSI 字符集是否匹配或在范围内,但到底是什么^H?H如果我更改为A, , BDelphi似乎很乐意编译该行C或 ,1。该行在 Delphi 12 和 Delphi 7 下编译。我似乎找不到任何有关此的信息。这似乎是一个非常古老的语法,可能来自 Pascal 时代。有人能解释一下吗?
我在 Delphi 7 中准备了这个测试代码:
procedure TForm1.Button1Click(Sender: TObject);
var
c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15: AnsiChar;
begin
c1 := ^A;
c2 := ^B;
c3 := ^C;
c4 := ^D;
c5 := ^E;
c6 := ^F;
c7 …Run Code Online (Sandbox Code Playgroud)