J'ai utilisé des constantes comme vbLf
, vbCrLf
& vbCr
dans un MsgBox; il produit la même sortie dans un MsgBox (le texte "Hai" apparaît dans un premier paragraphe et un mot "Bienvenue" dans un paragraphe suivant)
MsgBox("Hai" & vbLf & "Welcome")
MsgBox ("Hai" & vbCrLf & "Welcome")
MsgBox("Hai" & vbCr & "Welcome")
Je sais que vbLf
, vbCrLf
et vbCr
sont utilisés pour les fonctions d'impression et d'affichage.
Je veux connaître la différence entre les constantes vbLf
, vbCrLf
et vbCr
.
Constant Value Description
----------------------------------------------------------------
vbCr Chr(13) Carriage return
vbCrLf Chr(13) & Chr(10) Carriage return–linefeed combination
vbLf Chr(10) Line feed
vbCr : - retournez au début de la ligne
Représente un retour-chariot caractère pour les fonctions d'impression et d'affichage.
vbCrLf : - semblable à appuyer sur Entrée
Représente un caractère retourne-chariot associé à un caractère de saut de ligne pour les fonctions d'impression et d'affichage.
vbLf : - allez à la ligne suivante
Représente un caractère de saut de ligne pour les fonctions d'impression et d'affichage.
Lire plus de classe de constantes
Les trois constantes ont des fonctions similaires de nos jours, mais des origines historiques différentes, et très occasionnellement, vous devrez peut-être utiliser l’une ou l’autre.
Vous devez repenser à l’époque des vieilles machines à écrire manuelles pour en cerner les origines. Deux actions distinctes sont nécessaires pour créer une nouvelle ligne de texte:
Sur les ordinateurs, ces deux actions sont représentées par deux caractères différents - le retour chariot est CR
, ASCII caractère 13, vbCr
; le saut de ligne est LF
, ASCII caractère 10, vbLf
. À l’époque des télétypes et des imprimantes linéaires, il fallait envoyer à l’imprimante ces deux caractères - généralement dans l’ordre CRLF
- pour commencer une nouvelle ligne, et ainsi la combinaison CRLF
- vbCrLf
- est devenue une séquence de fin de ligne traditionnelle, dans certains environnements informatiques .
Naturellement, le problème était qu’il était tout aussi logique de n’utiliser qu’un seul caractère pour marquer la fin de la ligne et de laisser le terminal ou l’imprimante effectuer automatiquement les actions de retour à la ligne et de saut de ligne. Et avant que vous ne le sachiez, nous avions 3 terminaisons de ligne valides différentes: LF
seul (utilisé dans Unix et MacInfohes), CR
seul (apparemment utilisé dans les anciens Mac OS) et le CRLF
combinaison (utilisée sous DOS, et donc sous Windows). Cela a conduit à des complications pour les programmes DOS/Windows ayant la possibilité d’ouvrir des fichiers dans text mode
, où toute paire CRLF
lue dans le fichier a été convertie en une seule CR
(et inversement lors de l’écriture).
Donc, pour résumer une histoire (beaucoup trop) longue, il existe des raisons historiques à l’existence des trois séparateurs de ligne séparés, qui sont maintenant souvent sans importance: et la meilleure solution dans .NET est peut-être d’utiliser Environment.NewLine
ce qui signifie que quelqu'un d'autre a décidé pour vous d'utiliser le logiciel et que les problèmes de portabilité futurs devraient être réduits.