Déjenme explicarlo con un ejemplo. En Delphi, puede escribirDelphi^Una sintaxis: ¿Documentado, implícito o no documentado?
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;
para comprobar si hay comandos de teclado Ctrl + C y Ctrl + V. De hecho, la misma sintaxis funciona para Ctrl + A, donde A es cualquier carácter y, por supuesto, también puede usar una declaración case
en lugar de if
s. Incluso puede hacer ShowMessage(^A)
, por lo que, al parecer, ^A
se considera char
.
Sin embargo, al navegar por the official Delphi documentation, no puedo encontrar ninguna referencia a esta sintaxis. Pero tal vez la sintaxis ^A
es tan común que se entiende como una parte del formato de archivo de texto plano subyacente? ¿O es simplemente una característica no documentada del lenguaje de programación Delphi? (Tenga en cuenta que las construcciones anteriores se utilizan en realidad en el código fuente RTL/VCL. Pero, por supuesto, Embarcadero y Embarcadero solo pueden usar funciones no documentadas, si existe alguna).
cualquiera puede utilizar características no documentadas –
@ David: Bien, estoy de acuerdo en que el problema no es tan malo como en el caso de la API de Windows, por ejemplo. –
Algunos de ellos, la penetración de error no le gusta, como '^ [' (Esc), '^' @ (NUL) .. –