Vars
The Vars object represents a collection of user and script-defined variables. There are a number of different sets of variables, with differing scopes. Some sets support persistent variables, that are saved and re-loaded from one session to the other.
Scope
Accessed by
Supports Persistence
Description
Global
DOpus.vars
Yes
Variables that are available throughout Opus. They can be accessed by any function or script.
Lister
Lister.vars
Yes
Variables that are local to a Lister. Persistent variables are saved on a per-Lister basis in Lister Layouts.
Tab
Tab.vars
Yes
Variables that are local to a particular tab. Persistent variables are saved per-Tab in Lister Layouts.
Command
Command.vars
No
Variables that are local to a particular function. They are not saved from one invocation of the function to another and do not support persistence.
Method Name
Arguments
Return Type
Description
Delete
<string:name>
none
Deletes the named variable from the collection. You can also specify a wildcard pattern to delete multiple variables (or * for all).
Exists
<string:name>
bool
Returns True if the named variable exists in the collection, or False if it doesn't exist.
Get
<string:name>
variant
Returns the value of the named variable. You can use this method as an alternative to indexing the collection. One difference to note is that this method directly returns the value stored in the variable. If you need the Var object which contains the value (for example, to call var.Delete or change var.persist) then you should index the collection instead. An example of how to do that is in the Set documentation, just below.
Set
<string:name> <variant:value>
none
Sets the named value to the specified value. You can use this method as an alternative to indexing the collection.
You can store any type of variable in a Vars collection, although not all types can be saved to disk. If you want your variable to be persistent you should only use bool, int, string, date, currency or a Vector of those types. Variables are not persistent by default. If you need them to be saved across a restart, you need to request it explicitly. Here is an example in 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`
Here is the same example in 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;`
On the first run, the example code will say the variable does not against and set it to a value, turning on persistence afterwards. If it is then run again, it will report the variable's value, and the value will persist across a restart.
最后更新于