AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / WLanguage / Sintaxis WLanguage / Declaración de variables
  • Declarar combinaciones
  • Activar o desactivar las opciones de una combinación
  • Leer las opciones de una combinación
  • Pasar una combinación como parámetro a un procedimiento
  • Sugerencias de código
  • Extensión de la combinación
  • Combinaciones predefinidas
  • Exclusión mutua
  • Propiedades asociadas
  • Funciones WLanguage disponibles
  • Limitaciones
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 combinación es un conjunto de opciones. Puede asignar una o varias opciones de combinación a una variable o parámetro de tipo Combination, o no asignar ningún valor.
Ejemplo
// Declaration code
// Declare a combination
CombinationType is Combination
	CreateFile
	ReadFile
	WriteFile
	DeleteFile
END
// Declare a Combination variable
FileAction is CombinationType
// Assign the variable
FileAction = ReadFile + WriteFile
// FileAction = 0 // Disables all the options
...

// To test the value of the combination:
IF FileAction[WriteFile] THEN
	// The WriteFile option is enabled
ELSE
	// The WriteFile option is not enabled
END
Sintaxis

Declarar una combinación Ocultar los detalles

<Combination name> is Combination
   <Combination options>
END
<Combination name>:
Nombre de la combinación a declarar
<Combination options>:
Diferentes opciones disponibles para la combinación.
<END>:
Fin de la declaración.

Declarar una variable de tipo Combination Ocultar los detalles

<Variable name> is <Combination name>
<Variable name>:
Nombre de la variable de tipo Combination a declarar.
<Combination name>:
Nombre de una combinación declarada anteriormente.
Observaciones

Declarar combinaciones

Una combinació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 poder utilizarla en la clase.
    • Para acceder a esta combinación desde un método de la clase, utilice la sintaxis "::<Combination name>".
    • Para acceder a esta combinación desde el exterior de la clase, utilice la sintaxis "<Class name>::<Combination name>".
  • El código de declaración de un conjunto de procedimientos para poder utilizarla en todos los procedimientos del conjunto.
Observación: Una combinación siempre es global:
  • a un proyecto,
  • a una ventana,
  • a un reporte,
  • a una clase.

Activar o desactivar las opciones de una combinación

Se pueden utilizar varias sintaxis para activar o desactivar las opciones de una combinación. Por ejemplo:
  • Declaración de la combinación utilizada para los ejemplos:
    CombinationType is Combination
    	CreateFile
    	ReadFile
    	WriteFile
    	DeleteFile
    END
    
    // Declare a Combination variable
    FileAction is CombinationType
  • Desactivar todas las opciones:
    Sintaxis:
    <Combination variable> = 0

    Ejemplo:
    FileAction = 0
  • Activar una o varias opciones:
    Sintaxis:
    <Combination variable> = Option 1
    <Combination variable>[Option 1] = True

    <Combination variable> = Option 1 + Option 2
    <Combination variable>[Option 1 + Option 2] = True

    Ejemplos:
    FileAction = ReadFile  // Enables an option
    FileAction = ReadFile + WriteFile // Enables 2 options
    
    FileAction[ReadFile] = True  // Enables an option
    FileAction[ReadFile + WriteFile] = True // Enables 2 options
  • Desactivar una o varias opciones:
    Sintaxis:
    <Combination variable>[Option 1] = False

    <Combination variable>[Option 1 + Option 2] = False

    Ejemplos:
    FileAction[ReadFile] = False  // Disables an option
    FileAction[ReadFile + WriteFile] = False // Disables 2 options

Leer las opciones de una combinación

Se pueden utilizar varias sintaxis para conocer las opciones de una combinación. Por ejemplo:
  • Declaración de la combinación
    CombinationType is Combination
    	CreateFile
    	ReadFile
    	WriteFile
    	DeleteFile
    END
    
    // Declare a Combination variable
    FileAction is CombinationType
  • Comprobar si todas las opciones están desactivadas:
    Sintaxis:
    IF <Combination variable> = 0

    Ejemplos:
    IF FileAction = 0 THEN...
  • Comprobar si una opción está activada:
    Sintaxis:
    IF <Combination variable> = Option 1 ...
    IF <Combination variable>[Option 1] = True...

    Ejemplos:
    IF FileAction = ReadFile THEN ...
    IF FileAction[ReadFile] = True THEN...
  • Comprobar si varias opciones están activadas:
    Sintaxis:
    IF <Combination variable> = Option 1 + Option 2 THEN ...
    IF <Combination variable>[Option 1 + Option 2] = True ...

    Ejemplos:
    IF FileAction = ReadFile + WriteFile THEN ...
    IF FileAction[ReadFile + WriteFile] = True THEN...
  • Comprobar si al menos una opción está activada:
    Sintaxis:
    IF <Combination variable>[Option 1] OR <Combination variable>[Option 2] THEN...

    Ejemplos:
    IF FileAction[ReadFile] OR FileAction[WriteFile] THEN...

