Show/Hide Toolbars

XSharp

 

XSharp 2.8 通过 ExecScript() 函数增加了对运行时脚本的支持。

脚本是为 FoxPro 方言添加的,但也适用于其他方言。

在脚本中,你可以使用完整的 X# 语言。

脚本首次运行时将被编译。如果第二次运行同一脚本,脚本编译器可以重复使用第一个脚本的已编译版本。

 

示例(FoxPro 方言,MessageBox() 是一个 FoxPro 函数)

VAR cScript := 'MessageBox("Hello ExecScript")'
ExecScript(cScript)

当然,脚本也可以是多行的,可以调用运行时和代码中的任何函数。

脚本可以访问启动时可见的 PUBLIC 和 PRIVATE 变量。

您还可以在脚本中声明新的局部变量,并使用您通常会使用的任何语句和用户定义命令。

 

我们在 2021 年 1 月进行了一次关于脚本的在线讨论,其中展示了几个脚本示例。录音请参见 https://www.youtube.com/watch?v=88crZsEiAOg&t=5s

其中一个示例脚本是

LPARAMETERS oForm
USE employees.dbf
PrintOut(oForm, 'private',MyPrivate, Used(), Alias())
GO TOP
DO WHILE ! Eof()  
  PrintOut(oForm, RecNo(), FieldGet(1), FieldGet(2), FieldGet(3))      
  SKIP
ENDDO  
USE  

脚本调用 PrintOut 函数,并将收到的表单作为参数传递给它。然后,PrintOut 函数会在传给脚本的终端窗口中添加一行文本。USE、GO TOP 和 SKIP 命令都是 UDC,脚本编译器可以顺利处理。