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. |
Script |
Script.vars |
Yes |
Variables that are local to a particular script add-in. |
Dialog |
Dialog.Vars |
Yes |
Variables that are tied to a particular script dialog. |
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. |
Property Name |
Return Type |
Description |
---|---|---|
<default value> |
collection:Var |
Returns a collection of the variables in the collection. You can enumerate the Var elements or refer to a specific one by its index or by its name. An example of how to do that is in the Set documentation, below. |
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. Once 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> |
none |
Sets the named value to the specified value. You can use
this method as an alternative to indexing the collection. 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. |