DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Syntaxe WLangage / Instructions structurées
  • Instructions pouvant renvoyer une valeur
  • Autres instructions permettant de sortir d'une boucle ou d'une procédure
  • Types renvoyés
  • Valeur de retour multiple
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
L'instruction RENVOYER permet de sortir de l'événement, traitement ou procédure en cours en renvoyant un compte-rendu.
Ce compte-rendu peut correspondre à :
  • une valeur.
  • plusieurs valeurs. Pour plus de détails, consultez Valeurs de retour multiples.
    WEBDEV - Code Navigateur Cette fonctionnalité n'est pas disponible.
L'instruction RENVOYER peut être utilisée dans :
  • Le code de fermeture du projet,
  • Le code de fermeture d'une fenêtre ou d'une page,
  • Le code de fermeture d'un état,
  • Une procédure (test de condition, boucle de type POUR, POUR TOUT, BOUCLE, TANTQUE, ...).
Remarque : Le mot-clé RETOUR peut également être utilisé à la place du mot-clé RENVOYER.
Exemple
// Appel d'une procédure renvoyant RIEN en cas de problème
// Traitement différent selon la valeur de retour
Valeur_Champ est une chaîne
Valeur_Champ = MonTraitement(Nom_Champ)
SI Valeur_Champ = "Rien" ALORS
Info("Aucune valeur n'a pu être calculée")
SINON
Info("Valeur du champ : " + Valeur_Champ)
FIN
// -- Procédure MonTraitement
PROCÉDURE MonTraitement(Champ)
SI Champ..Type = typSaisieTexte ALORS
RENVOYER Champ..Valeur
SINON
RENVOYER "Rien"
FIN
Syntaxe

Procédure Masquer les détails

PROCEDURE <Nom de la procédure> ([<Paramètre>])
SI <Condition> ALORS
    RENVOYER <Valeur(s) à renvoyer>
SINON
    RENVOYER <Valeur(s) à renvoyer>
FIN
Remarques :
  • Si la <Condition> est vérifiée, les opérations effectuées sont :
    • Renvoi d'un compte-rendu au traitement appelant. Le type et la valeur de <Valeur à renvoyer> dépend de la valeur attendue par le traitement d'appel de la procédure.
    • Sortie du bloc d'instructions.
    • Sortie du traitement (ou de la procédure) en cours.
  • Il est possible de renvoyer plusieurs valeurs. Pour plus de détails, consultez Valeurs de retour multiples.

Code de fermeture de la fenêtre, de la page ou de l'état Masquer les détails

RENVOYER <Valeur à renvoyer>
Remarques :
  • Dans ce cas, le paramètre <Valeur à renvoyer> doit correspondre à la valeur attendue lors de l'appel de la fenêtre, de la page ou de l'état.
  • Il est possible de renvoyer plusieurs valeurs. Pour plus de détails, consultez Valeurs de retour multiples.

Code de fermeture du projet Masquer les détails

RENVOYER <Valeur à renvoyer>
Remarque : Dans ce cas, la <Valeur à renvoyer> doit être un entier. Cette valeur peut être récupérée par n'importe quelle application. Dans le cas d'une application WINDEV, la valeur renvoyée par une autre application peut être connue par la fonction LanceAppli.
Remarques

Instructions pouvant renvoyer une valeur

Plusieurs instructions peuvent renvoyer une valeur dans une procédure :
  • Instruction SI
    PROCEDURE <Nom de la procédure> ([<Paramètre>])
    SI <Condition> ALORS
    RENVOYER <Valeur à renvoyer>
    SINON
    RENVOYER <Valeur à renvoyer>
    FIN
  • Instruction POUR
    PROCEDURE <Nom de la procédure> ([<Paramètre>])
    POUR <Variable de contrôle> = <Valeur initiale> A <Valeur finale> [PAS <x>]
    SI <Condition> ALORS RENVOYER <Valeur à renvoyer>
    FIN
  • Instruction POUR TOUT
    PROCEDURE <Nom de la procédure> ([<Paramètre>])
    POUR TOUT <Fichier> SUR <Rubrique clé>
    ...
    SI <Condition> ALORS RENVOYER <Valeur à renvoyer>
    FIN
  • Instruction BOUCLE
    PROCEDURE <Nom de la procédure> ([<Paramètre>])
    BOUCLE
    ...
    SI <Condition> ALORS RENVOYER <Valeur à renvoyer>
    ...
    FIN
  • Instruction TANTQUE
    PROCEDURE <Nom de la procédure> ([<Paramètre>])
    TANTQUE <Condition 1>
    ...
    SI <Condition> ALORS RENVOYER <Valeur à renvoyer>
    ...
    FIN
