vbLf, vbCrLf, and vbCr are constants in Visual Basic that represent different types of new line characters. vbLf represents a line feed character, which is commonly used in Unix and Linux systems to indicate the end of a line. vbCrLf represents a carria
vbLf, vbCrLf, and vbCr are constants in Visual Basic that represent different types of new line characters. vbLf represents a line feed character, which is commonly used in Unix and Linux systems to indicate the end of a line. vbCrLf represents a carria
在一个MsgBox中,我使用了像vbLf
,vbCrLf
和vbCr
这样的常量;它在MsgBox中产生相同的输出(文本“Hai”出现在第一个段落中,单词“Welcome”出现在下一个段落中)。\n
MsgBox("Hai" & vbLf & "Welcome") MsgBox ("Hai" & vbCrLf & "Welcome") MsgBox("Hai" & vbCr & "Welcome")
\n我知道vbLf
,vbCrLf
和vbCr
用于打印和显示函数。\n我想知道vbLf
,vbCrLf
和vbCr
常量之间的区别。
在计算机编程中,vbLf、vbCrLf和vbCr是常见的换行符常量。它们在功能上很相似,但起源不同,有时需要使用其中之一。
为了理解这个问题的起源,我们需要回到旧式手动打字机的时代。开始新的一行文本需要两个明确的操作:
1. 将打字头移动到最左边。实际上,在打字机上,这是通过将承载纸张的滚筒(称为“行车”)完全移动到右边来完成的,而打字头是固定的。这个操作被称为“回车”(carriage return)。
2. 将纸张向上移动一行的宽度。这个操作被称为“换行”(line feed)。
在计算机中,这两个操作由两个不同的字符表示:回车是CR,ASCII字符13,vbCr;换行是LF,ASCII字符10,vbLf。在旧式电传打字机和线打印机上,需要将这两个字符发送给打印机,传统上按照顺序发送CRLF,因此vbCrLf成为了传统的换行符,在某些计算环境中使用。
问题是,只使用一个字符来标记换行符,并让终端或打印机自动执行回车和换行操作同样合理。于是,我们就有了三种不同的有效换行符:仅LF(在Unix和Macintosh中使用)、仅CR(似乎在较旧的Mac OS中使用)和CRLF组合(在DOS中使用,因此在Windows中也使用)。这反过来导致DOS/Windows程序有一个选项,可以以“文本模式”打开文件,从文件中读取的任何CRLF对都会转换为一个CR(写入时也反之)。
所以,长话短说,这三种不同的行分隔符存在历史原因,现在经常是无关紧要的。或许在.NET中,最好的做法是使用Environment.NewLine,这样别人已经为您决定了使用哪种换行符,未来的可移植性问题应该会减少。
此外,还有一个历史差异,即退格键和删除键的作用。在计算机上,退格键将光标向后移动一个位置并删除前一个字符。这与传统作用有所不同,传统作用是向后移动一个空格而不删除字符,而是覆盖之前的内容。
以上是vbLf、vbCrLf和vbCr常量的起源和区别,以及在.NET中使用Environment.NewLine可能是最好的解决方法,以降低未来的可移植性问题。
Differences Between vbLf, vbCrLf & vbCr Constants
在编程中,常常需要处理文本的换行符。在Visual Basic中,有三个常量用于表示换行符:vbCr、vbCrLf和vbLf。这些常量之间的差异是什么?为什么会出现这个问题?让我们来探讨一下。
首先,让我们看一下这些常量的定义和描述:
vbCr:代表回车符(Carriage return),对于打印和显示函数来说,表示将光标返回到行的开头。
vbCrLf:代表回车符(Carriage return)和换行符(Line feed)的组合,对于打印和显示函数来说,表示回车并换行。
vbLf:代表换行符(Line feed),对于打印和显示函数来说,表示换行。
从上面的描述可以看出,vbCr只表示回车符,而vbCrLf表示回车符和换行符的组合,vbLf只表示换行符。那么为什么会有这么多种不同的换行符表示呢?
这个问题的出现是因为不同的操作系统对于换行符的表示方式存在差异。在Windows操作系统中,换行符通常由回车符和换行符的组合表示,即vbCrLf。而在Unix和Linux操作系统中,换行符通常只由换行符表示,即vbLf。而在早期的Macintosh操作系统中,换行符通常由回车符表示,即vbCr。
为了解决这个问题,Visual Basic提供了这些常量来简化对换行符的处理。通过使用这些常量,我们可以根据不同的操作系统自动选择适当的换行符表示方式,而不需要手动编写不同的代码来处理不同的换行符。
总之,通过使用vbCr、vbCrLf和vbLf这些常量,我们可以在编程中方便地处理不同操作系统中的换行符。这样,我们的代码就可以在不同的平台上运行,而不需要担心换行符的差异带来的问题。
希望本文对您理解vbCr、vbCrLf和vbLf这些常量的差异有所帮助。如果您想了解更多关于这些常量的信息,可以访问Constants Class的官方文档。同时,如果您对vbNewLine这个常量是否是CRLF的别名,或者是一个过时的、与平台相关的换行符表示方式感兴趣,可以参考相关讨论。