Por vezes, quer-se escrever código podendo trabalhar com diferentes tipos de variáveis, isto é especialmente verdade para a codificação genérica. A utilização de apontadores pode tornar o código mais difícil de ler e debugar. Por vezes não é de todo possível, por exemplo, quando se pretende atribuir uma variável genérica a um objecto de formulário como a fonte de dados.
Um novo comando está agora à sua disposição para lhe permitir declarar uma variável que pode armazenar diferentes tipos de valores. Diga olá ao novo comando C_VARIANT comando!
Teste o tipo da sua variante
O tipo de dados variante pode ser usado para representar outros tipos de dados (excepto matrizes). Isto significa que o tipo da variável é variante mas o tipo de valor pode ser Texto, Longint ou outro tipo válido. Pode usar o comando Type para obter o tipo de variável e o comando Value type comando para o tipo do valor:
C_VARIANT($variant)
$t :=Type($variant) // type: variant
$vt // type: variant :=Value type($variant) // value type: undefined
$variant :=6.5
$t :=Type($variant) // type: variant
$vt :=Value type($variant) // value type: real
$variant :="Hello world"
$t :=Type($variant)
$vt :=Value type($variant)
// value type: text
variante como parâmetro do método
Há também alturas em que pode ser necessário criar métodos que aceitem parâmetros com vários tipos.Agora já não há necessidade de apontadores, pode criar métodos que aceitem o tipo de dados variante como parâmetro:
C_COLLECTION($1)
C_VARIANT ($2)
if ($2#Null)
$1 .push($2)
end if
E, claro, também pode criar métodos que retornam do tipo variante:
C_TEXT($1;$JSFunction)
C_VARIANT ($0;$Result)
$JSFunction :=$1
WA EXECUTE JAVASCRIPT FUNCTION (
MyWArea;$JSFunction;$Result)
$0 :=$Result
O tipo de dados da variante pode ser útil de muitas maneiras, particularmente quando é necessário utilizar valores Nulos ou Indefinidos. Encontre mais detalhes sobre o centro doc.