C_VARIANT per memorizzare diversi tipi di valori

Tradotto automaticamente da Deepl

A volte si desidera scrivere codice in grado di lavorare con diversi tipi di variabili, soprattutto per la codifica generica. L’uso dei puntatori può rendere il codice più difficile da leggere e da debuggare. A volte non è affatto possibile, ad esempio quando si vuole assegnare una variabile generica a un oggetto form come origine dei dati.

È ora disponibile un nuovo comando che consente di dichiarare una variabile che può memorizzare diversi tipi di valori. Salutate il nuovo comando C_VARIANT !

Verificare il tipo di variante

Il tipo di dati variante può essere utilizzato per rappresentare altri tipi di dati (eccetto gli array). Ciò significa che il tipo di variabile è variant, ma il tipo di valore può essere Text, Longint o un altro tipo valido. È possibile utilizzare il comando Type per ottenere il tipo di variabile e il comando Value type per il tipo di valore:

C_VARIANT$vt($variant)
$t :=Type($variant) // type: variant
$vt :=Value type($variant) // value type: undefined

$variant :=6.5
$t :=Type($variant) // type: variant
:=Value type($variant) // value type: real

$variant :="Hello world"
$t :=Type($variant) // type: variant
$vt:=Value type($variant) // value type: text

variante come parametro di un metodo

A volte è necessario creare metodi che accettano parametri di diversi tipi.Ora non c’è più bisogno di puntatori, si possono creare metodi che accettano il tipo di dati variant come parametro:

C_COLLECTION($1)
C_VARIANT ($2)

if ($2#Null)

$1 .push($2)
end if

E, naturalmente, si possono anche creare metodi che restituiscono il tipo di variante:

C_TEXT($1;$JSFunction)
C_VARIANT ($0;$Result)

$JSFunction :=$1

WA EXECUTE JAVASCRIPT FUNCTION (MyWArea;$JSFunction;$Result)

$0 :=$Result

Il tipo di dati variant può essere utile in molti modi, in particolare quando è necessario utilizzare valori Null o Undefined. Trovate maggiori dettagli nel doc center.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené si è unito al team di 4D Program nel novembre 2016. In qualità di Product Owner, è incaricato di scrivere le storie degli utenti e di tradurle in specifiche funzionali. Il suo ruolo è anche quello di assicurarsi che l'implementazione della funzionalità fornita soddisfi le esigenze del cliente.Dopo aver conseguito una laurea in Informatica presso il CNAM, Fabrice è entrato a far parte di una piccola società di pubblicazione di software come sviluppatore Windev. In seguito ha lavorato per diverse aziende del settore industriale e commerciale come sviluppatore Windev e web e come consulente tecnico su nuove funzionalità.