PC SOFT

AYUDA EN LÍNEA
DE WINDEV, WEBDEV Y WINDEV MOBILE

Este contenido proviene de una traducción automática.. Haga clic aquí para ver la versión original en inglés.
  • Panorama general
  • ¿Cómo declarar una variable?
  • Declarar una variable
  • Declarar una variable e inializarla
  • Declarando varias variables
  • Sintaxis detallada
  • Ejemplos
  • Asociar una sección crítica a una variable
  • ¿Cómo acceder a las propiedades de una variable?
  • sintáctico
  • Ejemplo
  • Regla para el alcance variable
  • dictaminar
  • Exception
  • Caso especial: Reportes & Consultas
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Otros
Procedimientos almacenados
Panorama general
Una variable se define por su nombre y por su tipo.
El tipo de variable define los valores que puede tomar la variable, su huella de memoria y las operaciones disponibles.
Recordatorio: Cada tipo se identifica con una palabra clave de WLanguage. Estas palabras clave son palabras reservadas.
Esta página de ayuda presenta:
Versiones 18 y posteriores
Para simplificar la declaración de variables, también tiene la posibilidad de utilizar la función tipo inferencia.
Nueva funcionalidad versión 18
Para simplificar la declaración de variables, también tiene la posibilidad de utilizar la función tipo inferencia.
Para simplificar la declaración de variables, también tiene la posibilidad de utilizar la función tipo inferencia.
¿Cómo declarar una variable?

Declarar una variable

<Variable name> is <Type>

Declarar una variable e inializarla

<Variable name> is <Type> = <Initial value>

Declarando varias variables

<Name of variable 1>, <Name of variable 2> are <Type>

Sintaxis detallada

<Nombre de la variable>:Nombre de la variable a declarar.
<Tipo>:Tipo de variable o tipo común a las variables declaradas (verTipos de variables disponibles).
<Valor inicial: Valor inicial de la variable (opcional). Este valor inicial depende del tipo de variable.
Notas:
  • Las palabras clave a y an son opcionales: proporcionan una mejor legibilidad.
  • Cuando se declaran e inicializan varias variables del mismo tipo en la misma línea, sólo se inicializa la última variable..
    Versiones 19 y posteriores
    Para declarar e inicializar varias variables al mismo tiempo, utilice la inicialización múltiple.
    Nueva funcionalidad versión 19
    Para declarar e inicializar varias variables al mismo tiempo, utilice la inicialización múltiple.
    Para declarar e inicializar varias variables al mismo tiempo, utilice la inicialización múltiple.
  • Varias variables con el mismo nombre no pueden ser utilizadas en el mismo proceso (independientemente del tipo de estas variables).
  • Versiones 15 y posteriores
    El atributo "useful" puede utilizarse al declarar una variable para especificar que se utiliza en el proyecto.. Esta notación evita mostrar la advertencia que indica que una variable local no está siendo utilizada.. 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">
    Nueva funcionalidad versión 15
    El atributo "useful" puede utilizarse al declarar una variable para especificar que se utiliza en el proyecto.. Esta notación evita mostrar la advertencia que indica que una variable local no está siendo utilizada.. 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">
    El atributo "useful" puede utilizarse al declarar una variable para especificar que se utiliza en el proyecto.. Esta notación evita mostrar la advertencia que indica que una variable local no está siendo utilizada.. 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

    Versiones 18 y posteriores
    Le tipo inferencia permite utilizar las siguientes sintaxis:
    let Amount = 1500.69 // real type
    let City = "Montpellier" // string type
    Nueva funcionalidad versión 18
    Le tipo inferencia permite utilizar las siguientes sintaxis:
    let Amount = 1500.69 // real type
    let City = "Montpellier" // string type
    Le tipo inferencia permite utilizar las siguientes sintaxis:
    let Amount = 1500.69 // real type
    let City = "Montpellier" // string type
Versiones 19 y posteriores
Declarar varias variables e inializarlas
<Name of variable 1>, <Name of variable 2>, ..., <Name of variable N> are <Type>
= (<Initial value 1>, <Initial value 2>, ..., <Initial value M>)
Detalles de la sintaxis
<Nombre de la variable>:Nombre de la variable a declarar.
N representa el número de variables declaradas.
<Tipo>:Tipo común a las variables declaradas (verTipos de variables disponibles).
<Valor inicial: Valor inicial de cada variable.
M representa el número de valores a asignar.
Notas:
  • 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 capacidad de asignar varias variables con valores diferentes en una sola línea de código.. Ver Asignación múltiple para más detalles.
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 ""
Nueva funcionalidad versión 19
Declarar varias variables e inializarlas
<Name of variable 1>, <Name of variable 2>, ..., <Name of variable N> are <Type>
= (<Initial value 1>, <Initial value 2>, ..., <Initial value M>)
Detalles de la sintaxis
<Nombre de la variable>:Nombre de la variable a declarar.
N representa el número de variables declaradas.
<Tipo>:Tipo común a las variables declaradas (verTipos de variables disponibles).
<Valor inicial: Valor inicial de cada variable.
M representa el número de valores a asignar.
Notas:
  • 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 capacidad de asignar varias variables con valores diferentes en una sola línea de código.. Ver Asignación múltiple para más detalles.
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 ""
Declarar varias variables e inializarlas
<Name of variable 1>, <Name of variable 2>, ..., <Name of variable N> are <Type>
= (<Initial value 1>, <Initial value 2>, ..., <Initial value M>)
Detalles de la sintaxis
<Nombre de la variable>:Nombre de la variable a declarar.
N representa el número de variables declaradas.
<Tipo>:Tipo común a las variables declaradas (verTipos de variables disponibles).
<Valor inicial: Valor inicial de cada variable.
M representa el número de valores a asignar.
Notas:
  • 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 capacidad de asignar varias variables con valores diferentes en una sola línea de código.. Ver Asignación múltiple para más detalles.
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 a una variable

