在终端窗口中显示一个或多个表达式的结果,中间用空格隔开。
? | ?? [<uValueList>]
<uValueList> | 显示的值列表。如果在 ? 语句中没有指定参数,则会向终端窗口发送回车/换行符。如果使用 ?? 语句而没有参数,则不会发生任何操作。 |
? 和 ?? 是 QOut() 和 QQOut() 函数的同义词,分别表示输出到屏幕的简单和详细信息。
虽然在功能上相似,但 ? 和 ?? 有细微差别。? 在显示表达式列表的结果之前发送回车符/换行符。?? 在当前位置显示输出,这使得您可以使用 ?? 在同一行上显示连续的输出。
? 或 ?? 语句将光标或打印头定位在上次显示的最后一个字符的右侧。Row() 和 Col() 将更新以反映新的光标位置。
如果 ? 或 ?? 语句的输出达到终端窗口的边缘,它会换行到下一行。如果输出达到窗口底部,窗口会向上滚动一行。
要格式化指定的任何表达式,请使用 Transform()。如果需要为列对齐填充变量长度值,请使用任何 Pad() 函数之一来左对齐、右对齐或居中值,如下面的示例所示。
该示例使用 ? 和 ?? 语句以及 PadR() 显示数据库文件中的记录,以确保列对齐:
LOCAL nPage := 0, nLine := 99
USE salesman INDEX salesman NEW
DO WHILE !EOF()
IF nLine > 55
IF nPage != 0
EJECT
ENDIF
? PadR("Page", LTRIM(STR(++nPage)), 72)
?? DTOC(TODAY())
?
?
? PadC("Sales Listing", 79)
?
nLine := 5
ENDIF
? Name, Address, PadR(RTrim(City) + "," + State, 20), ZipCode
++nLine
SKIP
ENDDO
CLOSE salesman
XSharp.RT.DLL
QOut(), QQOut()