And*_*and 39 delphi keyboard syntax character
让我举个例子来解释一下.在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
语句而不是if
s.你甚至可以做ShowMessage(^A)
,所以,显然,^A
被认为是char
.
但是,在浏览官方Delphi文档时,我找不到任何对此语法的引用.但也许^A
语法是如此常见,以至于它被理解为底层纯文本文件格式的一部分?或者它只是Delphi编程语言的一个未记录的功能?(请注意,上述结构实际上是在RTL/VCL源代码中使用的.但是,当然,只有Embarcadero和Embarcadero才允许使用未记录的功能,如果有的话.)
Jer*_*ers 29
这是很久以前的一个转义字符,使您能够以更易读的方式为控制字符提供consts.
const
CtrlC = ^C;
begin
Write(Ord(CtrlC));
end.
Run Code Online (Sandbox Code Playgroud)
这定义了一个带有值的Char常量#3
,然后3
在Borland Pascal 7中写入,我记得在它之前几年也看过它.
我刚检查了Turbo Pascal 5.0和Borland Pascal 7.0语言指南,但找不到它,所以它似乎没有记录.
编辑: 我记得这是Borland公司的事,只是检查:这是不是ISO帕斯卡尔标准的一部分(以前这是ANSI Pascal之间,感谢Sertac用于察觉这一点).
这 是中记录的Free Pascal文档.
根据他们的文档,SGI使用反斜杠作为转义字符.
更多编辑:我发现它在Delphi的Nutshell和Delphi Basics站点中有记录.
找到它:刚刚在Turbo Pascal 3参考手册的第37页找到它.
--jeroen