Je viens de trouver une réponse à la suite d'une syntaxe curieuse: p>
Comment incluez-moi un Personnage de Newline dans une chaîne à Delphi? P>
J'utilise Delphi depuis plusieurs années maintenant, mais je ne savais pas que vous pouvez utiliser le signe circonflex pour les personnages de contrôle. P>
est-ce juste une gauche sur le début des jours Delphes ou Turbo Pascal? P>
devrait-il être utilisé de nos jours? P>
PS: Je ne demande pas de conseils sur les personnages de la ligne de rupture, il y a Slinebreak et d'autres méthodes telles que discutées dans la question initiale. P> mystring: = 'Bonjour,' + ^ m + ^ j + 'World!'; Code> P>
3 Réponses :
Oui, cela reste laissé des jours TP. Vous pouvez également écrire votre déclaration comme celle-ci qui est probablement moins obscure et plus facilement compréhensible que d'utiliser ^ m et ^ j. Bien sûr, vous devriez vraiment définir des constantes p>
Vous avez Slinebreak code> si nous parlons de la définition de constantes ;-)
En utilisant également "Slinebreak", le code "Cross Platform Caout", car il a une signification différente sur Windows et Mac :)
Oui c'est un héritage des jours de jequois. p>
Et non, vous ne devriez pas entrer dans l'habitude d'utiliser cette fonctionnalité. N'oubliez pas que le code est lu le plus souvent qu'il n'est écrit. Pensez toujours à vos lecteurs qui ne sauront probablement pas ce que cette syntaxe signifie. P>
Les bons ol 'jours de jedais je présume? (Je n'étais pas assez vieux pour coder à l'époque, mais cela ressemble au passé du développement Delphes était génial'r que c'est maintenant)
@Jeff, vous avez raison à ce sujet, mais cette construction est à partir des jours précédant que Delphi était Delphi. :)
et avant que Pascal était turboré!
Non, il ne s'agit pas des jours turbo Pascal. Cela fait de décennies avant TP, et avant MS-DOS et probablement même avant UNIX. Quelque chose de vieux comme des modems de numérotation de 300 bits par seconde et du terminal Dec VT-52, RT-8 OS sur la machine PDP-8 et une version précoce de C. ou peut-être même plus âgée - bien que tout soit plus âgé pour moi, c'est de simples légendes :-) . P>
"^" Le signe est un raccourci pour la touche "Ctrl". Donc, Sortir de ma mémoire, vous pouvez envisager "^" pour "Soustrait 64". ^ [serait afairement être Donc, Turbo Pascal il y a longtemps, choisi de suivre la convention hésitée, puis des règles de compatibilité en retard se sont engagées depuis. Personnellement, je prends La pitié est que la mise en évidence de la syntaxe dans l'IDE Delphi est désespérément brisée sur ce type de constantes. P> ^ c code> dans la notation traditionnelle signifie
ctrl + C code> dans la notation Microsoft. Cette notation a été considérablement utilisée pour les menus TextMode dans MS-DOS Times, comme dans les Turbo Pascal susmentionné, Norton Utilities, Dos Navigator, etc. P>
Ainsi, comme chr (65) code> est
'a' code> alors
chr (1) code> serait
^ a code>.
Et ^ @ code> serait
# 0 code> :-) Afair dans MS-DOS Times En appuyant sur Ctrl + Shift + "2 / @" produirait réellement
# 0 code > dans le tampon de clavier BIOS :-) p>
# 27 code> AKA ESC (APE) Char - et si vous exécutez
telnet.exe code> Vous le verriez que vous le verriez comme le caractère d'échappement. p>
'bla-bla' ^ m ^ j'foo-baz ' code> littéral plus de chaîne de chaîne que
' bla-bla '# 13 # 10'foo-baz' code> quand vous le souhaitez sur une ligne. Et la construction de la valeur avec Plus est mieux adaptée lorsque votre littéral prend plusieurs lignes sources. P>
Jamais jamais vu cela avant, +1 pour une bonne question
Je viens de remarquer que c'est un duplicata: Stackoverflow.com/questions/4915941/...
Il est laissé de Turbo Pascal.
Cette syntaxe n'est-elle pas facilement confondue avec des pointeurs? Ou sont des pointeurs ^ m et ^ j?
@Pieterb et c'est pourquoi les noms de variables de caractère unique ne sont pas une bonne idée. ;-)
@Pieterb Non, ce n'est pas la syntaxe du pointeur. Vous pouvez utiliser ptype = ^ de type dans une déclaration de type et des pointeurs de désarence dans le code à l'aide de MyPoinger ^.
Obtenir également l'adresse d'une voiture utilise la syntaxe @.
@Pieterb mais vous ne pouvez pas utiliser de type dans une section const. Vous ne pouvez pas également utiliser une section constante dans une section de type. Cela peut sembler ambigu, mais sur une inspection plus étroite, ce n'est pas le cas.
Bien sûr, vous pouvez utiliser un type dans une section const si vous utilisez la constante
constante: TsomeType = code> Syntaxe :).
@golez Les noms de caractère unique pour les variables de boucle locale sont tout à fait. J'utiliserais toujours i, j et k comme noms de variable de boucle pour une matrice mul.