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 / Editores / Editor de análisis  / Modelo Lógico de Datos
  • Presentación
  • Creación de elementos de enumeración y combinación en el editor de modelo de datos
  • Creación de una posición de enumeración
  • Crear un artículo combinado
  • "Convertir" un elemento existente al tipo Enumeración o Combinación
  • "Convertir" un elemento en una variable Enumeración o Combinación
  • Utilizar un elemento entero o de cadena
WINDEV
WindowsLinuxJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac Catalyst
Otros
Procedimientos almacenados
Presentación
WINDEV, WEBDEV y WINDEV Mobile proponen los tipos Enumeración y Combinación.. Los tipos se utilizan para gestionar conjuntos de valores.
Esta página de ayuda lo explica:
Creación de elementos de enumeración y combinación en el editor de modelo de datos

Creación de una posición de enumeración

Para crear un elemento de Enumeración:
  1. Cree un nuevo campo en la ventana de descripción de los campos del archivo de datos (opción "Descripción de los campos" en el menú contextual del archivo de datos en el editor.
  2. Elija el tipo "Enumeración, Combinación.
  3. En la pestaña "General" de la descripción del elemento, haga clic en el botón que se encuentra a la derecha del cuadro combinado "Tipo" y seleccione "Crear una nueva enumeración".
    Nueva enumeración
  4. Aparece la ventana para editar una enumeración:
    Editar una enumeración
    • Especifique el nombre de la enumeración.
    • Añada valores (botón ) o escriba los valores en la tabla.
    • Para cada valor, especifique (si es necesario) el valor asociado o el alias (un alias es un valor de enumeración que tiene el mismo valor que otro valor de enumeración pero con un nombre diferente).
Esta enumeración puede utilizarse como cualquier variable Enumeration definida en el editor de código. Para obtener más información, consulte El tipo de enumeración.
Nota: Si ha definido una variable de enumeración en el editor de código y desea utilizarla en un elemento del análisis, deberá crear de nuevo la enumeración en el editor de modelo de datos.

Crear un artículo combinado

Para crear un elemento combinado:
  1. Cree un nuevo campo en la ventana de descripción de los campos del archivo de datos (opción "Descripción de los campos" en el menú contextual del archivo de datos en el editor.
  2. Elija el tipo "Enumeración,Combinación
  3. En la pestaña "General" de la descripción del artículo, haga clic en el botón situado a la derecha del cuadro combinado "Tipo" y seleccione "Crear una nueva combinación".
  4. Aparece la ventana para editar una combinación:
    Editar una combinación
    • Especifique el nombre de la combinación.
    • Añada valores (botón ) o escriba los valores en la tabla.
    • Para cada valor, especifique (si es necesario) el valor asociado o el alias.
Esta combinación puede utilizarse como cualquier variable de combinación definida en el editor de código. Para obtener más información, consulte Tipo de combinación.
Nota: Si ha definido una variable de combinación en el editor de código y desea utilizarla en un elemento del análisis, deberá crear de nuevo la combinación en el editor de análisis.
"Convertir" un elemento existente al tipo Enumeración o Combinación
Si sus archivos de datos existentes utilizan elementos que deben transformarse en Enumeración o Combinación (para simplificar el mantenimiento del código, evitar asignar valores no deseados, etc.), puede hacerlo:
  • "convertir" el elemento existente en variable Enumeración o Combinación. Esta solución es estricta, pero es compleja de implementar (especialmente si tiene archivos de datos en producción).
  • utilizar un elemento entero o de cadena para almacenar el valor o el nombre de los elementos encontrados en la enumeración o en la combinación. Esta solución es más fácil de implementar, pero no evita que se almacenen valores no deseados. También se puede utilizar para almacenar un valor de enumeración o combinación en una base de datos que no sea HFSQL (MySQL, Oracle, etc.) en la que no estén disponibles los tipos Enumeración y Combinación.

"Convertir" un elemento en una variable Enumeración o Combinación

La "conversión" debe realizarse en varios pasos:
  1. Añada un nuevo elemento "Enumeración, Combinación" en la descripción del archivo de datos deseado (véanse los apartados anteriores).
  2. Modificar los archivos de datos físicos. Esta modificación se puede hacer:
    • desde el editor de análisis del modelo de datos a través de "Sincronización de la estructura y los datos implementados". Utilice esta solución si puede acceder directamente a los archivos de datos desde el ordenador del desarrollador.
    • programáticamente utilizando HModifyStructure. Utilice esta solución si no puede acceder a los archivos de datos (aplicaciones implementadas, por ejemplo).
  3. Rellenar el nuevo elemento Enumeración o Combinación a partir del contenido del elemento entero o cadena de origen.. Todo lo que tienes que hacer es utilizar EnumerationFromValue o CombinationFromValue. Esta función devuelve la opción de la enumeración o combinación a partir de un valor dado.
    Nota: Debe haber definido un valor para cada opción de la enumeración o combinación. Si el nombre de la opción se utiliza como valor, utilice EnumerationFromName o CombinationFromName.
    // If the Status item (integer) contains a valid value for the enumeration
    IF EnumerationCheckValue(EOrderStatus, Order.Status) THEN
    	// Fills the Enumeration item with the corresponding value
    	Order.EnumStatus = EnumerationFromValue(EOrderStatus, Order.Status)
    	// Modifies the record
    	HModify(Order)
    END
  4. Elimina el elemento entero o cadena anterior.
  5. Renombra (si es necesario) el nuevo elemento con el nombre del anterior.

Utilizar un elemento entero o de cadena

También puede utilizar una enumeración o combinación sin modificar su análisis actual. Puede almacenar el valor o el nombre de la opción de enumeración o combinación en una variable entera o de cadena.
En este caso, las conversiones se realizan durante las operaciones de lectura y escritura a través de las funciones WLanguage.
Por ejemplo, para la siguiente enumeración:
// Enumeration with associated values
EOrderStatus is Enumeration
	WaitingForValidation = 1
	Prepared = 2
	Shipped = 3
	InDelivery = 4
	Delivered = 5
END
El estado del pedido puede almacenarse en un elemento cuyo tipo sea:
  • entero: en este caso, se almacenará el valor de la opción (1, 2, ...),
  • cadena de caracteres: en este caso, se almacenará el nombre de la opción (WaitingForValidation, Preparing, etc.).
Nota: Si no se define explícitamente ningún valor para las opciones, el valor de la opción será equivalente a su nombre.
Para recuperar la enumeración o la combinación del elemento, utilice las siguientes funciones de WLanguage:
Por ejemplo:
// Reads the desired record
HReadFirst(Order)
// Defines an Enumeration variable
eMyOrder is EOrderStatus
// Retrieves the enumeration from the item
eMyOrder = EnumerationFromValue(EOrderStatus, Order.OrderStatus)
Para asignar un elemento de una enumeración o de una combinación, tiene la posibilidad de especificar directamente la variable Enumeración o Combinación. Permite asignar directamente el valor definido para la opción (equivalente a Valor).
// Defines an Enumeration variable
eMyOrder is EOrderStatus
// Applies a value to the variable
eMyOrder = WaitingForValidation
// Assigns the Enumeration variable to the item
// Equivalent to Order.OrderStatus = eMyOrder.Value
Order.OrderStatus= eMyOrder
Para almacenar el texto de la opción, puede utilizar la propiedad Nombre.
// Stores the name of the option in the item
Order.OrderStatus= eMyOrder..Name
Versión mínima requerida
  • Versión 20
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 30/01/2025

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