|
|
|
|
|
- Présentation
- Comment déclarer une variable ?
- Déclarer une variable
- Déclarer une variable et l'initialiser
- Déclarer plusieurs variables
- Détail des syntaxes
- Exemples
- Attributs utilisables lors de la déclaration d'une variable
- Attribut "utile"
- Attribut "immuable"
- Attribut "couleur"
- Attribut "section critique"
- Comment accéder aux propriétés d'une variable ?
- Syntaxes
- Exemple
- Règle de portée des variables
- Règle
- Exception
- Cas particulier : Logiciel Etats & Requêtes
- Conflit de nom : utilisation ambiguë d'un type
Déclaration et utilisation d'une variable
Une variable se définit par son nom et par son type. Le type de la variable détermine les valeurs que la variable peut prendre, son encombrement mémoire et les opérations possibles. Rappel : Chaque type est identifié par un mot-clé du WLangage. Ces mots-clés sont des mots réservés. Cette page d'aide présente : Pour simplifier la déclaration des variables, il est également possible d'utiliser l'inférence de type. Comment déclarer une variable ? Déclarer une variable <Nom de la variable> est un(e) <Type> Déclarer une variable et l'initialiser <Nom de la variable> est un(e) <Type> = <Valeur initiale> Déclarer plusieurs variables <Nom de la variable 1>, <Nom de la variable 2> sont des <Type> Détail des syntaxes | | <Nom de la variable> : | Nom de la variable à déclarer. | <Type> : | Type de la variable ou type commun aux variables déclarées (voir Types de variables disponibles). | <Valeur initiale> : | Valeur initiale de la variable (optionnel). Cette valeur initiale dépend du type de la variable. | Remarques : - Les mots-clés un, une et des ne sont pas obligatoires : ce sont des mots d'agrément.
- Lorsque plusieurs variables du même type sont déclarées et initialisées sur la même ligne, seule la dernière variable est initialisée.
Pour déclarer et initialiser plusieurs variables en même temps, utilisez l'initialisation multiple. - Dans un événement / traitement, il est interdit d'utiliser plusieurs variables de même nom (quel que soit le type de ces variables).
Exemples - Déclaration de variables simples :
NomClient est une chaîne
Compteur est un entier
Prix est un réel
i,j,k sont des entiers
L'inférence de type permet d'utiliser les syntaxes suivantes :
soit Montant = 1500.69
soit Ville = "Montpellier"
- Déclaration d'une variable de type Cadre :
Déclarer plusieurs variables et les initialiser
<Nom de la variable 1>, <Nom de la variable 2>, ..., <Nom de la variable N> sont <Type> = (<Valeur initiale 1>, <Valeur initiale 2>, ..., <Valeur initiale M>) Détail de la syntaxe
| | <Nom de la variable> : | Nom de la variable à déclarer. N représente le nombre de variables déclarées. | <Type> : | Type commun aux variables déclarées (voir Types de variables disponibles). | <Valeur initiale> : | Valeur initiale de chaque variable. M représente le nombre de valeurs à affecter. | Remarques :- Les affectations sont effectuées de gauche à droite.
- Si il y a moins de variables que de valeurs (N inférieur à M), une erreur de compilation sera générée.
- Si il y a plus de variables que de valeurs (N supérieur ou égal à M), seules les premières variables seront affectées.
- Il est également possible d'affecter plusieurs variables avec des valeurs différentes en une seule ligne de code. Pour plus de détails, consultez Affectation multiple.
Exemples :
x, y, z sont des entiers = (1, 10, 4)
s, t, p sont des chaînes = ("A", "B001")
Attributs utilisables lors de la déclaration d'une variable Attribut "utile" L'attribut "utile" peut être utilisé lors de la déclaration d'une variable pour indiquer que la variable est utilisée dans le projet. Cette notation permet notamment d'éviter le warning indiquant qu'une variable locale est inutilisée. Dans ce cas, la syntaxe à utiliser est la suivante :
<Nom de la variable> est un(e) <Type>, utile [ = "Raison"]
<Nom de la variable> est un(e) <Type> <utile [ = "Raison"]> "Raison" sert de note au développeur. Exemple :
n1 est un entier, utile = "Variable nécessaire pour le Webservice"
n2 est un entier <utile = "Variable nécessaire pour le Webservice">
Attribut "immuable" L'attribut "immuable" peut être utilisé lors de la déclaration d'une variable pour indiquer que la variable est immuable, c'est-à -dire que sa valeur ne changera pas une fois assignée. A la différence d'une constante, une valeur immuable peut être définie par le résultat d'une procédure/fonction. La syntaxe à utiliser est la suivante :
<Nom de la variable> est un(e) <Type> = <Valeur>, immuable
<Nom de la variable> est un(e) <Type> <immuable> = <Valeur> où Valeur correspond à la valeur obligatoire de la variable. Exemple :
n1 est un entier = 5, immuable
n2 est un entier <immuable> = 6
Remarque : L'attribut "immuable" est disponible uniquement pour les variables de type simple (chaîne, numérique, booléen et membre immuable).Attribut "couleur" L'attribut "couleur" peut être utilisé lors de la déclaration d'une variable pour définir la couleur de cette variable sous l'éditeur de code. La syntaxe à utiliser est la suivante :
<Nom de la variable> est un(e) <Type> <couleur = <Valeur>> où Valeur correspond à la nouvelle couleur de la variable. Cette couleur peut correspondre à : - une couleur pré-définie du WLangage (constantes RougeClair, VertFoncé, etc.). Par exemple :
MaCouleur est un entier <couleur = RougeClair> - un mot-clé correspondant à la coloration d'un élément définie dans les thèmes de l'éditeur de code (voir Thèmes de l'éditeur de code. Ces mots-clés sont les suivants :
| | Chaîne | Couleur utilisée par défaut pour les chaînes de caractères. | ConstanteWLangage | Couleur utilisée par défaut pour les constantes WLangage. | FonctionWLangage | Couleur utilisée par défaut pour les fonctions WLangage. | Nombre | Couleur utilisée par défaut pour les nombres. | VariableWLangage | Couleur utilisée par défaut pour les variables. | Warning | Couleur correspondant aux warnings. |
Exemple : MaChaîneColorée est une chaîne<couleur = Warning>
- une couleur sous forme de chaîne de caractères. Exemple :
MonParamètre est une chaîne <couleur = #FF00CC>
Attribut "section critique" Lors de la déclaration d'une variable, il est possible d'associer cette variable à une section critique en utilisant l'attribut section critique. La syntaxe est la suivante :
NomVariable est un TypeVariable <section critique>
ou
NomVariable est un TypeVariable, section critique Cas particulier :
Une section critique est automatiquement associée aux variables sur lesquelles des opérations simples sont effectuées, telles que : - affectation d'une valeur.
- récupération d'une valeur.
- incrémentation, décrémentation (opérateurs +, -, ++, --, +=, -=).
Exemple :
gmoSomme est un monétaire, section critique
gmoMax est un monétaire, section critique
...
moMontantCommande est un monétaire
...
gmoSomme += moMontantCommande
using SectionCritique(gmoMax) DANS
SI moMontantCommande > gmoMax ALORS
gmoMax = moMontantCommande
FIN
FIN
Remarques :
- L'attribut section critique est autorisé sur :
- les variables globales de projet, collection de procédures, fenêtre, page et état.
- les variables locales.
- les membres de classes.
- les tableaux : dans ce cas, l'attribut est associé au tableau et pas aux éléments du tableau.
- Les files et les piles sont nativement protégées : l'attribut section critique n'est pas nécessaire.
Comment accéder aux propriétés d'une variable ? Syntaxes Si le type de variable possède des propriétés, il est possible d'utiliser les syntaxes suivantes : - Affectation d'une propriété de la variable :
<Nom de la variable>.<Propriété> = <Valeur> - Lecture d'une propriété de la variable :
<Nom de la variable>.<Propriété>
Exemple Utilisation de propriétés sur un type Cadre :
MonCadre est un Cadre
MonCadre.Couleur = RougeClair
MonCadre.Epaisseur = 5
Règle de portée des variables Règle La règle de portée des variables est la suivante : - Si une variable "globale" au projet et une variable "globale" à une fenêtre portent le même nom :
- la variable "globale" à la fenêtre sera utilisée dans tous les événements ou traitements de la fenêtre et de ses champs, ainsi que dans les procédures "locales" de la fenêtre.
- la variable "globale" au projet sera utilisée dans tous les autres traitements.
- Si une variable "globale" au projet et une variable "locale" à un traitement portent le même nom :
- la variable "locale" sera uniquement utilisée dans le traitement dans lequel cette variable a été déclarée.
- la variable "globale" au projet sera utilisée dans tous les autres traitements.
- Si une variable "globale" à une fenêtre et une variable "locale" à un traitement de cette fenêtre portent le même nom :
- la variable "locale" sera uniquement utilisée dans le traitement dans lequel cette variable a été déclarée.
- la variable "globale" à la fenêtre sera utilisée dans tous les autres événements ou traitements de la fenêtre et de ses champs (y compris les procédures "locales" de la fenêtre).
- aucune des deux variables ne pourra être utilisée dans le reste du projet.
Remarque : Les variables sont propres à l'exécutable, le Webservice ou la session WEBDEV dans laquelle elles ont été déclarées. Option de compilation Une option de compilation permet de gérer la portée des variables locales : Portée des variables locales limitée au bloc courant. Si cette option est sélectionnée, les variables locales sont localisées au bloc. Il n'est pas possible d'utiliser une variable locale à l'extérieur du bloc dans lequel elle est déclarée. La terminaison de la variable est exécutée à la fin du bloc (destructeurs et libération mémoire). Il est possible de redéclarer une variable de même nom dans deux sous-blocs distincts mais il n'est pas possible de redéclarer une variable de même nom dans un sous-bloc fils. Cette option est sélectionnée par défaut pour les nouveaux projets. Pour modifier cette option : - Affichez la fenêtre de description du projet : sous le volet "Projet", dans le groupe "Projet", cliquez sur "Description".
- Dans l'onglet "Compilation", cochez ou décochez l'option "Portée des variables locales limitée au bloc courant".
Cas particulier : Logiciel Etats & Requêtes - Les variables globales au projet sont utilisables dans les états et les requêtes créées / modifiées avec le logiciel "Etats & Requêtes".
- Les rubriques pour lesquelles l'option "Visible par l'utilisateur final dans le logiciel "États et Requêtes"" est cochée sous l'éditeur d'analyses sont utilisables sous le logiciel "Etats et requêtes". Si cette option n'est pas cochée, la rubrique est utilisable uniquement par indirection (l'utilisateur ne dispose pas de la complétion, la rubrique n'est pas disponible dans les assistants, les fenêtres de description, etc.).
Conflit de nom : utilisation ambiguë d'un type Un type du WLangage peut avoir le même nom qu'un autre type ajouté au projet par un élément importé (classes d'assemblages .NET, types structurés de Webservices, etc.). Dans ce cas, pour forcer l'utilisation du type WLangage lors de la déclaration d'une variable, il faut préfixer le type avec WL. Exemple :
MaVariable est un WL.XMLDocument
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|