DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Syntaxe WLangage / Procédures WLangage
  • Présentation
  • Procédure locale
  • Procédures locales à une fenêtre
  • Procédures locales à une page
  • Procédures locales à un état
  • Procédures locales à un champ
  • Création d'une procédure locale
  • Création depuis l'éditeur de code
  • Création depuis le volet "Explorateur de projet"
  • Afficher la liste des procédures locales
  • Suppression d'une procédure locale
  • Procédure locale publique ou privée
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
Présentation
Les procédures peuvent être de deux types :
  • Procédure globale : utilisable dans tous les traitements/événements du projet. Cette procédure globale est mémorisée dans le projet.
  • Procédure locale : utilisable dans tous les traitements/événements dépendant de l'objet (fenêtre, page, état ou champ) dans lequel cette procédure a été déclarée. Cette procédure locale est mémorisée dans l'objet.
Important : Il ne faut pas déclarer deux procédures avec le même nom (notamment une procédure globale et une procédure locale).
Rappel :
  • En WLangage, il n'existe pas de distinction entre les procédures et les fonctions. Les syntaxes de déclaration et d'utilisation décrites pour les procédures sont les mêmes pour les fonctions.
  • Il est possible de créer des procédures multisyntaxes. Pour plus de détails, consultez Surcharge de prototype.
Procédure locale
WINDEVUniversal Windows 10 AppAndroidiPhone/iPadWidget IOSApple WatchJava

Procédures locales à une fenêtre

Les procédures locales déclarées dans une fenêtre peuvent être appelées depuis tous les traitements/événements :
  • de la fenêtre,
  • des champs de la fenêtre,
  • des procédures locales associées à la fenêtre.
Ces procédures sont mémorisées dans la fenêtre.
Limites :
  • Les procédures locales d'une fenêtre ne peuvent pas être utilisées par ses fenêtres soeurs.
  • Les procédures locales déclarées dans une fenêtre fille ne peuvent pas être utilisées dans sa fenêtre mère.
WEBDEV - Code ServeurWEBDEV - Code Navigateur

Procédures locales à une page

Les procédures locales déclarées dans une page peuvent être appelées depuis tous les traitements/événements :
  • de la page,
  • des champs de la page,
  • des procédures locales associées à la page.
Ces procédures sont mémorisées dans la page.
Il est possible de déclarer dans une page :
  • des procédures locales serveur. Ce type de procédure locale contient du code WLangage qui sera exécuté sur le serveur.
  • des procédures locales navigateur. Ce type de procédure locale contient du code WLangage qui sera exécuté sur le navigateur.
  • des procédures locales mixtes. Ce type de procédure peut s'exécuter à la fois sur le serveur et sur le navigateur. Le code de cette procédure doit être compatible (il doit fonctionner à la fois sur le serveur ET sur le navigateur).
Limite : Les procédures locales serveur d'une page ne peuvent pas appeler des procédures locales navigateur d'une page et inversement.
Remarque : Procédure locale mixte : Ce type de procédure peut s'exécuter à la fois sur le serveur et sur le navigateur. Le code de cette procédure doit être compatible (il doit fonctionner à la fois sur le serveur ET sur le navigateur).
Pour utiliser un code spécifique serveur et/ou un code spécifique navigateur, il est possible d'utiliser la syntaxe suivante :
<SI Navigateur>
// Code à exécuter uniquement sur le navigateur
<FIN>
<SI Serveur>
// Code à exécuter uniquement sur le serveur
<FIN>
WINDEVWEBDEV - Code ServeurWindowsiPhone/iPadWidget IOS

Procédures locales à un état

Les procédures locales déclarées dans un état peuvent être appelées depuis tous les traitements/événements :
  • de l'état,
  • des champs de l'état,
  • des procédures locales associées à l'état.
Ces procédures sont mémorisées dans l'état.

Procédures locales à un champ

Les procédures locales déclarées dans un champ peuvent être appelées depuis tous les traitements/événements :
  • du champ,
  • des procédures locales associées au champ.
