Note | 该命令在头文件中定义,将由 X# 预处理器预处理为函数调用。如果禁用标准头文件 (-nostddefs),该命令将不可用。如果告诉编译器使用不同的标准头文件(-stddef ),则此命令也可能不可用。 |
将屏幕输出写入文本文件。
SET ALTERNATE TO [<cFileName> [ADDITIVE] ]
SET ALTERNATE ON | OFF | <lToggle>
<cFileName> | 指定记录屏幕输出的 ASCII 文件名称。文件名必须包含驱动器和路径。文件名既可以是字面文件名,也可以是括号中的字符表达式。如果指定的文件名没有文件扩展名,则默认使用扩展名".TXT"。 |
ADDITIVE | 选项 ADDITIVE 将屏幕输出添加到文件 <cFileName> 的当前内容中。如果没有该选项,文件内容将被删除。如果名称为 <cFileName> 的文件不存在,则会创建该文件。 |
<lToggle> | <lToggle> 是一个逻辑表达式,必须放在括号中。除了逻辑表达式,还可以为 .T. 值指定选项 ON(真),为 .F.值指定选项 OFF(假)。指定 .T. 或 ON 时,屏幕输出将记录在文件 <cFileName> 中。 |
命令 SET ALTERNATE 将打开一个记录屏幕输出的 ASCII 文件。只有使用 ? 或 LIST 等命令以及 QOut() 和 QQOut() 等函数执行的屏幕输出才会写入文件。包含 TO FILE 选项的命令与 SET ALTERNATE 类似。.
备用文件(ASCII 文件 <cFileName> )并不局限于一个工作区,而是可以在所有工作区使用。向文件的输出由选项 ON | OFF 或 <lToggle> 的逻辑值打开或关闭。在 SET ALTERNATE 命令中包含一个文件名,就定义了一个备用文件。如果调用 SET ALTERNATE TO 命令时没有指定文件名,则当前打开的备用文件将被关闭,屏幕输出将无法记录到文件中。通过 CLOSE ALTERNATE 和 CLOSE ALL 命令也可以关闭备用文件。
FUNCTION Start
USE Customers NEW
SET ALTERNATE TO CustomerList.TXT
SET CONSOLE OFF
DO WHILE .NOT. Eof()
? Customers->LastName, Customers->FirstName
? Customers->Street
? Customers->City + ",", Customers->State, Customers->Zip
?
SKIP
ENDDO
SET ALTERNATE TO
SET CONSOLE ON
USE
RETURN
Visual FoxPro 方言示例(同上):
/// <summary>
/// X# 版本:2.20.0.3
/// </summary>
Function Start() As Void Strict
*!* USE Customers New && 当然,在 VFP 方言中也有效,但是下面的语句更兼容 VFP 语法
Select 0
Use customers
Set Alternate To CustomerList.TXT
Set Console Off
*!* 也可以使用 not 或者 ! 替换 .not.
*!* 也可以省略 customers.
Do While .not. Eof()
? customers.LastName, customers.FirstName
? customers.Street
? customers.City + ",", customers.State, customers.Zip
?
Skip
Enddo
Set Alternate To
Set Console On
Use
Return
XSharp.RT.DLL
SetAlternate(),SetAltFile(), SET CONSOLE