A veces se quiere escribir código pudiendo trabajar con diferentes tipos de variables, esto es especialmente cierto para la codificación genérica. El uso de punteros puede hacer que el código sea más difícil de leer y depurar. A veces no es posible en absoluto, por ejemplo cuando quieres asignar una variable genérica a un objeto de formulario como fuente de datos.
Un nuevo comando está ahora a tu disposición para permitirte declarar una variable que pueda almacenar diferentes tipos de valores. Saluda al nuevo C_VARIANT ¡comando!
Compruebe el tipo de su variante
El tipo de datos variante puede utilizarse para representar otros tipos de datos (excepto arrays). Esto significa que el tipo de la variable es variante pero el tipo de valor puede ser Text, Longint u otro tipo válido. Puede utilizar el comando Type para obtener el tipo de la variable y el comando Value type para obtener el tipo del valor:
C_VARIANT($variant)
$t :=Type($variant) // type: variant
$vt :=Value type($variant) // value type: undefined
$variant :=6.5
$t :=Type($variant) // type: variant
$vt :=Value type($variant) // value type: real
$variant :="Hola mundo"
$t :=Type($variant) // type: variant
$vt:=Value type($variant)
// value type: text
variante como parámetro de un método
También hay ocasiones en las que puedes necesitar crear métodos que acepten parámetros de varios tipos.Ahora ya no son necesarios los punteros, puedes crear métodos que acepten el tipo de datos variante como parámetro:
C_COLLECTION($1)
C_VARIANT ($2)
if ($2#Null)
$1 .push($2)
end if
Y, por supuesto, también se pueden crear métodos que devuelvan el tipo de variante:
C_TEXT($1;$JSFunction)
C_VARIANT ($0;$Result)
$JSFunction :=$1
WA EXECUTE JAVASCRIPT FUNCTION (
MyWArea;$JSFunction;$Result)
$0 :=$Result
El tipo de datos variante puede ser útil de muchas maneras, en particular cuando se necesita utilizar valores nulos o indefinidos. Encuentre más detalles en el centro de documentación.