PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • 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/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
L'instruction RENVOYER permet de sortir du traitement (ou de la procédure) en cours en renvoyant un compte-rendu.
Ce compte-rendu peut correspondre à :
  • une valeur.
  • Versions 19 et supérieures
    plusieurs valeurs. Pour plus de détails, consultez Valeurs de retour multiples.
    WEBDEV - Code NavigateurAndroidWidget AndroidJava Cette fonctionnalité n'est pas disponible.
    Nouveauté 19
    plusieurs valeurs. Pour plus de détails, consultez Valeurs de retour multiples.
    WEBDEV - Code NavigateurAndroidWidget AndroidJava Cette fonctionnalité n'est pas disponible.
    plusieurs valeurs. Pour plus de détails, consultez Valeurs de retour multiples.
    WEBDEV - Code NavigateurAndroidWidget AndroidJava 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,
  • Versions 19 et supérieures
    Le code de fermeture d'un état,
    Nouveauté 19
    Le code de fermeture d'un état,
    Le code de fermeture d'un état,
  • Une procédure (test de condition, boucle de type POUR, POUR TOUT, BOUCLE, TANTQUE, ...).
Versions 16 et supérieures
WINDEV MobileUniversal Windows 10 App Cette fonctionnalité est disponible pour les applications Windows Phone.
Nouveauté 16
WINDEV MobileUniversal Windows 10 App Cette fonctionnalité est disponible pour les applications Windows Phone.
WINDEV MobileUniversal Windows 10 App Cette fonctionnalité est disponible pour les applications Windows Phone.
Versions 17 et supérieures
WINDEV MobileiPhone/iPad Cette fonctionnalité est disponible pour les applications iPhone/iPad.
Nouveauté 17
WINDEV MobileiPhone/iPad Cette fonctionnalité est disponible pour les applications iPhone/iPad.
WINDEV MobileiPhone/iPad Cette fonctionnalité est disponible pour les applications iPhone/iPad.
Versions 18 et supérieures
WINDEVWINDEV MobileUniversal Windows 10 App Cette fonctionnalité est disponible en mode Windows Store apps.
WINDEV MobileWidget Android Cette fonctionnalité est disponible en mode Widget Android.
Nouveauté 18
WINDEVWINDEV MobileUniversal Windows 10 App Cette fonctionnalité est disponible en mode Windows Store apps.
WINDEV MobileWidget Android Cette fonctionnalité est disponible en mode Widget Android.
WINDEVWINDEV MobileUniversal Windows 10 App Cette fonctionnalité est disponible en mode Windows Store apps.
WINDEV MobileWidget Android Cette fonctionnalité est disponible en mode Widget Android.
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
PROCEDURE 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.
  • Versions 19 et supérieures
    Il est possible de renvoyer plusieurs valeurs. Pour plus de détails, consultez Valeurs de retour multiples.
    Nouveauté 19
    Il est possible de renvoyer plusieurs valeurs. Pour plus de détails, consultez Valeurs de retour multiples.
    Il est possible de renvoyer plusieurs valeurs. Pour plus de détails, consultez Valeurs de retour multiples.

Code de fermeture de la fenêtre ou de la page 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 ou de la page.
  • Versions 19 et supérieures
    Il est possible de renvoyer plusieurs valeurs. Pour plus de détails, consultez Valeurs de retour multiples.
    Nouveauté 19
    Il est possible de renvoyer plusieurs valeurs. Pour plus de détails, consultez Valeurs de retour multiples.
    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.
  • Versions 19 et supérieures
    Il est possible de renvoyer plusieurs valeurs. Pour plus de détails, consultez Valeurs de retour multiples.
    Nouveauté 19
    Il est possible de renvoyer plusieurs valeurs. Pour plus de détails, consultez Valeurs de retour multiples.
    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
Versions 19 et supérieures
Remarque : Ces instructions peuvent également renvoyer plusieurs valeurs. Pour plus de détails, consultez Valeurs de retour multiples.
Nouveauté 19
Remarque : Ces instructions peuvent également renvoyer plusieurs valeurs. Pour plus de détails, consultez Valeurs de retour multiples.
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.
Attention : Il n'est pas possible d'utiliser les instructions RETOUR et RENVOYER dans un même traitement.

Types renvoyés

Versions 15 et supérieures
A partir de la version 15, les types suivants peuvent être utilisés :
  • structure
  • structure dynamique
  • classe
  • type avancé
  • tableau
  • tableau associatif
  • file
  • pile
  • liste
Nouveauté 15
A partir de la version 15, les types suivants peuvent être utilisés :
  • structure
  • structure dynamique
  • classe
  • type avancé
  • tableau
  • tableau associatif
  • file
  • pile
  • liste
A partir de la version 15, les types suivants peuvent être utilisés :
  • structure
  • structure dynamique
  • classe
  • type avancé
  • tableau
  • tableau associatif
  • file
  • pile
  • liste
WINDEVWEBDEV - Code ServeurWINDEV MobileEtats et RequêtesWindowsLinuxiPhone/iPadApple WatchWindows MobileCode Utilisateur (MCU)

Valeur de retour multiple

Versions 19 et supérieures
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
PROCEDURE 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 :
        Versions 20 et supérieures
        x = MaProc()
        Nouveauté 20
        x = MaProc()
        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. Le typage des valeurs de retour est disponible à partir de la version 190040.
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 :
PROCEDURE f()
RENVOYER (1, 2)

PROCEDURE g(x, y)
RENVOYER x+y

z est un entier
z = g(f())
// z vaut 3
Nouveauté 19
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
PROCEDURE 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 :
        Versions 20 et supérieures
        x = MaProc()
        Nouveauté 20
        x = MaProc()
        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. Le typage des valeurs de retour est disponible à partir de la version 190040.
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 :
PROCEDURE f()
RENVOYER (1, 2)

PROCEDURE g(x, y)
RENVOYER x+y

z est un entier
z = g(f())
// z vaut 3
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
PROCEDURE 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 :
        Versions 20 et supérieures
        x = MaProc()
        Nouveauté 20
        x = MaProc()
        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. Le typage des valeurs de retour est disponible à partir de la version 190040.
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 :
PROCEDURE f()
RENVOYER (1, 2)

PROCEDURE 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