Remarque : Ces instructions peuvent également renvoyer plusieurs valeurs. Pour plus de détails, consultez Valeurs de retour multiples.

Autres instructions permettant de sortir d'une boucle ou d'une procédure

Plusieurs instructions sont possibles :
  • RETOUR : Sortie de la boucle et sortie du traitement (ou de la procédure) en cours.
  • SORTIR : Sortie de la boucle et exécution de la suite du traitement (ou de la procédure) en cours.
La fonction Ferme permet de sortir de la boucle (ou de la procédure) et de fermer la fenêtre en cours.

Types renvoyés

Les types suivants peuvent être renvoyés :
  • structure
  • structure dynamique
  • classe
  • type avancé
  • tableau
  • tableau associatif
  • file
  • pile
  • liste
WEBDEV - Code ServeurWindowsLinux

Valeur de retour multiple

Une procédure, une fonction, une méthode de classe, ou une fenêtre peut renvoyer plusieurs valeurs.
La syntaxe à utiliser est la suivante :
RENVOYER (<Valeur 1>, <Valeur 2>, ... <Valeur N>)
ou bien
RETOUR = (<Valeur 1>, <Valeur 2>, ... <Valeur N>)
Exemple :
// Code de la procédure
PROCÉDURE MaProc()
 
// Traitement
RENVOYER (1, 2, 3)
 
 
// Code d'appel de la procédure
( x, y, z ) = MaProc()
// x vaut 1, y vaut 2, z vaut 3
Note :
  • Dans le cas d'une fenêtre, la fonction Ferme permet également de renvoyer plusieurs valeurs.
  • Dans une procédure, tous les RENVOYER ou RETOUR présents dans cette procédure doivent renvoyer le même nombre de valeurs.
  • Les retours multiples ne sont pas autorisés dans une procédure stockée.
  • Les propriétés ne peuvent pas utiliser de valeurs multiples.
  • Dans le cas d'une procédure, les valeurs renvoyées peuvent correspondre à des types simples (entier, booléen, ...) ou à des types complexes (structures, ...).
  • Dans le cas d'une fenêtre ou d'un état, les valeurs renvoyées peuvent correspondre à des types simples (entier, booléen, ...).
  • Si la procédure, la fenêtre ou l'état renvoie plusieurs valeurs, il n'est pas obligatoire de récupérer toutes les valeurs. Il est possible d'en lire qu'une seule. Par exemple :
    • Lecture de toutes les valeurs :
      ( x, y, z ) = MaProc()
    • Lecture d'une seule valeur :
      • Lecture de la première valeur :
        (x) = MaProc()
        ou bien :
        x = MaProc()
      • Lecture de la seconde valeur :
        (,y) = MaProc()
Typage des valeurs de retour
Il est possible de typer les valeurs de retour à une procédure. La syntaxe est la suivante :
PROCEDURE NomProcédure() : ([<Type valeur 1>, [<Type valeur 2>, ... , [<Type valeur N>]]])
Remarque : Il n'est pas obligatoire de typer toutes les valeurs de retour.
Valeur de retour multiple utilisée en paramètre
Il est possible de passer une valeur de retour multiple en paramètre à une procédure ou une fonction du WLangage.
Exemple :
PROCÉDURE f()
RENVOYER (1, 2)
 
PROCÉDURE g(x, y)
RENVOYER x+y
 
z est un entier
z = g(f())
// z vaut 3
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

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