Vars

Vars对象表示用户和脚本定义的变量的集合。有许多不同的变量集,具有不同的范围。有些集支持持久变量,这些变量从一个会话保存并重新加载到另一个会话。

范围

访问方式

支持持久性

说明

全局

DOpus.vars

Opus 中可用的变量。任何函数或脚本都可以访问它们。

文件窗口

文件窗口中的局部变量。持久变量在文件窗口布局中以每个文件窗口的方式保存。

标签页

Tab.vars

特定标签页中的局部变量。持久变量在文件窗口布局中以每个标签页的方式保存。

脚本

特定脚本加载项中的局部变量。

对话框

Dialog.Vars

与特定 脚本对话框绑定的变量。

命令

Command.vars

特定函数中的局部变量。它们不会从函数的一次调用保存到另一次调用,也不支持持久性。

属性名称返回值类型说明

<默认值>

集合:Var

返回集合中的变量集合。你可以枚举 Var 元素或通过其索引或名称引用某个特定元素。关于如何进行此操作的示例在 Set 文档中(见下文)。

方法名称

参数

返回值类型

说明

Delete

<string:name>

从集合中删除名为变量。你还可以指定 通配符模式 以删除多个变量(或对所有变量使用 *)。

Exists

<string:name>

bool

如果集合中存在名为变量,则返回 True,如果不存在,则返回 False

Get

<string:name>

variant

返回名为变量的值。 你可以使用此方法作为索引集合的替代方法。需要注意的一个区别是,此方法直接返回存储在变量中的 。如果你需要包含该值(例如,要调用 var.Delete 或更改 var.persist) 的 Var 对象,则应该改索引该集合。关于如何进行此操作的示例在 Set 文档中(见下文)。

Set

<string:name> <variant:value>

将名为值设置为指定的值。 你可以使用此方法作为索引集合的替代方法。

你可以在 Vars 集合中存储任何类型的变量,但并非所有类型都可以保存到磁盘。如果你希望你的变量具有持久性,则应仅使用 boolintstringdatecurrency 或者这些类型的 Vector。 默认情况下,变量不具有持久性。如果你需要在重新启动后保存它们,则需要显式请求。以下是在 VBScript 中的一个示例: `Dim varName, varValue1, varValue2 varName = "MyVariableName"

if (DOpus.Vars.Exists(varName)) then varValue1 = DOpus.Vars.Get(varName) DOpus.Output varName & " = " & varValue1 else DOpus.Output varName & " does not exist yet." end if

varValue2 = "My Variable Value"

DOpus.Vars.Set varName, varValue2 DOpus.Vars(varName).persist = True`

以下是在 JScript 中的相同示例: `var varName = "MyVariableName";

if (DOpus.Vars.Exists(varName)) { var varValue1 = DOpus.Vars.Get(varName); DOpus.Output(varName + " = " + varValue1); } else { DOpus.Output(varName + " does not exist yet."); }

var varValue2 = "My Variable Value";

DOpus.Vars.Set(varName, varValue2); DOpus.Vars(varName).persist = true;`

在第一次运行时,示例代码会表示变量不反对并将其设置为某个值,之后再打开持久性。如果再次运行它,它将报告变量的值,并且该值会在重新启动后保持存在。

最后更新于