|
|
|
|
|
- When should indirection be used?
- Identifying the current object
- Indirection on a structure
- Using the indirection on the paths in an XML document
- Limitations
- Indirections in Java
Operators { and operators } operators are used to access a field, variable, class member or data file item by dynamically constructing the name of the field, variable, class member or item. The { and } operators present several benefits: - Passing as parameter the name of a control, variable, class member or item.
- Building the name of a control, variable, class member or item programmatically.
{"NAME"} = CustName
{"NAME"} = {"CU.CUSTNAME"}
{"CUSTWIN.NAME"} = CustName
{"CUSTWIN"+".NAME"} = CustName
{"Name",indControl} = CustName
nFileName is string = "Customer"
{nFileName + ".Name"} = "Smith"
HAdd({nFileName})
ControlName is string
ControlName = "EDT_EDIT1"
Make_Invisible(ControlName)
PROCEDURE Make_Invisible(ControlN)
{NChamp}..Status = Invisible
AliasName is string
AliasName = PreviousWin()
{AliasName+".NAME"} = CustName
Abbrev is string
ItemName is string
{Abbrev+"."+ItemName} = CustName
{Abbrev+"."+ItemName} = {ControlName}
MyClass is Class
Member1 is string
Member2 is string
GLOBAL procedure DisplayMember(Number)
Value is string = {"::Member"+Number}
Info(Value)
c is cWord
var is Variable Description
Def is Definition
Def = GetDefinition(c)
var = Def..Variable[2]
Trace(var..Name)
Trace("Word version: ",{c, var})
Sintaxis <Expression>: Character string Expression used to identify the control, the variable or the item to use. The element is sought:- among the variables,
- according to the number of dots found in the name:
- 0 point: search among fields, then HFSQL items.
- 1 point: search among HFSQL items, fields, then query parameters.
- greater than 1 point: search among fields.
- among the special elements kept for compatibility (_Tabx for example, ...).
A WLanguage error occurs if this expression corresponds to an empty string (""). <Expression>: Character string Expression used to identify the class member.If the member is: - global, use the following syntax: {":: MemberName"}
- is not global, use the following syntax: {": MemberName"}
A WLanguage error occurs if this expression corresponds to an empty string (""). <Class>: Character string Class instance <Member>: Character string or Variable Description variable Corresponds to:
Indirection by specifying the element type (optimizes the execution speed) Ocultar los detalles
{ <Expression>, <Type> }
<Expression>: Character string Expression used to identify the control, the variable or the item to use. A WLanguage error occurs if this expression corresponds to an empty string (""). <Type>: Constant Constant used to specify the type of sought element: | | indControl | Element sought among the controls and the groups. | indConnection | Element sought among the connections. | indReport | Element sought among the reports. | indWindow | Element sought among the windows. | indFile | Item searched for in data files. | indGPW | Element sought among the elements of user groupware (used to retrieve the initial status of controls). | indLink | Element sought among the links. | indQueryParameter | Element sought among the parameters of queries. | indItem | Element sought among the items. | indVariable | Element sought among the variables. | indPage | Element sought among the pages. |
Observaciones When should indirection be used? The indirection can be used for example: - To access the value of an element (control, variable, item, ...):
{s_ControlName} = 10
ControlValue = {s_ControlName}
- To use a property:
{s_ControlName}..Height = 10
- To programmatically handle a column of a Table control:
{s_ColumnName, indControl}[Row_Number] = 10
- To handle a table column:
{s_TableName + "." +s_ColumnName, indControl}[Row_Number] = 10
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|