Type | Description | |||
Template as String | A Template string being executed |
Return | Description | |||
Variant | A String expression that indicates the result after executing the Template. |
For instance, the following sample adds a few items, displays the context menu and returns the selected identifier :
Set n = New EXCONTEXTMENULib.ExContextMenu Debug.Print (n.ExecuteTemplate("Items.ToString = `Item A[id=1001],Item B,Item C,Item D`;Select()"))
The Template or x-script is composed by lines of instructions. Instructions are separated by "\n\r" ( newline characters ) or ";" character. The ; character may be available only for newer versions of the components.
The Template/x-script syntax in BNF notation is defined like follows:
<x-script> := <lines> <lines> := <line>[<eol> <lines>] | <block> <block> := <call> [<eol>] { [<eol>] <lines> [<eol>] } [<eol>] <eol> := ";" | "\r\n" <line> := <dim> | <createobject> | <call> | <set> | <comment> <dim> := "DIM" <variables> <variables> := <variable> [, <variables>] <variable> := "ME" | <identifier> <createobject> := "CREATEOBJECT(`"<type>"`)" <call> := <variable> | <property> | <variable>"."<property> | <createobject>"."<property> <property> := [<property>"."]<identifier>["("<parameters>")"] <set> := <call> "=" <value> <property> := <identifier> | <identifier>"("[<parameters>]")" <parameters> := <value> [","<parameters>] <value> := <boolean> | <number> | <color> | <date> | <string> | <createobject> | <call> <boolean> := "TRUE" | "FALSE" <number> := "0X"<hexa> | ["-"]<integer>["."<integer>] <digit10> := 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 <digit16> := <digit10> | A | B | C | D | E | F <integer> := <digit10>[<integer>] <hexa> := <digit16>[<hexa>] <color> := "RGB("<integer>","<integer>","<integer>")" <date> := "#"<integer>"/"<integer>"/"<integer>" "[<integer>":"<integer>":"<integer>"]"#" <string> := '"'<text>'"' | "`"<text>"`" <comment> := "'"<text>
where:
<identifier> indicates an identifier of the variable, property or method, and should start with a letter.
<type> indicates the type the CreateObject function creates, as a progID
<text> any string of characters
An x-script instruction/line can be one of the following:
The x-script may uses constant expressions as follow:
Also , the template or x-script code may support general functions as follows: