Позвольте мне объяснить на примере. В 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
вместо if
s. Вы даже можете сделать ShowMessage(^A)
, поэтому, по-видимому, ^A
считается char
.
Однако при просмотре официальной документации Delphi я не могу найти ссылку на этот синтаксис. Но, возможно, синтаксис ^A
настолько распространен, что его понимают как часть базового формата текстового файла? Или это просто недокументированная функция языка программирования Delphi? (Обратите внимание на то, что вышеуказанные конструкции фактически используются в исходном коде RTL/VCL. Но, конечно же, Embarcadero и Embarcadero в одиночку, разрешается использовать недокументированные возможности, если таковой существует.)
Это уже давно, как escape-символ, чтобы вы могли иметь consts для управляющих символов более читаемым способом.
const
CtrlC = ^C;
begin
Write(Ord(CtrlC));
end.
Это определяет константу Char со значением #3
, а затем записывает 3
в Borland Pascal 7, и я помню, что видел это еще задолго до этого.
Я просто проверил руководства по языку Turbo Pascal 5.0 и Borland Pascal 7.0, но не смог найти его, поэтому он не документирован.
Edit: Я помню, что это была вещь Borland, и просто проверено: она не является частью стандарта ISO Pascal (ранее это был стандарт ANSI Pascal, спасибо Sertac за то, что заметили это).
Он , зарегистрированный в Бесплатная документация Паскаля.
SGI использует обратную косую черту как escape-символ, а за свои документы.
Больше Правка: Я нашел задокументированный в Delphi в двух словах и Сайт основы Delphi.
Нашел его: Просто нашел его на стр. 37 Справочное руководство по Turbo Pascal 3.
- Йерун
Это известная недокументированная функция. Но опять же, последняя официальная синтаксическая документация - от delphi 7.