AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / WLanguage / Sintaxis WLanguage / 
  • Tipo Variant y NULL
  • Tipo de una variable Variant
  • Propiedad ..Class en una variable Variant
  • Subelementos con nombre
  • Subelementos indexados
  • Anidación de subelementos con nombre e índice
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
El tipo Variant permite:
  • almacenar cualquier valor simple: booleano, numérico (Currency, Real, Integer, etc.), caracteres y cadena de caracteres, fecha (Date, Time, DateTime, Duration), etc.
  • almacenar subelementos con nombre o índice.
  • almacenar cualquier valor complejo: estructuras, clases, tipos avanzados, arrays, arrays asociativos, colas, pilas y listas.
  • manipular el valor NULL en WLanguage.
  • almacenar interacciones con objetos ActiveX y con la programación de automatización.
Ejemplo
nValue is Variant = 10
nValue = EDT_Edit1
nValue = Customer.Name
Sintaxis

Declarar y asignar el tipo Variant Ocultar los detalles

<Variable name> is Variant = <Value>

OR


 <Variable name> is Variant
 <Variable name> = <Value>
<Variable name>:
Nombre de la variable a declarar.
<Value>:
Valor que se asignará a la variable. Uno de los siguientes valores se puede asignar a una variable de tipo Variant:
  • cualquier valor literal,
  • el contenido de una variable,
  • el contenido de un control simple,
  • el contenido de un campo.
Observaciones

Tipo Variant y NULL

Para especificar que una variable de tipo Variant no contiene ningún valor, utilice la constante NULL.
Observaciones:
  • para un tipo Variant, NULL significa "No asignado".
  • para un tipo Numeric, NULL significa "igual a 0".
nVal is int
IF vVal = Null THEN ... // the test returns True because nVal=0
nVal = 5
IF vVal = Null THEN ... // the test returns False because nVal=5
vVal is Variant
IF vVal = Null THEN ... // returns True because the variant is not assigned
vVal = 0
IF vVal = Null THEN ... // returns False because the variant is assigned  
// with an integer whose value is 0
vVal = 5
IF vVal = Null THEN ... // returns False because the variant is assigned
// with an integer whose value is 5
vVal is Variant
vVal = Null
IF vVal = 0 THEN ... // returns True because a non-assigned variable
// and a value cannot be compared, True is returned by convention

Tipo de una variable Variant

La propiedad Type devuelve el tipo de la variable Variant. La propiedad Type permite obtener el tipo del valor almacenado en la variable.
Observaciones:
  • La función VariantConvert permite convertir el tipo del valor almacenado en una variable Variant.
  • La función TypeVar determina el tipo de variable (tipo Variant para una variable Variant).
vVal is Variant
TypeVar(vVal)  // returns the number of the variant type
vVal..Type     // returns the type of the value stored in the variant

Propiedad ..Class en una variable Variant

La propiedad Class permite obtener el nombre de la clase utilizada si la variable Variant corresponde a una clase.

Subelementos con nombre

Puede utilizar los miembros en una variable de tipo Variant directamente y sin declaración.
Al asignar un miembro, si el miembro no existe, se crea automáticamente; y si ya existe, se modifica.
Ejemplo:
Person is Variant
Person.LastName = "MOORE"
Person.FirstName = "Vince"
Al leer un miembro, si el miembro no existe, no se crea. Puede comprobar si un miembro existe utilizando la propiedad Exist.
Ejemplo:
Person is Variant
IF NOT Personn.Name..Exist THEN
Error("The name was not specified")
END
Si el miembro no existe, el valor devuelto es Null. Existen varios métodos para probar explícitamente el valor Null:
  • utilizar la propiedad Value.
    Ejemplo:
    Element is Variant
    IF Element.MemberNotFound..Value = Null THEN
    ...
    END
  • probar el valor Null directamente. Ejemplo:
    Element is Variant
    IF Element.MemberNotFound = Null THEN
    ...
    END
Los subelementos con nombre se pueden manipular con las siguientes propiedades:
ExistDevuelve:
  • True si existe el elemento,
  • False si no existe el elemento. No se crea el elemento.
NameNombre del elemento
TypeTipo de elemento (mismos valores que TypeVar).
ValueValor del elemento.

La propiedad Member en variables de tipo Variant permite obtener el array de los elementos con nombre. El array se puede manipular con FOR EACH, la propiedad Count, el operador [ ], ...
También es posible eliminar un elemento. Ejemplo:
o is JSON
o.m = 1
o.n = 2
Trace(o)
 
x is Variant = o
Delete(x..Member, 1)
Trace(x) // The member has been deleted.

Subelementos indexados

La variable de tipo Variant se puede utilizar directamente como un array de variants. El operador [ ] crea el array automáticamente.
Ejemplo:
Days is Variant
Days[1] = "Monday"
Days[2] = "Tuesday"
Days[3] = "Wednesday"
Days[4] = "Thursday"
Days[5] = "Friday"
Days[6] = "Saturday"
Days[7] = "Sunday"
Las operaciones de los arrays se pueden realizar directamente en la variable de tipo Variant: FOR EACH, Count, operador [ ], etc.

Anidación de subelementos con nombre e índice

Dado que los subelementos con nombre e índice son de tipo Variant, se pueden anidar recursivamente.
Ejemplo:
Library is Variant
Library.Book[1].Title = "Mrs Dalloway"
Library.Book[1].Author = "Virginia Woolf"
Library.Book[2].Title = "Oliver Twist"
Library.Book[2].Author = "Charles Dickens"
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

Última modificación: 03/07/2023

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