C_VARIANTE para armazenar diferentes tipos de valores

Tradução automática de Deepl

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.

Fabrice Mainguené
- Proprietário do produto ->p>Fabrice Mainguené juntou-se à equipa do Programa 4D em Novembro, 2016. Como Proprietário do Produto, está encarregado de escrever as histórias dos utilizadores, traduzindo-as depois para especificações funcionais. O seu papel é também o de assegurar que a implementação da funcionalidade entregue vai ao encontro das necessidades do cliente.Após a obtenção da licenciatura em Informática no CNAM, Fabrice juntou-se a uma pequena empresa editora de software como programador Windev. Depois trabalhou para diferentes empresas nas áreas da indústria e comércio como programador Windev e web developer, bem como como consultor técnico sobre novas funcionalidades.