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. |
Set |
<string:name> |
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. 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. |