// VDS 7 “Renaissance”

这门语言

DialogScript 语言:语法简洁,类型自由的变量、命令、100 多个函数、对话框元素与编译器指令一应俱全。

与其他编程语言不同,DialogScript 的语法极为简单。每条命令独占一行,并以浅显的英文命名,名字清晰地道出了它的用途。

语法

变量是无类型的,可以存放多种信息,例如数字或文本。函数也很好辨认,名字都以"@"开头,就像电子表格一样。

DialogScript 语言的语法十分简洁,与 MS-DOS 批处理语言颇为相似。它的设计宗旨,是在运行时引擎解释执行时兼顾易用与高效。系统变量共有 10 个,即 %0 到 %9:初始时 %0 存放脚本文件名,%1 至 %9 存放命令行参数,与批处理文件如出一辙。此外还有 26 个用户变量,即 %A 到 %Z。所有变量(包括系统变量)的内容,都可以在脚本运行期间更改。如今还新增了 4032 个全局变量。这类变量以 %% 开头,后接一个字母,再接字母、数字及下划线(例如 %%my_variable_1)。这些自定义变量名的长度没有限制。

对话框能力

脚本程序可以借助开发环境即时测试。随后你可以生成一个可执行文件,它能像任何其他 Windows 应用程序一样运行。由 Visual DialogScript 生成的可执行文件及其所需的运行时文件,均可免版税自由分发。如果你要为互联网分发而开发程序,不妨留意:Visual DialogScript 的运行时文件比任何同类开发系统都要小。

使用 Visual DialogScript,你可以创建完全静默、在后台运行的程序,使用控制台窗口的程序,以及带有图形用户界面(GUI)的 Windows 程序。大多数 GUI 版 DialogScript 程序拥有固定大小的主窗口或对话框(这正是 dialog 一名的由来),但只需稍加几行代码,你也能让程序窗口可调整大小。

GUI 程序的用户界面由 DialogScript 代码生成。你既可以亲手编写这些代码,也可以使用对话框设计器(Dialog Designer)以可视化方式设计程序界面(这便是名字中 visual 一词的来历)。在对话框设计器中完成设计后,它会生成相应的代码来实现你的设计。而只要你不对这些代码做太多手动改动,随时都可以再用对话框设计器来编辑它。

对话框元素

对话框元素,是指按钮、输入框、列表框这类放置在窗口或对话框上的部件,让用户能够接收信息并与脚本程序交互。它们通过 DIALOG ADD 命令创建。这些命令的参数指定了对话框元素的类型、名称(用于在程序中引用该元素),以及创建元素所需的信息,例如位置和大小。

<name> 参数是必填的。大多数对话框元素至少还需要顶部和左侧的位置坐标。其余许多参数则是可选的,可以留空或省略;一旦省略,DialogScript 会采用合适的默认值。位置坐标相对于对话框窗口的客户区。各参数若存在,则追加在元素名称之后,并以逗号分隔。

命令

与标签不同,命令无需从行首第一个字符起写。建议用空格缩进它们,以提升可读性。命令或内置于 DialogScript 语言之中,或可通过扩展来添加。DialogScript 5 还支持用户自定义命令。

一条命令由命令名(参见命令参考)构成,其后可选地跟一个字符串。该字符串用作命令的实参(或参数)。许多命令只有单个实参,但也有些不止一个,此时便用逗号来分隔各参数。命令与第一个参数之间必须以空格分隔。命令不区分大小写。

以下是一些命令示例:

TITLE My first script
INIFILE WRITE,Reg_Info,UserName,Fred Bloggs

字符串中可以包含变量和函数引用,它们会在命令执行之前先被求值。

函数

DialogScript 内含 100 多个函数(参见函数参考),它们在运行时求值,并返回一个包含信息的字符串。额外的函数可通过扩展来添加。DialogScript 5 还支持用户自定义函数。

函数以 @ 符号开头,后接函数名。函数的实参以括号括起的字符串形式给出。即便函数不接受任何参数,括号也必须存在。对于接受多个参数的函数,各参数之间以逗号分隔。

以下是一些函数示例:

%A = @ASK(Do you want to continue?)
%A = @EQUAL(%F,WIN.INI)

请注意,由于 @ 符号被用于标识函数,因此你不能将它用作其他用途(例如出现在文本中),除非将其置于双引号之内。

编译器

以下是 Visual DialogScript 中可用的编译器指令一览:

  • #DEFINE COMMAND —— 声明所有非 VDS 内置的命令名。
  • #DEFINE FUNCTION —— 声明所有非 VDS 内置的命令名与函数名。
  • #RESOURCE ADD, ANIICON —— 添加一个动画图标资源。
  • #RESOURCE ADD, BITMAP —— 添加一个位图资源。
  • #RESOURCE ADD, CURSOR —— 添加一个光标资源。
  • #RESOURCE ADD, ICON —— 添加一个图标资源。
  • #RESOURCE ADD, TEXT —— 添加一个文本资源。
  • #RESOURCE ADD, —— 添加一个用户自定义类型的资源。
  • #INCLUDE —— 允许程序从多个脚本文件中引入代码。

用 VDS 7 构建它。

完整的 IDE + 语言。Windows & Linux · 32/64 位 · Unicode。