Pasar una combinación como parámetro a un procedimiento

Una variable de tipo Combination puede pasarse como parámetro a un procedimiento. Para ello, utilice la siguiente sintaxis:
<Procedure name>(<Name of combination variable>)
Por ejemplo:
// Procedure with a Combination parameter
PROCEDURE FileType(p is CombinationType)

// Calls with a Combination parameter
FileType(ReadFile + WriteFile)
FileType(FileAction)

Sugerencias de código

Las sugerencias para un parámetro de tipo Combination incluyen las diferentes opciones de la combinación.

Extensión de la combinación

Puede incluir una o varias opciones de otras combinaciones y agregar nuevas opciones.
La sintaxis utilizada es la siguiente:
<Combination name> is Combination
   [Base combination]
   <Additional combination options>
END
donde:
  • <Combination name>: Nombre de una combinación declarada anteriormente.
  • Base combination: Nombre de la combinación base a utilizar.
  • <Additional combination options>: Opciones adicionales que se tendrán en cuenta en la combinación.
Ejemplo:
CombinationType is Combination
	CreateFile
	ReadFile
	WriteFile
	DeleteFile
END


AdvancedCombinationType is Combination
	[CombinationType]
	OtherAttributes
END

Combinaciones predefinidas

Se pueden combinar varias opciones para forzar una combinación predefinida. Las opciones combinadas deben pertenecer a la combinación (o a combinaciones base)
La sintaxis utilizada es la siguiente:
<Combination name> is Combination
<Option 1 of combination>
<Option 2 of combination>
<Option 3 of combination> = <Option 1 of combination> + <Option 2 of combination>
END
Ejemplo:
CombinationType is Combination
	CreateFile
	ReadFile
	WriteFile
	DeleteFile
	Read_Write_File = ReadFile + WriteFile
END

Exclusión mutua

Puede implementar la exclusión mutua en las opciones de combinación.
Por ejemplo, una combinación contiene tres opciones: Opción1, Opción2 y Opción3. Opción2 y Opción3 son mutuamente excluyentes:
  • Opción1 y Opción2 pueden estar activos.
  • Opción1 y Opción3 pueden estar activos.
  • Opción2 y Opción3 no pueden estar activos.
  • Opción1, Opción2 y Opción3 no pueden estar activos.
Se debe utilizar la siguiente sintaxis:
<Combination name> is Combination
<Option 1 of combination>
<Option 2 of combination>
<Option 3 of combination>
// Exclusions
<Option 2 of combination> - <Option 3 of combination>
END
Observación: Al combinar extensiones y exclusiones, puede obtener lo siguiente para las mismas opciones:
  • un parámetro de una función que impone una exclusión,
  • un parámetro de una función que no impone ninguna exclusión o que impone una exclusión diferente.

Propiedades asociadas

Las siguientes propiedades están asociadas a las variables de tipo Combination:
NameObtiene el nombre de una variable de tipo Combination.
ValueObtiene el valor de una variable de tipo Combination.

Funciones WLanguage disponibles

Una combinación puede almacenarse en un campo HFSQL o en otro formato de archivo. Si es necesario, puede almacenar el nombre o el valor de la combinación (propiedad Name o Value, respectivamente).
Las siguientes funciones WLanguage permiten obtener las características de una combinación almacenada:
CombinationCheckNameComprueba si una combinación de una o más opciones conocidas por sus nombres es válida.
CombinationFromNameDevuelve una combinación de una o más opciones conocidas por su nombre..
CombinationFromValueDevuelve una combinación de una o más opciones conocidas por sus valores de associated.

Limitaciones

  • Las combinaciones no están disponibles en la compilación dinámica.
  • Las combinaciones 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: 08/04/2024

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