Je m'explique par un exemple. Dans Delphi, vous pouvez écrire
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;
pour vérifier Ctrl+C et Ctrl+V au clavier des commandes. En fait, la même syntaxe fonctionne pour Ctrl+A, où A est tout caractère, et-bien sûr-vous pouvez également utiliser un case
déclaration au lieu de if
s. Vous pouvez même le faire ShowMessage(^A)
, de sorte que, apparemment, ^A
est considéré comme un char
.
Cependant, en parcourant l'officiel Delphi documentation, je ne trouve aucune référence à cette syntaxe. Mais peut-être l' ^A
syntaxe est tellement courante qu'elle est comprise comme une partie de la sous-jacentes de la plaine format de fichier texte? Ou est-ce simplement une fonctionnalité non documentée de l'Delphi langage de programmation? (Notez que les constructions sont effectivement utilisés dans les RTL/VCL code source. Mais, bien sûr, Embarcadero, et Embarcadero seul, est autorisé à utiliser les fonctionnalités non documentées, si il existe.)