Ces procédures sont mémorisées avec le champ. Lors de la copie du champ, les procédures locales associées au champ seront copiées.
Une procédure locale à un champ peut être créée pour un champ d'une fenêtre, d'une page ou d'un état.
WEBDEV - Code ServeurWEBDEV - Code Navigateur Seules les procédures "serveur" locales à un champ sont disponibles. Il n'est pas possible de créer une procédure navigateur locale à un champ.
Création d'une procédure locale

Création depuis l'éditeur de code

Pour créer une procédure locale à l'élément en cours depuis l'éditeur de code :
  • Méthode 1 :
    1. Créez la procédure :
      • WINDEVWINDEV Mobile Pour créer une procédure locale à une fenêtre, un champ, un état, sous le volet "Code", dans le groupe "Procédures", déroulez "Nouveau" et sélectionnez "Nouvelle procédure locale" (raccourci clavier F4).
      • WEBDEV - Code Serveur Pour créer une procédure locale serveur à une page ou à un champ d'une page : sous le volet "Code", dans le groupe "Procédures", déroulez "Nouveau" et sélectionnez "Nouvelle procédure locale (Serveur)".
      • WEBDEV - Code Navigateur Pour créer une procédure locale navigateur à une page : sous le volet "Code", dans le groupe "Procédures", déroulez "Nouveau" et sélectionnez "Nouvelle procédure locale (Navigateur)".
    2. Dans la fenêtre qui s'affiche :
      • Indiquez le nom de la procédure à créer.
      • L'option "Générer un commentaire d'en-tête" permet de générer automatiquement le commentaire du prototype de la procédure.
        Pour plus de détails, consultez Documentation automatique des procédures.
      • Indiquez le rôle de la procédure : Non défini, Métier, UI. Par défaut, une procédure a un rôle "Non défini".
      • Si l'éditeur de code affiche le code d'un champ, l'option "Créer la procédure au niveau du champ" permet de spécifier si la procédure locale doit être associée au champ ou non.
    3. Cliquez sur le bouton "Ajouter". La procédure locale est créée. Par défaut, la procédure créée est publique. Pour plus de détails, consultez le paragraphe Procédure locale publique ou privée.
  • Méthode 2 :
    1. Créez la procédure :
      • WINDEVWINDEV Mobile Pour créer une procédure locale : sélectionnez l'option "Nouveau .. Nouvelle procédure locale" du menu contextuel.
      • WEBDEV - Code Serveur Pour créer une procédure locale serveur, sélectionnez l'option "Nouveau .. Nouvelle procédure locale (Serveur)".
      • WEBDEV - Code Navigateur Pour créer une procédure locale navigateur, sélectionnez l'option "Nouveau .. Nouvelle procédure locale (Navigateur)".
    2. Dans la fenêtre qui s'affiche :
      • Indiquez le nom de la procédure à créer.
      • L'option "Générer un commentaire d'en-tête" permet de générer automatiquement le commentaire du prototype de la procédure.
        Pour plus de détails, consultez Documentation automatique des procédures.
      • Indiquez le rôle de la procédure : Non défini, Métier, UI. Par défaut, une procédure a un rôle "Non défini".
      • Si l'éditeur de code affiche le code d'un champ, l'option "Créer la procédure au niveau du champ" permet de spécifier si la procédure locale doit être associée au champ ou non.
    3. Cliquez sur le bouton "Ajouter". La procédure locale est créée. Par défaut, la procédure créée est publique. Pour plus de détails, consultez le paragraphe Procédure locale publique ou privée.
  • Méthode 3 : Pour créer une procédure locale :
    1. Positionnez le curseur dans l'événement "Déclarations globales" de la fenêtre ou de la page, dans un événement lié au champ ou dans l'événement "Ouverture" de l'état.
    2. Tapez le prototype de la procédure à créer.
    3. Validez. La procédure locale est automatiquement créée.
