AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Sintaxis WLanguage / Declaración de variables
  • Declaración de las enumeraciones
  • Pasar una enumeración como parámetro a una Procedure
  • Casos especiales
  • extension de enumeración
  • Creación de alias en una enumeración
  • Los valores de associated
  • Propiedades de la associated
  • Funciones disponibles de WLanguage
  • Límites
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Una enumeración es una set de valores. Una Enumeración Variable o parámetro sólo puede ser asignado con un valor de la enumeración.
Ejemplo
// Declaration code
// Declare an enumeration
RobotType is Enumération
Walk
Stopped
InMaintenance
OutOfOrder
END
// Declare an Enumeration variable
Post1 is RobotType
// Assign the variable
Post1 = Walk
// Post1 = 1 // Displays a compilation error
// Post1 = "Walk" // Displays a compilation error
Sintaxis

Declarar una enumeración Ocultar los detalles

<Enumeration name> is Enumeration
   <Enumeration values>
END
<Enumeration name>:
Nombre de la enumeración a declarar
<Enumeration values>:
Diferentes valores que pueden ser tomados por la enumeración.
<END>:
Fin de la declaración.

Declarando una Enumeración Variable Ocultar los detalles

<Variable name> is <Enumeration name>
<Variable name>:
Nombre de la Enumeración Variable a declarar.
<Enumeration name>:
Nombre de la enumeración que se declaró de antemano. El valor de enumeración de Default corresponde al primer valor de enumeración.
Observaciones

Declaración de las enumeraciones

Se debe declarar una enumeración en:
  • El código de inicialización del proyecto para ser utilizado en todos los procesos del proyecto (código de proyecto, código de ventanas, código de controles, procedimientos, etc.).
  • El código de declaración de las variables globales de una ventana para ser utilizadas en todos los procesos de la ventana (código de ventana, código de controles que se encuentran en la ventana, procedimientos locales, etc.).
  • El código de apertura de un reporte para ser utilizado en todos los procesos del reporte (código del reporte, código de controles que se encuentra en el reporte, procedimientos locales, etc.).
  • El código de declaración de una clase para ser utilizado en la clase.
    • Para acceder a esta enumeración desde un método de clase, utilice la siguiente sintaxis:
      "::<Enumeration name>"
    • Para acceder a esta enumeración desde un código externo a la clase, utilice la siguiente sintaxis:
      "<Class name>::<Enumeration name>"
  • El código de declaración de la set s de procedimientos para ser usado en todos los procedimientos de la set.
Observación: Una enumeración es siempre global:
  • a un proyecto,
  • a una ventana,
  • a un reporte,
  • a una clase.

Pasar una enumeración como parámetro a una Procedure

Una variable de Enumeración puede ser pasada como parámetro a una Procedure. Para ello, utilice la siguiente sintaxis:
<Procedure name>(<Name of enumeration variable>)
Por ejemplo:
// Procedure with an Enumeration parameter
PROCÉDURE OperatingMode(p is RobotType)

// Calls with an Enumeration parameter
OperatingMode(Walk)
OperatingMode(1) // Displays a compilation error
OperatingMode("A") // Displays a compilation error

Casos especiales

  • Entrada asistida: La entrada asistida para un parámetro de enumeración propone los diferentes valores de enumeración.
  • Orden de los valores: Los operadores <, <=, >, >= están disponibles para las enumeraciones así como para las operaciones de ordenación automatic (ArraySort, ArraySeek, etc.). El orden de los valores en la enumeración es el orden en que se declaran los valores.
    Ejemplo:
    // Declaration code
    // Declare an enumeration
    RobotType is Enumération
    Walk
    Stopped
    InMaintenance
    OutOfOrder
    END

    // Declare an Enumeration variable
    Post1 is RobotType
    // Assign the variable
    Post1 = Walk

    ...

    IF Post1>Stopped THEN
    Info("The robot encounters a problem")
    END

extension de enumeración

Una enumeración puede extender los valores de una o más enumeraciones tomando los valores de éstas y añadiendo nuevos valores.
Se utiliza la siguiente sintaxis:
<Enumeration name> is Enumeration
   [Base Enumeration]
   <Additional values of enumeration>
END
donde:
  • Nombre de la enumeración: Nombre de la enumeración que se declaró de antemano.
  • Enumeración de la base: Nombre de la enumeración de la base a utilizar.
  • Valores adicionales de enumeración: Valores adicionales que se tendrán en cuenta en la enumeración.
Ejemplo:
// Declaration code
// Declare an enumeration
RobotType is Enumération
Walk
Stopped
InMaintenance
OutOfOrder
END

AdvancedRobotType is Enumération
[RobotType]
InLoop
END
No se permite la asignación de un valor extendido en una enumeración de base.

Creación de alias en una enumeración

Usted tiene la capacidad de declarar alias para asegurar una compatibilidad temporal, por ejemplo.
Se utiliza la siguiente sintaxis:
<Enumeration name> is Enumeration
<Value 1 of enumeration>
<Value 2 of enumeration>
<Value 3 of enumeration> = <Value 1 of enumeration>
END
Ejemplo:
// Declaration code
// Declare an enumeration
RobotType is Enumération
Walk
Stopped
InMaintenance
OutOfOrder
// Declare the temporary aliases
Maintenance = InMaintenance
Breakdown = OutOfOrder
END

Los valores de associated

En WLanguage, un valor constante de tipo simple puede ser associated con cada valor de una enumeración. Este valor es associated con el valor de enumeración en la declaración de enumeración.
// Declare the enumeration with associated values
RobotType is Enumération
Walk = "Running the robot"
Stopped = "Robot stopped"
InMaintenance = "Robot under maintenance"
OutOfOrder = "Robot breakdown"
END
Entonces, tendrá la posibilidad de leer el valor asociado de una Enumeración Variable a través de Valor.
// Access to the associated value
e is RobotType
RobotMessage is string = e..Value
El valor de associated no tiene incidencia en los otros comportamientos de las enumeraciones. Especialmente si el orden de clasificación es idéntico al orden de declaración de los valores de la enumeración.

Propiedades de la associated

Las siguientes propiedades son associated con las variables de Enumeración:
denominarPermite conocer el nombre de una Enumeración Variable.
ValorPermite conocer el valor asociado de una Enumeración Variable.

Funciones disponibles de WLanguage

Una enumeración puede ser almacenada en un elemento HFSQL o en otro formato de archivo. Dependiendo de sus necesidades, puede almacenar el nombre o el valor de la enumeración (propiedades denominar o Valor, respectivamente).
Las siguientes funciones de WLanguage le permiten averiguar las características de una enumeración almacenada:
EnumerationCheckNameComprueba si un valor de enumeración conocido por su nombre es válido.
EnumerationCheckValueComprueba si un valor de enumeración conocido por su valor associated es válido.
EnumerationFromNameDevuelve un valor de enumeración conocido por su nombre.
EnumerationFromValueDevuelve un valor de enumeración conocido por su valor associated.

Límites

  • Las enumeraciones no están disponibles en la compilación dinámica.
  • Las enumeraciones no pueden utilizarse fuera del proyecto.
Versión mínima requerida
  • Versión 18
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 30/06/2023

Señalar un error o enviar una sugerencia | Ayuda local