ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage syntax / Reserved keywords
  • Propriétés générales sur les paramètres d'une procédure
  • Manipulation des paramètres d'une procédure
  • Propriétés spécifiques utilisables sur chaque paramètre d'une procédure
  • Réempiler des paramètres
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
MesParamètres (Mot réservé)
En anglais : MyParameters
Le mot-clé MesParamètres permet de manipuler les paramètres passés à une procédure WLangage. Il permet d'accéder aux informations avancées des paramètres de la procédure WLangage en cours.
Il est possible de manipuler l'ensemble des paramètres ou un seul paramètre.
Ce mot-clé est utilisable aussi bien dans les procédures WLangage classiques que dans les procédures WLangage à nombre de paramètres variable.
Exemple
// Procédure de décalage de champs
PROCÉDURE DécaleChamp(*)
 
// Ce code utilise une boucle de type POUR ... _A_
// pour ne pas recalculer le nombre de paramètres à chaque itération
// En effet, ce nombre de paramètres est fixe.
POUR I = 1 _À_ MesParamètres..Occurrence
MesParamètres[I]..X += 10
FIN
Syntaxe
MesParamètres
Remarques

Propriétés générales sur les paramètres d'une procédure

Deux propriétés sont utilisables sur l'ensemble des paramètres d'une procédure WLangage :
Nom de la propriétéEffet
NbReçusRenvoie le nombre de paramètres réellement reçus par la procédure WLangage en cours.
OccurrenceRenvoie le nombre de paramètres utilisables dans la procédure WLangage en cours.
WEBDEV - Code Navigateur Cette propriété n'est pas disponible.
Exemple : PROCEDURE Proc(p1, po2= "Y", po3 = "Z")
AppelProc("A")Proc("A", "B")Proc("A","B", "C")
MesParamètres..NbReçus123
MesParamètres..Occurrence333
Le paramètre spécial "*" (qui permet de conserver la valeur par défaut) compte pour un paramètre reçu.

Manipulation des paramètres d'une procédure

Les manipulations classiques du WLangage sont disponibles sur chacun des paramètres d'une procédure grâce à la notation MesParamètres[N] où N est le numéro du paramètre à manipuler.
Quelques exemples :
  • MesParamètres[N] : Récupère la valeur du Nième paramètre de la procédure.
  • MesParamètres[N] = : Affecte la valeur du Nième paramètre de la procédure.
  • MesParamètres[N]++, MesParamètres[N]+=, ... : Opérations arithmétiques combinées.
  • MesParamètres[N]..<Nom propriété> : Accès à une propriété de l'élément.
  • MesParamètres[N][...] : Accès aux sous-éléments indicés de la valeur du paramètre.
  • MesParamètres[N].<Sous-élément> : Accès à un sous-élément de la valeur du paramètre.
  • MesParamètres[N]:<Membre> : Accès à un membre de la valeur du paramètre
  • MesParamètres[N]>>xxx : Syntaxe automation.
Remarque : Il est possible de connaître le type d'un paramètre avec la fonction RécupèreDéfinition.

Propriétés spécifiques utilisables sur chaque paramètre d'une procédure

Les propriétés suivantes sont utilisables sur les paramètres reçus par une procédure :
Nom de la propriétéEffet
DéfautPermet de savoir si la valeur du paramètre est celle passée par défaut, ou si elle a été explicitement renseignée.
ParAdresse / ParRéférencePermet de savoir si le paramètre a été passé par défaut ou par adresse.
WEBDEV - Code Navigateur Ces propriétés ne sont pas disponible en code navigateur.

Réempiler des paramètres

Le mot-clé MesParamètres permet de réempiler simplement les paramètres d'une procédure WLangage : les paramètres (ou une partie des paramètres) de la procédure courante peuvent être ainsi passés à une autre procédure ou à une fonction du WLangage.
Les syntaxes possibles sont :
  • MesParamètres : réempile tous les paramètres de la procédure.
  • MesParamètres[2 A] : réempile tous les paramètres de la procédure à partir du deuxième.
  • MesParamètres[A 3] : réempile tous les paramètres de la procédure jusqu'au troisième inclus.
  • MesParamètres[2 A 4] : réempile tous les paramètres de la procédure du deuxième au quatrième inclus.
  • MesParamètres[2 SUR 3] : réempile trois paramètres de la procédure à partir du deuxième.
  • MesParamètres[*] : réempile les paramètres additionnels.
Remarque : La réempilation de paramètres ne fait pas d'erreur WLangage si les paramètres demandés n'existent pas : les paramètres manquants sont ignorés.
Exemple : Surcharge de la fonction Ouvre permettant d'écrire dans un fichier de trace :
PROCÉDURE Ouvre(NomFen, *)
Trace(NomFen)
WL.Ouvre(NomFen, MesParamètres[2 À ])
WEBDEV - Code Navigateur Cette fonctionnalité n'est pas disponible.
Minimum version required
  • Version 11
Comments
Utilisation des paramètres via MesParamètres non disponible dans les lambdas en version 25
Lorsque vous utilisez MesParamètres dans une procédure lambda, les propriétés ..NbReçu et ..Occurrence renvoient les bonnes informations.

Mais l'utilisation directe MesParamètres[<indice>] afin de récupérer la valeur du paramètre déclenche une erreur malgré l'existence d'une valeur transmise.

Utilisez une procédure interne à la place pour pouvoir utiliser MesParamètres.
Julien
08 Jan. 2020

Last update: 05/25/2022

Send a report | Local help