Remarque : Pour transformer une partie de code déjà saisi dans une procédure locale en une procédure locale :
  1. Sélectionnez le code correspondant.
  2. Utilisez l'option "Nouveau .. Créer une procédure locale contenant le code sélectionné" du menu contextuel.
  3. Indiquez :
    • le nom de la procédure.
    • la portée de la procédure. Par défaut, la procédure créée est publique. Pour plus de détails, consultez le paragraphe Procédure locale publique ou privée.
  4. La procédure est créée, le code correspondant est remplacé par l'appel de la procédure avec les paramètres nécessaires.
WEBDEV - Code ServeurWEBDEV - Code Navigateur Remarque : Si le code sélectionné est un code serveur, la procédure créée sera une procédure serveur. Si le code sélectionné est un code navigateur, la procédure créée sera une procédure navigateur.

Création depuis le volet "Explorateur de projet"

Pour créer une procédure locale depuis le volet "Explorateur de projet" :
  1. Sélectionnez l'élément associé à la procédure locale (fenêtre, page, état, champ, ...).
  2. Déroulez les options de l'élément et sélectionnez l'option "Procédures" de l'élément.
    Remarque : Pour les champs, si aucune procédure n'est associée au champ, l'option "Procédures" n'est pas affichée. Dans ce cas, sélectionnez le nom du champ.
  3. Affichez le menu contextuel.
  4. Sélectionnez :
    • WINDEV l'option "Nouvelle procédure".
    • WEBDEV - Code Serveur l'option "Nouvelle procédure serveur".
    • WEBDEV - Code Navigateur l'option "Nouvelle procédure navigateur".
    • WEBDEV - Code ServeurWEBDEV - Code Navigateur l'option "Nouvelle procédure mixte".
  5. Dans la fenêtre qui s'affiche :
    • Indiquez le nom de la nouvelle procédure locale.
    • L'option "Générer un commentaire d'en-tête" permet de générer automatiquement le commentaire du prototype de la procédure.
      Pour plus de détails, consultez Documentation automatique des procédures.
    • Indiquez le rôle de la procédure : Non défini, Métier, UI. Par défaut, une procédure a un rôle "Non défini".
  6. Cliquez sur le bouton "Ajouter". La procédure locale est créée. Par défaut, la procédure créée est publique. Pour plus de détails, consultez le paragraphe Procédure locale publique ou privée.
  7. Validez.

Afficher la liste des procédures locales

Pour afficher la liste des procédures locales dans le volet "Explorateur de projet", utilisez la touche F8 sous l'éditeur de code.
Suppression d'une procédure locale
Pour supprimer une procédure locale depuis le volet "Explorateur de projet" :
  1. Sélectionnez l'élément associé à la procédure locale (fenêtre, page, état, champ, ...).
  2. Déroulez les options de l'élément.
  3. Déroulez l'option "Procédures" de l'élément.
  4. Sélectionnez la procédure voulue.
  5. Affichez le menu contextuel de la procédure et sélectionnez l'option "Supprimer".
Procédure locale publique ou privée
Une procédure locale est publique par défaut : elle est accessible depuis n'importe quel code.
Dans certains cas, il est nécessaire de restreindre l'accès à une procédure locale en la rendant "Privée".
Lors de la création d'une procédure locale, il est possible de spécifier si la procédure est publique ou privée.
Pour modifier le mode d'accès à une procédure locale :
  1. Sélectionnez la procédure locale dans le volet "Explorateur de projet".
  2. Dans le menu contextuel de la procédure, sélectionnez le nouveau mode d'accès :
    • publique.
    • privé.
La couleur du bandeau de la procédure change en fonction de son mode d'accès :
  • début de bandeau rouge : procédure privée.
  • début de bandeau habituel : procédure publique.
Remarque : Composant externe et procédures locales privées ou publiques :
L'utilisation de procédures locales privées ou publiques a un impact notamment dans les composants externes. En effet, seules les procédures explicitement publiques (utilisant le mot-clé PUBLIC dans leur prototype) présentes dans un composant externe pourront pas être accessibles depuis le projet intégrant ce composant.
Version minimum requise
  • Version 12
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 01/07/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale