Vb6 分号在行尾的作用是什么?

Vb6 分号在行尾的作用是什么?,vb6,Vb6,在一行代码的末尾加上分号会有什么效果 我在接手的一些代码中看到了这一点: Printer.Print "Customer: " & strCustomerName & " (" & strCustomerCode & ")"; A抑制通常的默认CRLF: charpos-指定下一个字符的插入点使用分号将插入点定位在显示的最后一个字符之后。使用制表符(n)将插入点定位到绝对列号。使用不带参数的Tab将插入点定位在下一个打印区域的开头如果省略charpos,则下一个

在一行代码的末尾加上分号会有什么效果

我在接手的一些代码中看到了这一点:

Printer.Print "Customer: " & strCustomerName & " (" & strCustomerCode & ")";

A
抑制通常的默认CRLF:

charpos-指定下一个字符的插入点使用分号将插入点定位在显示的最后一个字符之后。使用制表符(n)将插入点定位到绝对列号。使用不带参数的Tab将插入点定位在下一个打印区域的开头如果省略charpos,则下一个字符将打印在下一行。

(我的重点)


我找不到打印机的参考资料。Print
(如果单击“方法”链接,它不会被列出),但我希望它也能做同样的事情。

Print
是一个基本的语句,可以追溯到20世纪60年代中期该语言的第一天。打印用于在窗体、图片框、打印机和即时(调试)窗口上显示数据行;它还可用于将数据记录写入文件。在VB中,打印是作为一种方法实现的

打印方法的一般格式为:

[object.]Print [expressionlist]
其中object指的是上述对象之一(表单、PictureBox、调试窗口、打印机),expressionlist指的是要打印的一个或多个数值或字符串表达式的列表

表达式列表中的项可以用分号(;)或逗号(,)分隔。表达式列表中的分号或逗号确定下一个输出的开始位置:

; (semicolon) means print immediately after the last value.
, (comma) means print at the start of the next "print zone".
Print
语句的表达式列表中用分号分隔的项紧跟在一起打印。在声明中

Print "Hello,"; strName; "How are you today?"
如果
strName
包含“HARRY”,则Print语句将生成以下输出:

Hello,HARRYHow are you today?

摘录:

好吧,奇怪。为什么不使用
Print
PrintLine
来区分这种行为呢?@CraigJ:不管出于什么原因,classicly BASIC(因此VB6)倾向于这样做,除非您另有说明,否则它将是面向行的。可能是历史原因。但是,另外,如果您开始问为什么VB6会这样做,您很快就没有时间做其他事情了。:-)+1. @CraigJ您似乎在问一些“VB6如何工作”的问题。没有冒犯的意思,但你可能会发现阅读手册会更快。也可以通过阅读帮助VB6用户学习VB.Net的材料来了解VB6和VB.Net之间的差异。可能会帮助您推断VB6是如何工作的。另一种方法是为有经验的程序员学习VB6。@CraigJ。。。还有+1 T.J.Crowder,他建议要找出VB6为什么会这样做是相当耗时的。如果你真的想责怪某人,试试乔尔·斯波尔斯基Print语句提供了比简单的Print/PrintLine更多的功能。分号不仅用于Print语句的结尾,还用于要打印的项目列表中。它是一个格式化效应器,类似于逗号或内联Tab()和Spc()函数。正如在另一个答案中所述,这是真正的基本方言语法的一部分,可以追溯到几十年前。实际上,编译器直接处理的更像是一个伪方法。这就是为什么它不能在With块中工作,等等。该语句甚至不是真正的“正确”。串联运算符也应该是分号。实际上没有人知道VB吗?@BobRiemersma:No,
&
只是将字符串组合在一起(必要时使用强制),不需要分号。然后,
Print
会看到一个字符串(后跟“no-CRLF”内容)。当然会看到,但是在打印中使用串联既慢又不必要。它不是“无CRLF”,而是“无换行符”,具有完全不同的含义,即vbNewLine中的换行符可移植到Mac VBA。