Cuando se declara una variable, esta variable se puede asociar a una sección crítica utilizando el comando parte crítica atributo.
La sintaxis es la siguiente:
VariableName is VariableType <critical section>

or

VariableName is VariableType, critical section
Las secciones de código que utilizan estas variables deben encontrarse entre CriticalSectionStart y CriticalSectionEnd.
Caso especial: Una sección crítica se asocia automáticamente con las variables sobre las que se realizan operaciones simples, tales como:
  • asignando un valor.
  • recuperando un valor.
  • incrementat, decremento (+, -, ++, -, + =, - = 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
CriticalSectionStart(gcyMax)
IF cyAmountOrder > gcyMax THEN
gcyMax = cyAmountOrder
END
CriticalSectionEnd(gcyMax)
// 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
Notas:
  • El parte crítica está permitido para el atributo:
    • las variables globales del proyecto, el conjunto de los procedimientos, la ventana, la página y reporte.
    • las variables locales.
    • los miembros de las clases.
    • los arrays: en este caso, el atributo está asociado con el array y no con los array elementos.
  • Las colas y las pilas están protegidas en modo nativo: los parte crítica no es obligatorio.
AndroidWidget Android No disponible en Android ni en Android Widget.
¿Cómo acceder a las propiedades de una variable?

sintáctico

Si el tipo de variable incluye propiedades, se pueden utilizar las siguientes sintaxis:
  • Asignar una propiedad de la variable:
    <Variable name>..<Property> = <Value>
  • Lectura de una propiedad de la variable:
    <Variable name>..<Property>

Ejemplo

Uso de propiedades en un Franja de orilla tipo:
// Define the border characteristics
MyBorder is Border
MyBorder..Color = LightRed
MyBorder..Thickness = 5
Regla para el alcance variable

dictaminar

La regla para el alcance variable es la siguiente:
  • Si una variable "global" al proyecto y una variable "global" a una ventana tienen el mismo nombre:
    • la variable "global" a la ventana se utilizará en todos los eventos o procesos de los controles de ventana y 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:
    • la variable "local" sólo se utilizará en el proceso en el que se declaró esta 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:
    • la variable "local" sólo se utilizará en el proceso en el que se declaró esta variable.
    • la variable "global" de 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.
señalar: Las variables son específicas del ejecutable, del Webservice o de la sesión WEBDEV en la que han sido declaradas.
Versiones 18 y posteriores
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 una variable local fuera del bloque en el que se declara. El final de la variable se ejecuta al final del bloque (destructores y memoria liberadora).
Tiene la capacidad de redeclarar una variable con el mismo nombre en dos sub-bloques distintos, pero no puede redeclarar una variable con el mismo nombre en un sub-bloque hijo.
Esta opción está seleccionada por defecto para los nuevos proyectos.
Para modificar esta opción:
  1. Mostrar la ventana de descripción del proyecto: en la pestaña "Proyecto", en el grupo "Proyecto", haga clic en "Descripción".
  2. En la pestaña "Compilación", marque o desmarque "Alcance de las variables locales limitadas al bloque actual" "..
Nueva funcionalidad versión 18
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 una variable local fuera del bloque en el que se declara. El final de la variable se ejecuta al final del bloque (destructores y memoria liberadora).
Tiene la capacidad de redeclarar una variable con el mismo nombre en dos sub-bloques distintos, pero no puede redeclarar una variable con el mismo nombre en un sub-bloque hijo.
Esta opción está seleccionada por defecto para los nuevos proyectos.
Para modificar esta opción:
  1. Mostrar la ventana de descripción del proyecto: en la pestaña "Proyecto", en el grupo "Proyecto", haga clic en "Descripción".
  2. En la pestaña "Compilación", marque o desmarque "Alcance de las variables locales limitadas al bloque actual" "..
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 una variable local fuera del bloque en el que se declara. El final de la variable se ejecuta al final del bloque (destructores y memoria liberadora).
Tiene la capacidad de redeclarar una variable con el mismo nombre en dos sub-bloques distintos, pero no puede redeclarar una variable con el mismo nombre en un sub-bloque hijo.
Esta opción está seleccionada por defecto para los nuevos proyectos.
Para modificar esta opción:
  1. Mostrar la ventana de descripción del proyecto: en la pestaña "Proyecto", en el grupo "Proyecto", haga clic en "Descripción".
  2. En la pestaña "Compilación", marque o desmarque "Alcance de las variables locales limitadas al bloque actual" "..

Exception

La regla para el ámbito de aplicación variable no se aplica a la constantes y a laVariables de la fuente de datos.

Caso especial: Reportes & Consultas

  • Las variables globales del proyecto se pueden utilizar en los reportes y consultas creados y/o modificados en "Reports and Queries".
  • Los elementos para los que se verifica "Visible por el usuario final en "Reports and Queries"" " en el editor del modelo de datos se pueden utilizar en "Reports and Queries" ".. Si esta opción no está seleccionada, el elemento sólo se puede utilizar de forma indirecta (la función de autocompletar no está disponible para el usuario, el elemento no está disponible en los asistentes, las ventanas de descripción, ....).
Versión mínima requerida
  • Versión 14
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario