Les chaînes Delphi utilisent des guillemets simples, par exemple 'une chaîne valide'. Comment peut-on spécifier le caractère 'dans une chaîne littérale? Comment se référer à l'octet nul (code Unicode point U + 0000)?Comment échapper des caractères dans la chaîne Delphi
Répondre
Pour ajouter une seule citation à une chaîne, vous incluez des marques 2 ', par ex.
str := '''test string''';
Writeln(str)
Dans la chaîne ci-dessus, vous avez la seule citation normale pour démarrer une chaîne, puis deux pour la seule citation. Idem pour la fin de la chaîne.
Vous pouvez également utiliser # suivi d'un chiffre pour un autre caractère d'échappement, par ex.
Pour une nouvelle ligne:
str := 'Newline' + #13 + #10
ou tout simplement
str := 'Newline'#13#10
Bien sûr, en utilisant la constante dépendant de la plate-forme de nouvelle ligne est meilleure.
Pour '
le caractère le place deux fois. Par exemple: 'Don''t'
. Type d'octet nul comme # 0.
Pour répondre à la dernière partie de la question, vous pouvez utiliser
#$0000
Pour ajouter U + 0000
De cette façon, vous pouvez ajouter l'autre Unicode carbonise aussi. (Assurez-vous d'utiliser une police qui peut afficher ces caractères.)
Vous pouvez également utiliser '# 0' à la place. –
Le seul problème avec le # 13 # 10 est que le compilateur va générer un avertissement si les + sont manquants. Il compilera et fonctionnera bien, mais avec des avertissements. – skamradt
Quand le compilateur a-t-il commencé à émettre des avertissements à ce sujet? Je sais que cela n'a pas été fait dans Delphi 5, et je suis presque sûr qu'il ne fait pas ça Delphi 2005. Quel avertissement imprime-t-il maintenant? –
Je pense que 'QuotedStr' /' AnsiQuotedStr' vaut la peine d'être mentionné. Particulièrement utile lorsque vous citez des variables, par ex. 'showMessage ('param value is' + QuotedStr (param))' –