Différences entre les constantes vbLf, vbCrLf et vbCr

j'ai utilisé des constantes comme vbLf, dans un MsgBox; il produit le même résultat dans une boîte de Message (Texte "Hai" apparaît dans un premier paragraphe et le mot "Bienvenue" s'affiche dans un Paragraphe suivant )

MsgBox("Hai" & vbLf & "Welcome")
MsgBox ("Hai" & vbCrLf & "Welcome")
MsgBox("Hai" & vbCr & "Welcome")

je sais vbLf, sont utilisés pour les fonctions d'impression et d'affichage.

je veux connaître la différence entre les vbLf, constantes.

33
demandé sur w͏̢in̡͢g͘̕ed̨p̢͟a͞n͏͏t̡͜͝he̸r̴ 2014-12-01 10:02:37

2 réponses

 Constant   Value               Description
 ----------------------------------------------------------------
 vbCr       Chr(13)             Carriage return
 vbCrLf     Chr(13) & Chr(10)   Carriage return–linefeed combination
 vbLf       Chr(10)             Line feed
  • vbCr : -retour à la ligne commençant par

    Représente un retour chariot caractère pour les fonctions d'impression et d'affichage.

  • vbCrLf : - semblable à presser Enter

    Représente un retour chariot caractère caractère de saut de ligne pour impression et affichage fonction.

  • vbLf : -aller à la ligne suivante

    Représente un caractère de saut de ligne pour les fonctions d'impression et d'affichage.


Lire la suite de Classe De Constantes

42

les trois constantes ont des fonctions similaires de nos jours, mais des origines historiques différentes, et très occasionnellement on peut être obligé d'utiliser l'une ou l'autre.

vous devez penser à l'époque des vieilles machines à écrire manuelles pour en connaître les origines. Deux actions distinctes sont nécessaires pour commencer une nouvelle ligne de texte:

  1. déplacer la tête de saisie vers la gauche. Dans la pratique, dans une machine à écrire cela se fait en déplaçant le rouleau qui porte le papier (le "carriage") tout en remontant vers la droite -- la tête de frappe est fixe. C'est un retour du chariot.
  2. déplacer le papier par la largeur d'une ligne. C'est un saut de ligne.

Dans les ordinateurs, ces deux actions sont représentées par deux personnages différents - retour chariot CR caractères ASCII 13, vbCr; saut de ligne vbLf. Dans les vieux jours des télétypes et des imprimantes en ligne, l'imprimante il fallait envoyer ces deux caractères -- traditionnellement dans la séquence CRLF -- pour commencer une nouvelle ligne, et donc le CRLF combinaison -- vbCrLf -- est devenu une séquence de fin de ligne traditionnelle, en environnements informatiques.

le problème était, bien sûr, qu'il était tout aussi logique de n'utiliser qu'un seul caractère pour marquer la fin de ligne, et de faire exécuter automatiquement par le terminal ou l'imprimante les deux opérations de retour de chariot et d'alimentation en ligne. Et donc, avant de vous savait-il, nous avons eu 3 différents valide les fins de ligne: LF seul (utilisé dans Unix et Macintoshes),CR seul (apparemment utilisé dans les Mac OS plus âgés) et le CRLF combinaison (utilisée dans DOS, et donc dans Windows). Cela à son tour conduit aux complications de DOS / Windows programmes ayant la possibilité d'ouvrir des fichiers dans text mode, où CRLF la paire lue à partir du fichier a été convertie en un seul CR (et vice versa en écrivant).

Donc - pour couper une (trop) longue histoire courte - il y a des raisons historiques à l'existence des trois séparateurs de ligne séparés, qui sont maintenant souvent hors de propos: et peut-être la meilleure ligne de conduite dans .NET est d'utiliser Environment.NewLine ce qui signifie que quelqu'un d'autre a décidé pour vous de l'utiliser, et les problèmes futurs de portabilité devraient être réduits.

26
répondu AAT 2014-12-01 09:37:00