|
- Type Variant et NULL
- Type d'un variant
- Propriété Classe sur les variants
- Sous-éléments nommés
- Sous-éléments indicés
- Imbrications des sous-éléments nommés et indicés
Variant (Type de variable) En anglais : Variant
Le type Variant permet de : - stocker n'importe quelle valeur de type simple : booléen, numérique (Monétaire, Réel, Entier, ...), caractères et chaîne de caractères, date (Date, Heure, DateHeure et Durée), ...
- stocker des sous-éléments nommés ou indicés.
- stocker n'importe quelle valeur de type complexe : structures, classes, types avancés, tableaux, tableaux associatifs, files, piles et listes.
- manipuler la valeur NULL dans le WLangage.
- stocker des interactions avec les objets ActiveX et la programmation Automation.
nValeur est un Variant = 10 nValeur = SAI_Saisie1 nValeur = Client.Nom
Syntaxe
Déclaration et affectation d'un type Variant Masquer les détails
<Nom de la variable> est un Variant = <Valeur> OU
<Nom de la variable> est un Variant <Nom de la variable> = <Valeur>
<Nom de la variable> : Nom de la variable à déclarer. <Valeur> : Valeur à affecter à la variable. Une variable de type variant peut être affectée avec :- n'importe quelle valeur littérale,
- le contenu d'une variable,
- le contenu d'un champ de type simple,
- le contenu d'une rubrique.
Remarques Pour spécifier qu'une variable de type Variant ne contient pas de valeur, il suffit d'utiliser la constante NULL. Remarques : - pour un type variant, NULL signifie "Pas affecté".
- pour un type numérique, NULL signifie "égal 0".
nVal est un entier SI nVal = Null ALORS ... // le test renvoie Vrai car nVal=0 nVal = 5 SI nVal = Null ALORS ... // le test renvoie Faux car nVal=5
vVal est un Variant SI vVal = Null ALORS ... // renvoie Vrai car le variant n'est pas affecté vVal = 0 SI vVal = Null ALORS ... // renvoie Faux car le variant est affecté // avec un entier de valeur 0 vVal = 5 SI vVal = Null ALORS ... // renvoie Faux car le variant est affecté // avec un entier de valeur 5
vVal est un Variant vVal = Null SI vVal = 0 ALORS ... // renvoie Vrai car une variable non affectée // et une valeur ne sont pas comparables, Vrai est retourné par convention
Il est possible de connaître le type d'un variant grâce à la propriété Type. La propriété Type permet de connaître le type de la valeur stockée dans la variable. Remarques : - La fonction VariantConvertit permet de convertir le type de la valeur stockée dans une variable de type Variant.
- La fonction TypeVar permet de connaître le type d'une variable (type Variant pour une variable Variant).
vVal est un Variant TypeVar(vVal) // renvoie le numéro du type variant vVal..Type // renvoie le type de la valeur stockée dans le variant
Propriété Classe sur les variants La propriété Classe sur les variables de type Variant permet d'obtenir le nom de la classe utilisée si le variant correspond à une classe. Sous-éléments nommés Il est possible d'utiliser directement et sans déclaration des membres sur une variable de type Variant.Lors d'une affectation d'un membre, si le membre n'existe pas, il est automatiquement créé ; si le membre existe déjà, il est modifié. Exemple :
Personne est un Variant Personne.Nom = "DUPONT" Personne.Prénom = "Michel"
Lors d'une lecture d'un membre, si le membre n'existe pas, il n'est pas créé. Il est possible de tester la présence d'un membre grâce à la propriété Existe. Exemple :
Personne est un Variant SI PAS Personne.Nom..Existe ALORS Erreur("Le nom n'a pas été renseigné") FIN
Si le membre n'existe pas, la valeur renvoyée est Null. Pour tester explicitement la valeur Null, plusieurs possibilités : - utiliser la propriété Valeur.
Exemple :
Elément est un Variant SI Elément.MembreInexistant..Valeur = Null ALORS ... FIN
- tester directement la valeur Null. Exemple :
Elément est un Variant SI Elément.MembreInexistant = Null ALORS ... FIN
Les sous-éléments nommés peuvent être manipulés grâce aux propriétés suivantes : | | Existe | Renvoie : - Vrai si l'élément existe,
- Faux si l'élément n'existe pas. L'élément n'est pas créé.
| Nom | Nom de l'élément | Type | Type de l'élément (mêmes valeurs que TypeVar). | Valeur | Valeur de l'élément. |
La propriété Membre sur les variables de type Variant permet d'obtenir le tableau des éléments nommés. Ce tableau peut être manipulé par POUR TOUT, la propriété Occurrence, l'opérateur [ ], ... Il est également possible de supprimer un élément. Exemple :
o est un JSON o.m = 1 o.n = 2 Trace(o) x est un Variant = o Supprime(x..Membre, 1) Trace(x) // Le membre m a été supprimé.
Sous-éléments indicés Il est possible d'utiliser directement la variable de type variant comme un tableau de variants. L'utilisation de l'opérateur [ ] crée automatiquement le tableau.Exemple :
Jours est un Variant Jours[1] = "lundi" Jours[2] = "mardi" Jours[3] = "mercredi" Jours[4] = "jeudi" Jours[5] = "vendredi" Jours[6] = "samedi" Jours[7] = "dimanche"
Les opérations des tableaux peuvent être directement effectuées sur la variable de type Variant : POUR TOUT, Occurrence, opérateur [ ], ... Imbrications des sous-éléments nommés et indicés Les sous-éléments nommés et les sous-éléments indicés étant eux-mêmes de type Variant, il est possible de les imbriquer récursivement.Exemple :
Bibliotheque est un Variant Bibliotheque.Livre[1].Titre = "Les trois mousquetaires" Bibliotheque.Livre[1].Auteur = "Alexandre Dumas" Bibliotheque.Livre[2].Titre = "Les misérables" Bibliotheque.Livre[2].Auteur = "Victor Hugo"
Documentation également disponible pour…
|
|
|
|
|
|
|