【问题标题】:Differences Between vbLf, vbCrLf & vbCr ConstantsvbLf、vbCrLf 和 vbCr 常量之间的差异
【发布时间】:2015-01-29 03:41:11
【问题描述】:

我在 MsgBox 中使用了 vbLfvbCrLfvbCr 等常量;它在 MsgBox 中产生相同的输出(文本“Hai”出现在第一段中,单词“Welcome”出现在下一段中)

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

我知道vbLfvbCrLfvbCr用于打印和显示功能。

我想知道 vbLfvbCrLfvbCr 常量之间的区别。

【问题讨论】:

    标签: vb.net printing constants msgbox


    【解决方案1】:
     Constant   Value               Description
     ----------------------------------------------------------------
     vbCr       Chr(13)             Carriage return
     vbCrLf     Chr(13) & Chr(10)   Carriage return–linefeed combination
     vbLf       Chr(10)             Line feed
    
    • vbCr : - 返回行首
      表示用于打印和显示功能的回车字符。

    • vbCrLf : - 类似于按 Enter
      表示 回车 字符与 换行符 组合用于打印和显示 功能。

    • vbLf : - 转到下一行
      表示用于打印和显示功能的换行符


    阅读更多来自Constants Class

    【讨论】:

    • vbNewLine 仅仅是 CRLF 的别名,还是模糊的、过时的平台相关换行符
    • +1对CRLF概念的最简单解释:类似于按Enter。
    【解决方案2】:

    这三个常量如今功能相似,但历史渊源不同,偶尔可能需要使用其中一个。

    您需要回想一下老式手动打字机的时代,才能了解它的起源。开始新的文本行需要两个不同的操作:

    1. 将打字头移回左侧。在打字机的实践中,这是通过将承载纸张的卷筒(“托架”)一直向右移动来完成的——打字头是固定的。这是回车
    2. 将纸张向上移动一行宽度。这是换行

    在计算机中,这两个动作用两个不同的字符表示——回车是CR,ASCII字符13,vbCr;换行符是LF,ASCII 字符 10,vbLf。在过去的电传打字机和行式打印机时代,打印机需要发送这两个字符——传统上是按CRLF 的顺序——开始新的一行,所以CRLF 组合——vbCrLf——在一些计算环境中变成了传统的行尾序列。

    当然,问题在于,只使用一个字符来标记行尾,并让终端或打印机自动执行回车和换行操作同样有意义。所以在你知道之前,我们有 3 种不同的有效行尾:单独的 LF(用于 Unix 和 Macintoshes)、单独的 CR(显然用于旧的 Mac 操作系统)和 CRLF 组合(用于 DOS、因此在 Windows 中)。这反过来又导致了 DOS / Windows 程序的复杂性,这些程序可以选择在 text mode 中打开文件,其中从文件中读取的任何 CRLF 对都被转换为单个 CR(写入时反之亦然)。

    所以 - 长话短说 - 三个单独的行分隔符的存在是有历史原因的,现在这通常是无关紧要的:也许 .NET 中最好的做法是使用 @ 987654334@ 这意味着其他人已经为您决定使用哪个,并且应该减少未来的可移植性问题。

    【讨论】:

    • 除此之外......从过去开始......它自己使用回车是很常见的,这样你就可以覆盖你已经打印的文本。这通常用于添加突出显示或其他标记,例如 ---- 字符被过度输入以表示被划掉的单词。当可变字体“Ball”打字机问世时,您甚至可以通过这种方式更改句子中特定单词的字体。
    • 这也带来了另一个历史差异。退格 VS 删除。在电脑上。计算机上的退格键将光标向后移动一个位置并删除前一个字符。这与传统的角色不同,传统角色是向后移动一个空格而不是删除,而是过度输入。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-24
    • 1970-01-01
    • 2022-09-29
    • 1970-01-01
    • 1970-01-01
    • 2012-05-17
    相关资源
    最近更新 更多