让我举个例子来解释一下.在Delphi中,您可以编写
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = ^C then
ShowMessage('The user wants to copy something.')
else if Key = ^V then
ShowMessage('The user wants to paste.')
end;
Run Code Online (Sandbox Code Playgroud)
检查Ctrl + C和Ctrl + V键盘命令.实际上,相同的语法适用于Ctrl + A,其中A是任何字符,当然 - 您也可以使用case语句而不是ifs.你甚至可以做ShowMessage(^A),所以,显然,^A被认为是char.
但是,在浏览官方Delphi文档时,我找不到任何对此语法的引用.但也许^A语法是如此常见,以至于它被理解为底层纯文本文件格式的一部分?或者它只是Delphi编程语言的一个未记录的功能?(请注意,上述结构实际上是在RTL/VCL源代码中使用的.但是,当然,只有Embarcadero和Embarcadero才允许使用未记录的功能,如果有的话.)