vbCrLf,vbCr,vbLf 是 VB 语言里定义的常数,其定义如下:
发展壮大离不开广大客户长期以来的信赖与支持,我们将始终秉承“诚信为本、服务至上”的服务理念,坚持“二合一”的优良服务模式,真诚服务每家企业,认真做好每个细节,不断完善自我,成就企业,实现共赢。行业涉及成都门窗定制等,在成都网站建设、成都全网营销、WAP手机网站、VI设计、软件开发等项目上具有丰富的设计经验。
通常,在字符串中进行换行,可以使用 vbCrLf 常数,使用示例代码如下:
Sub ShowFileList(folderspec)
Dim fs, f, f1, fc, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(folderspec)
Set fc = f.Files
For Each f1 in fc
s = s f1.name
s = s vbCrLf
Next
MsgBox s
End Sub
textbox1.text=io.file.readalltext(Application.StartupPath() "\file\t1.txt",System.Text.Encoding.Default).replace(vbcr,"").replace(vblf,"")
全部读取,不分行,已经删除vbcrlf换行符。
==我好像看错题目了。
textbox开启多行(multiline)就可以多行显示,按行读取是不会读取换行符的。
textbox1.text=io.file.readalltext(Application.StartupPath() "\file\t1.txt",System.Text.Encoding.Default)
有些文本中的换行符不一定是vbCrLf,也有可能是vbCr或vbLf,你可以这样试试:
a = split(textbox1.text, vbcr)
或
a = split(textbox1.text, vblf)
vbcr 回车,就是跳到本行的开头位置
vblf 换行,就是跳到下一行的当前列位置
早期的英文打字机在打完一行准备打另一行时,要执行两个动作,就是回车和换行,而现在的电脑键盘是从打字机的键盘延伸而来的,所以保留了这个传统(不过电脑键盘的回车键是同时执行了这两个动作的)
这两个动作在程序设计中一般也是合在一起用的,比如VB中就用vbcrlf来表示,所以你说的例子可改为:
Label1.Caption = "合并" vbCrLf Join(a, "")
除了这种用法,还可以直接用回车换行符的ASCII码表示:
Label1.Caption = "合并" Chr(13) Chr(10) Join(a, "")
另外补充一句,在连接字符串时,最好不要用+号,要用号。
可以用chr函数或者vbCrLf这种表示
chr(10):换行,相当于vbLf
chr(13):回车,相当于vbCr
chr(13)+chr(10):回车+换行,相当于vbCrLf
两个字符,你说什么区别。
Windows操作系统中,标准的换行标记是vbCrLf。不过有些软件/控件也支持vbCr或则vbLf换行。(比如VB中的Label,MessageBox等)
还有些比较特殊,比如说RichTextBox,它内部用的换行标记是vbLf。你要是直接把RichTextBox的内容保存为txt文件,再用记事本打开就会发现原来换行的地方都没有换行,而是有一个黑色的方块。因为记事本只认标准的vbCrLf,不会因为你有一个vbLf就换行。
这是Windows操作系统中的情况。如果在其他操作系统中情况又不一样了。
UNIX/Linux采用换行符LF表示下一行,
苹果机(MAC
OS系统)则采用回车符CR表示下一行。
不过,上面的都是操作系统的标准或者说一种约定,具体怎么实现是由程序决定的。你用的程序/控件不一定遵守这个,比如前面提到的RichTextBox,它就要用vbLf做换行标记。
另外,它们的作用也不一定就是用来“换行”……
总之,vbCr和vbLf就两个字符而已,怎么处理由程序/控件来决定。