|
|
|
|
- ¿Cuándo se debe utilizar la indirección?
- Identificación del objeto actual
- Indirección sobre una estructura
- Usando la indirección en los caminos en un Document XML
- Limitaciones
- Indicaciones en Java
Los operadores { y } se utilizan para acceder a un control, un Variable, un miembro de la clase o un elemento del archivo construyendo dinámicamente el nombre del control, Variable, miembro de la clase o elemento. El { y } presentan varios beneficios: - Pasando en parámetro el nombre de un control, Variable, miembro de la clase o artículo.
- Construyendo el nombre de un control, Variable, miembro de la clase o artículo por programación.
// Simple indirection {"NAME"} = CustName // Is equivalent to NAME=CustName {"NAME"} = {"CU.CUSTNAME"} // Is equivalent to NAME=CU.CUSTNAME {"CUSTWIN.NAME"} = CustName // Is equivalent to CUSTWIN.NAME=CustName {"CUSTWIN"+".NAME"} = CustName // Is equivalent to CUSTWIN.NAME=CustName
// Typed indirection {"Name",indControl} = CustName
// Indirection with a file name in a variable nFileName is string = "Customer" {nFileName + ".Name"} = "Smith" HAdd({nFileName})
// Indirection in a procedure ControlName is string ControlName = "EDT_EDIT1" // EDT_EDIT1 is the name of the control // Call to a procedure used to make a control invisible Make_Invisible(ControlName)
PROCÉDURE Make_Invisible(ControlN) {ControlN}..State = Invisible
// Indirection with variable AliasName is string AliasName = PreviousWin() // NAME is the name of the control // CustName is the value to assign {AliasName+".NAME"} = CustName Abbrev is string ItemName is string {Abbrev+"."+ItemName} = CustName {Abbrev+"."+ItemName} = {ControlName}
// Declare a class with two members MyClass is Class Member1 is string Member2 is string // Display the value of a member GLOBAL procedure DisplayMember(Number) // Retrieve the value of the selected global member Value is string = {"::Member"+Number} Info(Value)
c is cWord var is Variable Description Def is Definition Def = GetDefinition(c) // Retrieves the 2nd variable of the class: version of Word var = Def..Variable[2] Trace(var..Name) // Displays the variable name Trace("Version of Word: ",{c, var}) // Displays the Word version
Sintaxis <Expression>: Cadena de caracteres Expresión utilizada para identificar el control, la Variable o el elemento a utilizar. Se busca el elemento:- entre las variables,
- según el número de puntos encontrados en el nombre:
- 0 punto: buscar entre los controles, luego los ítems HFSQL.
- 1 punto: buscar entre los elementos HFSQL, los controles y, a continuación, los parámetros de consulta.
- mayor que 1 punto: buscar entre los controles.
- entre los elementos especiales conservados para la compatibilidad (_Tabx por ejemplo, ....).
Se produce un error de WLanguage si esta expresión corresponde a una cadena vacía ("""). <Expression>: Cadena de caracteres Expresión utilizada para identificar al miembro de la clase.Si el miembro es: - global, utilice la siguiente sintaxis: {" :: Nombre del miembro"}
- no global, utilice la siguiente sintaxis: {" : Nombre del miembro"}
Se produce un error de WLanguage si esta expresión corresponde a una cadena vacía ("""). <Class>: Cadena de caracteres Instancia de clase <Member>: Cadena de caracteres o Variable description Variable Corresponde a:
Indirección especificando el tipo de elemento (optimiza la velocidad de ejecución) Ocultar los detalles
{ <Expression>, <Type> }
<Expression>: Cadena de caracteres Expresión utilizada para identificar el control, la Variable o el elemento a utilizar. Se produce un error de WLanguage si esta expresión corresponde a una cadena vacía ("""). <Type>: Constante Constante utilizada para especificar el tipo de elemento buscado: | | indControl | Elemento buscado entre los controles y los grupos. | indConnection | Elemento buscado entre las conexiones. | indReport | Elemento buscado entre los informes. | indWindow | Elemento buscado entre las ventanas. | indFile | Elemento buscado entre los expedientes. | indGPW | Elemento buscado entre los elementos de groupware usuario (utilizado para recuperar el estado inicial de los controles). | indLink | Elemento buscado entre los eslabones. | indQueryParameter | Elemento buscado entre los parámetros de las consultas. | indItem | Elemento buscado entre los ítems. | indVariable | Elemento buscado entre las variables. | indPage | Elemento buscado entre las páginas. |
Observaciones ¿Cuándo se debe utilizar la indirección? La indirección se puede utilizar, por ejemplo: - Para acceder al valor de un elemento (control, Variable, elemento, ...):
{s_ControlName} = 10 ControlValue = {s_ControlName}
- Para usar un Property:
{s_ControlName}..Height = 10
- Para programar manipular una columna de un control Tabla:
{s_ColumnName, indControl}[Row_Number] = 10
- A manipular una columna tabla:
{s_TableName + "." +s_ColumnName, indControl}[Row_Number] = 10
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|