Delphi ^ A语法:记录,暗示或无证?

Delphi ^ A语法:记录,暗示或无证?,第1张

概述让我以一个例子来解释。在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 ShowMe 让我以一个例子来解释。在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;

以检查Ctrl C和Ctrl V键盘命令。实际上,相同的语法适用于Ctrl A,其中A是任何字符,当然,您也可以使用case语句而不是ifs。你甚至可以做ShowMessage(^ A),所以,显然,^ A被认为是一个char。

但是,当浏览the official Delphi documentation时,我找不到任何引用此语法。但也许^ A语法是如此常见,它被理解为基础纯文本文件格式的一部分?还是仅仅是Delphi编程语言的一个未记录的特性? (请注意,上述结构实际上用于RTL / VCL源代码中,但是,当然,Embarcadero和Embarcadero可以使用未记录的特性,如果存在的话)

解决方法 这是从很久以前作为一个转义字符,使您能够以更可读的方式控制字符的常量。
const  CtrlC = ^C;begin  Write(Ord(CtrlC));end.

这定义了值为#3的Char常量,然后在Borland Pascal 7中写入3,我记得在几年前也看到它。

我只是检查了Turbo Pascal 5.0和Borland Pascal 7.0语言指南,但找不到它,所以它似乎没有文件。

编辑:
我记得这是一个Borland的东西,只是checked:它不是ISO Pascal标准的一部分(以前这是ANSI Pascal标准,谢谢Sertac注意到这一点)。

It记录在Free Pascal documentation。

sgi使用反斜杠作为转义字符,如per their docs。

更多编辑:我发现它documented in Delphi in a Nutshell和Delphi Basics site。

找到它:刚在Turbo Pascal 3 Reference Manual的第37页找到它。

– 吉欧

总结

以上是内存溢出为你收集整理的Delphi ^ A语法:记录,暗示或无证?全部内容,希望文章能够帮你解决Delphi ^ A语法:记录,暗示或无证?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1282783.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存