|
|
|
|
- Presentación
- ¿Cómo se declara un Variable?
- Declarar una variable
- Declarando una Variable e iniciándola
- Declarando varias variables
- Sintaxis detallada
- Ejemplos
- Asociar una sección crítica con una Variable
- ¿Cómo acceder a las propiedades de un Variable?
- Sintaxis
- Ejemplo
- Regla para el alcance de Variable
- dictaminar
- Excepción
- Caso especial: Reports & Queries
- Conflicto de nombres: El uso ambiguo de un tipo
Declarar y usar un Variable
Una variable se define por nombre y tipo. El tipo de variable determina los valores que puede tomar la variable, el uso de memoria y las operaciones disponibles. Recordatorio: Cada tipo se identifica con una palabra clave de WLanguage. Las palabras clave son palabras reservadas. Esta página de ayuda presenta: Para simplificar la declaración de las variables, también tiene la posibilidad de utilizar el sistema inferencia de tipo. ¿Cómo se declara un Variable? Declarar una variable <Variable name> is <Type> Declarando una Variable e iniciándola <Variable name> is <Type> = <Initial value> Declarando varias variables <Variable name 1>, <Variable name 2> are <Type> Sintaxis detallada | | <Nombre de variable>: | Nombre de la variable a declarar. | <Tipo>: | Tipo de la Variable o tipo común a las Variable declaradas (véase Tipos de variables disponibles). | <Valor inicial>: | Valor inicial de la Variable (opcional). Este valor inicial depende del tipo de Variable. | Observaciones: - Las palabras clave a y an son opcionales: proporcionan una mejor legibilidad.
- Cuando se declaran e inicializan varias Variable s del mismo tipo en la misma línea, sólo se inicializa la última Variable.
Para declarar e inicializar varias variables al mismo tiempo, utilice la inicialización múltiple. - No se pueden utilizar varias variables con el mismo nombre en la misma Process (independientemente del tipo de estas variables).
- El atributo "útil" puede utilizarse al declarar un Variable para especificar que se utiliza en el proyecto. Esta notación evita mostrar la advertencia que indica que un Variable local está sin usar. En este caso, se debe utilizar la siguiente sintaxis:
<Variable name> is <Type>, useful[ = "Reason"]
<Variable name> is <Type> <useful [ = "Reason"]> "Razón" es una nota para el desarrollador. Ejemplo:
n1 is int, useful = "Variable required by the Webservice"
n2 is int <useful = "Variable required by the Webservice">
Ejemplos - Declarar variables simples:
CustomerName is string Counter is int Price is real i,j,k are int
La inferencia de tipo permite utilizar las siguientes sintaxis:
let Amount = 1500.69 // real type let City = "Montpellier" // string type
- Declarar una Border Variable:
Declarar varias variables e inializarlas
<Variable name 1>, <Variable name 2>, ..., <Variable name N> are <Type> = (<Initial value 1>, <Initial value 2>, ..., <Initial value M>) Detalles de la sintaxis
| | <Nombre de variable>: | Nombre de la variable a declarar. N representa el número de variables declaradas. | <Tipo>: | Tipo común a las variables declaradas (véase Tipos de variables disponibles). | <Valor inicial>: | Valor inicial de cada Variable. M representa el número de valores a asignar. | Observaciones:- Las asignaciones se realizan de izquierda a derecha.
- Si el número de variables es menor que el número de valores (N menos que M), se producirá un error de compilación.
- Si el número de variables es mayor que el número de valores (N mayor o igual a M), sólo se asignarán las primeras variables.
- También tiene la posibilidad de asignar varias variables con diferentes valores en una sola Line de código. Para obtener más información, consulte Asignación múltiple.
Ejemplos: x, y, z are int = (1, 10, 4) // x is set to 1, y to 10 and z to 4
s, t, p are strings = ("A", "B001") // s is set to "A", t to "B001" and p to ""
Asociar una sección crítica con una Variable Al declarar una variable, se puede asociar a una sección crítica utilizando el atributo critical section. La sintaxis es la siguiente: VariableName is VariableType <critical section>
or
VariableName is VariableType, critical section Caso especial:
Una sección crítica se asocia automáticamente a las variables en las que se realizan operaciones simples, tales como: - asignar un valor.
- recuperar un valor.
- incrementar, decrementar (+, -, ++, --, +=, -= operadores +, -, ++, --, += -=).
Ejemplo:
// Global declarations of WIN_STAT window gcySum is currency, critical section gcyMax is currency, critical section ...
// Code run by several threads cyOrderAmount is currency ... // atomic operation, the critical section is automatically managed by WLanguage gcySum += cyAmountOrder
// multiple operation, it is necessary to implement the critical section explicitly USING CriticalSection(gcyMax) IN IF cyAmountOrder > gcyMax THEN gcyMax = cyAmountOrder END END
Observaciones:
- El atributo critical section está permitido en:
- las variables globales del proyecto, conjunto de procedimientos, ventana, página y reporte.
- las variables locales.
- los miembros de clases.
- los arrays: en este caso, el atributo está asociado al array y no a los elementos del array.
- Las colas y las pilas están protegidas de forma predeterminada: el atributo critical section no es necesario.
¿Cómo acceder a las propiedades de un Variable? Sintaxis Las siguientes sintaxis pueden ser usadas si el tipo de Variable incluye propiedades: - Asignando un Property del Variable:
<Variable name>.<Property> = <Value> - Leyendo un Property del Variable:
<Variable name>.<Property>
Ejemplo Utilización de las propiedades de un tipo de Border: // Define the border characteristics MyBorder is Border MyBorder.Color = LightRed MyBorder.Thickness = 5
Regla para el alcance de Variable dictaminar La regla para el alcance de Variable es la siguiente: - Si una variable "global" al proyecto y una variable "global" a una ventana tienen el mismo nombre:
- el Variable "global" a la ventana se utilizará en todos los eventos o procesos de la ventana y los controles de la ventana, así como en sus procedimientos "locales".
- la variable "global" al proyecto se utilizará en los demás procesos.
- Si una variable "global" al proyecto y una variable "local" a un proceso tienen el mismo nombre:
- el "local" Variable sólo se usará en el Process donde se declaró este Variable.
- la variable "global" al proyecto se utilizará en los demás procesos.
- Si una variable "global" a una ventana y una variable "local" a un proceso de esta ventana tienen el mismo nombre:
- el "local" Variable sólo se usará en el Process donde se declaró este Variable.
- el Variable "global" a la ventana se utilizará en todos los demás eventos o procesos de la ventana y sus controles (así como en sus procedimientos "locales").
- ninguna de estas dos variables puede ser utilizada en el resto del proyecto.
Observación: Las variables son específicas del ejecutable, del Webservice o de la sesión WEBDEV en la que han sido declaradas. Opción de compilación Se utiliza una opción de compilación para gestionar el alcance de las variables locales.: Alcance de las variables locales limitadas al bloque actual. Si se selecciona esta opción, las variables locales serán específicas del bloque. No se puede utilizar un Variable local fuera del bloque en el que se declara. El final de la Variable se ejecuta al final del bloque (destructores y liberando la memoria). Tienes la capacidad de redeclarar un Variable con el mismo nombre en dos sub-bloques distintos pero no puedes redeclarar un Variable con el mismo nombre en un sub-bloque infantil. Esta opción es seleccionada por Default para los nuevos proyectos. Para modificar esta opción: - Abra la ventana de descripción del proyecto: en la pestaña "Proyecto", en el grupo "Proyecto", haga clic en "Descripción".
- En la pestaña "Compilación", marque o desmarque "Alcance de las variables locales limitadas al bloque actual".
Caso especial: Reports & Queries - Las variables globales del proyecto se pueden utilizar en los reportes y consultas creados y/o modificados en "Reports and Queries".
- Los campos para los cuales la opción "Visible para el usuario final en "Reports and Queries"" está seleccionada en el editor de análisis se pueden utilizar en "Reports and Queries". Si esta opción no está marcada, el artículo sólo puede ser utilizado por vía indirecta (la función de autocompletar no está disponible para el usuario, el artículo no está disponible en las ventanas de los asistentes, description, etc.).
Conflicto de nombres: El uso ambiguo de un tipo Un tipo de WLanguage puede tener el mismo nombre que otro tipo añadido al proyecto por un elemento importado (clases de ensamblaje .NET, tipos estructurados de Webservice, etc.). En este caso, use el prefijo WL para forzar el tipo de WLanguage al declarar un Variable. Ejemplo: // Force the use of the WLanguage XMLDocument type // if the XMLDocument type exists elsewhere MyVariable is WL.XMLDocument
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|