|
|
|
|
|
- Declarar enumeraciones
- Pasar una enumeración como parámetro a un procedimiento
- Casos especiales
- Extensibilidad de enumeraciones
- Crear un alias en una enumeración
- Valores asociados
- Propiedades asociadas
- Funciones WLanguage disponibles
- Limitaciones
Enumeration (Tipo de variable)
Una enumeración es un conjunto de valores. Solo un valor del conjunto de datos de la enumeración se puede asignar a una variable o parámetro de tipo Enumeration. // 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 un valor de enumeración Ocultar los detalles
<Enumeration name> is Enumeration <Enumeration values> END
<Enumeration name>: Nombre del valor de la enumeración a declarar <Enumeration values>: Diferentes valores que pueden ser tomados por la enumeración. <END>: Fin de la declaración.
Declarar una variable de tipo Enumeration Ocultar los detalles
<Variable name> is <Enumeration name>
<Variable name>: Nombre de la variable de tipo Enumeration a declarar. <Enumeration name>: Nombre de una enumeración declarada anteriormente. El valor predeterminado de la enumeración corresponde al primer valor de la enumeración. Observaciones Una enumeración debe declararse en: - El código de inicialización del proyecto para poder utilizarla en todos los procesos del proyecto (código del proyecto, ventanas, controles, procedimientos, etc.).
- El código de declaración global de una ventana para poder utilizarla en todos los procesos de la ventana (código de la ventana, controles de la ventana, procedimientos locales, etc.).
- El código de apertura de un reporte para poder utilizarla en todos los procesos del reporte (código del reporte, controles del reporte, procedimientos locales, etc.).
- El código de declaración de una clase para poder utilizarla en la clase.
- Para acceder a esta enumeración desde un método de clase, utilice la siguiente sintaxis:
- Para acceder a esta enumeración desde fuera de la clase, utilice la siguiente sintaxis:
"<Class name>::<Enumeration name>"
- El código de declaración de un conjunto de procedimientos para poder utilizarla en todos los procedimientos del conjunto.
Observación: Una enumeración siempre es global: - a un proyecto,
- a una ventana,
- a un reporte,
- a una clase.
Pasar una enumeración como parámetro a un procedimiento Una variable de tipo Enumeration puede pasarse como parámetro a un procedimiento. 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 - Sugerencias de código: Las sugerencias de código para un parámetro de tipo Enumeration incluyen los diferentes valores de la enumeración.
- Orden de los valores: Los operadores <, <=, >, >= están disponibles para enumeraciones y operaciones de ordenación automática (ArraySort, ArraySeek, etc.). El orden de los valores en la enumeración es el orden en que se declaran estos 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
Extensibilidad de enumeraciones Puede incluir uno o varios valores de otras enumeraciones y agregar nuevos valores. La sintaxis utilizada es la siguiente: <Enumeration name> is Enumeration [Base enumeration] <Additional enumeration values> END donde: - Enumeration name: Nombre de una enumeración declarada anteriormente.
- Base enumeration: Nombre de la enumeración base a utilizar.
- Additional enumeration values: 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 pueden asignar valores de extensión en una enumeración base. Crear un alias en una enumeración Puede declarar un alias para garantizar una compatibilidad temporal, por ejemplo. La sintaxis utilizada es la siguiente: <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
Valores asociados En WLanguage, puede asociar un valor constante simple a cada valor de una enumeración. Este valor se asocia con el valor de la enumeración en la declaración de la 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
A continuación, es posible leer el valor asociado a una variable de tipo Enumeration utilizando la propiedad Value. // Access to the associated value e is RobotType RobotMessage is string = e..Value
El valor asociado no tiene ningún efecto sobre otras características de la enumeración. Por ejemplo, los valores se ordenan en el mismo orden en que se declararon en la enumeración. Propiedades asociadas Las siguientes propiedades están asociadas a las variables de tipo Enumeration: | | Name | Obtiene el nombre de una variable de tipo Enumeration. | Value | Obtiene el valor de una variable de tipo Enumeration. |
Funciones WLanguage disponibles Una enumeración puede almacenarse en un campo HFSQL o en otro formato de archivo. Dependiendo de sus necesidades, puede almacenar el nombre o el valor de la enumeración (propiedades Name o Value, respectivamente). Las siguientes funciones WLanguage permiten obtener las características de una enumeración almacenada:
Limitaciones - Las enumeraciones no están disponibles en la compilación dinámica.
- Las enumeraciones no pueden utilizarse fuera del proyecto.
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|