PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Caractéristiques de la boîte de dialogue et du champ de saisie
  • Gestion des masques de saisie
  • Saisie de texte multiligne
  • Saisie par l'intermédiaire d'une case à cocher
  • Base de messages
  • Limites
  • Exemple de saisie complète
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
Affiche un message en permettant à l'utilisateur de saisir une information.
Fonction Dialogue
Remarque : Plusieurs syntaxes sont disponibles pour cette fonction :
  • Syntaxe simplifiée, saisie directement sous l'éditeur de code.
  • Syntaxe complète avec saisie de la question grâce à un assistant. L'éditeur de code propose un assistant complet (option "<Assistant>" proposée par la saisie assistée). Cet assistant permet de définir les différents éléments apparaissant dans le message, et génère automatiquement le code correspondant. Le libellé des boutons est automatiquement proposé en fonction du texte de la question.
  • Versions 20 et supérieures
    Syntaxe directe, saisie directement sous l'éditeur de code.
    Nouveauté 20
    Syntaxe directe, saisie directement sous l'éditeur de code.
    Syntaxe directe, saisie directement sous l'éditeur de code.
Versions 15 et supérieures
Android Cette fonction est désormais disponible pour les applications Android.
Nouveauté 15
Android Cette fonction est désormais disponible pour les applications Android.
Android Cette fonction est désormais disponible pour les applications Android.
Versions 16 et supérieures
WINDEVLinux Cette fonction est désormais disponible pour les applications WINDEV sous Linux.
Nouveauté 16
WINDEVLinux Cette fonction est désormais disponible pour les applications WINDEV sous Linux.
WINDEVLinux Cette fonction est désormais disponible pour les applications WINDEV sous Linux.
Versions 20 et supérieures
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Nouveauté 20
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Exemple
// Exemple de saisie simplifiée
NbExemplaire est un entier
RetourValeur est un entier
RetourValeur = Saisie("Combien d'exemplaires voulez-vous imprimer ?", NbExemplaire)
SELON RetourValeur
CAS 0 : Info("Vous avez annulé. Le nombre par défaut est de 1.")
CAS 1 : Info("Vous avez demandé " + NbExemplaire)
FIN
// Saisie simplifiée avec utilisation d'un masque de saisie
NumTel est une chaîne
// Utilisation d'un masque de saisie texte spécifique
Saisie.MasqueSaisie = maskTelFrance
SELON Saisie("Quel est votre numéro de téléphone ?", NumTel)
// OK
CAS 1 : SAI_NumTel = NumTel
// Annuler
CAS 0 : SAI_NumTel = "Pas de téléphone"
FIN
Commentaires est une chaîne
Commentaires = Répète(RC, 10)
// Saisie de commentaires par l'utilisateur dans un champ multiligne
// Saisie limitée à 140 caractères
Saisie.MasqueSaisie = "regexp:.{0,140}"
SELON Saisie("Saisissez vos commentaires.", Commentaires)
// OK
CAS 1 : SAI_Comment = Commentaires
// Annuler
CAS 0 : SAI_Comment = "Pas de commentaire"
FIN
AfficherInfo est un booléen = Faux
// On demande à l'utilisateur s'il veut réellement fermer l'application
// Une coche "Ne plus afficher cette fenêtre" permet à l'utilisateur
// de ne plus afficher cette question à l'avenir
Saisie.LibelléOptionnel = "Ne plus afficher cette fenêtre"
SI AfficherInfo = Faux ALORS
        SELON Saisie("Voulez-vous fermer l'application ?", AfficherInfo)
                // Fermer
                CAS 1 : Ferme()
        FIN
FIN
// Pensez à stocker la valeur de AfficherInfo pour les prochaines fois
Versions 20 et supérieures
// Syntaxe directe
NumTel est une chaîne
SI Saisie("Quel est votre numéro de téléphone?", NumTel, ...
["Valider", "Pas de téléphone", "Annuler"], 3, 3, dlgIcôneQuestion) = 1 ALORS
Info(NumTel)
FIN
Nouveauté 20
// Syntaxe directe
NumTel est une chaîne
SI Saisie("Quel est votre numéro de téléphone?", NumTel, ...
["Valider", "Pas de téléphone", "Annuler"], 3, 3, dlgIcôneQuestion) = 1 ALORS
Info(NumTel)
FIN
// Syntaxe directe
NumTel est une chaîne
SI Saisie("Quel est votre numéro de téléphone?", NumTel, ...
["Valider", "Pas de téléphone", "Annuler"], 3, 3, dlgIcôneQuestion) = 1 ALORS
Info(NumTel)
FIN
Syntaxe

Syntaxe simplifiée (sans utiliser l'assistant) Masquer les détails

<Résultat> = Saisie(<Question>, <Variable à saisir>)
<Résultat> : Entier
Identifie la réponse sélectionnée par l'utilisateur :
  • 0 : l'utilisateur a cliqué sur le bouton "Annuler".
  • 1 : l'utilisateur a cliqué sur le bouton "OK".
<Question> : Chaîne de caractères (avec guillemets)
Question à poser à l'utilisateur. Cette question peut utiliser la fonction ChaîneConstruit.
<Variable à saisir> : Tout type
Variable dans laquelle l'utilisateur doit saisir sa réponse.
  • Cette variable doit avoir été déclarée avant l'appel de la fonction Saisie.
  • Le type de la variable définit le type du champ dans lequel l'utilisateur saisit sa réponse. Pour les variables de type Heure ou date, le masque de saisie est automatiquement déduit de la variable. Il est possible de spécifier un masque de saisie spécifique (notamment pour les variables de type Texte) grâce à la variable Saisie.MasqueSaisie (voir Remarques).
  • Si la variable est initialisée avec une valeur, cette valeur correspond à la valeur proposée par défaut.
  • Après l'utilisation de la fonction Saisie, cette variable contient la réponse de l'utilisateur (quel que soit le bouton utilisé).

Syntaxe complète avec saisie de la question avec l'assistant Masquer les détails

<Résultat> = Saisie(<Question>, <Variable à saisir> [, <Paramètre 1> [, <Paramètre 2>, ...]])
<Résultat> : Entier
Identifie la réponse sélectionnée par l'utilisateur (valeur de 1 à le nombre de boutons dans la fenêtre de saisie).
Cette réponse dépend du nombre de boutons présents dans la fenêtre de description de la question. Les différentes valeurs correspondant aux différentes réponses sont automatiquement intégrées en commentaires dans l'éditeur de code lors de la sélection du message.
<Question> : Chaîne de caractères (avec guillemets)
Question à poser à l'utilisateur. Cette question peut contenir des paramètres identifiés par %1, %2, ...
<Variable à saisir> : Tout type
Variable dans laquelle l'utilisateur doit saisir sa réponse.
  • Cette variable doit avoir été déclarée avant l'appel de la fonction Saisie.
  • Le type de la variable définit le type du champ dans lequel l'utilisateur saisit sa réponse. Pour les variables de type Heure ou date, le masque de saisie est automatiquement déduit de la variable. Il est possible de spécifier un masque de saisie spécifique (notamment pour les variables de type Texte) grâce à la variable Saisie.MasqueSaisie (voir Remarques).
  • Si la variable est initialisée avec une valeur, cette valeur correspond à la valeur proposée par défaut.
  • Après l'utilisation de la fonction Saisie, cette variable contient la réponse de l'utilisateur (quel que soit le bouton utilisé).
<Paramètre 1> : Chaîne de caractères
Si la question contient des éléments paramétrables (identifiés par %1, %2, ...), ce paramètre permet de donner la valeur voulue. Ainsi <Paramètre 1> remplacera %1.
<Paramètre 2> : Chaîne de caractères
Si le message choisi contient des éléments paramétrables (identifiés par %1, %2, ...), ce paramètre permet de donner la valeur voulue. Ainsi <Paramètre 2> remplacera %2.
Versions 20 et supérieures

Syntaxe directe Masquer les détails

<Résultat> = Saisie(<Question> , <Variable à saisir> , <Libellés des boutons> [, <Bouton par défaut> [, <Bouton d'annulation> [, <Icône>]]])
<Résultat> : Entier
Identifie la réponse sélectionnée par l'utilisateur. Cette réponse dépend du message choisi.
<Question> : Chaîne de caractères (avec guillemets)
Question posée à l'utilisateur.
<Variable à saisir> : Tout type
Variable dans laquelle l'utilisateur doit saisir sa réponse.
  • Cette variable doit avoir été déclarée avant l'appel de la fonction Saisie.
  • Le type de la variable définit le type du champ dans lequel l'utilisateur saisit sa réponse. Pour les variables de type Heure ou date, le masque de saisie est automatiquement déduit de la variable. Il est possible de spécifier un masque de saisie spécifique (notamment pour les variables de type Texte) grâce à la variable Saisie.MasqueSaisie (voir Remarques).
  • Si la variable est initialisée avec une valeur, cette valeur correspond à la valeur proposée par défaut.
  • Après l'utilisation de la fonction Saisie, cette variable contient la réponse de l'utilisateur (quel que soit le bouton utilisé).
<Libellés des boutons> : Tableau
Nom de la variable de type Tableau contenant les libellés des boutons.
<Bouton par défaut> : Entier
Indice du bouton sélectionné par défaut. Par défaut, ce paramètre vaut 1.
<Bouton d'annulation> : Entier
Indice du bouton d'annulation. Par défaut, ce paramètre correspond à l'indice du dernier bouton.
<Icône> : Chaîne de caractères (avec guillemets) ou constante de type Entier
Icône affichée. Ce paramètre peut correspondre :
  • au chemin du fichier correspondant à l'icône affichée.
  • à une des constantes suivantes :
    dlgIcôneErreurIcône représentant une erreur.
    dlgIcôneInfoIcône représentant une information.
    dlgIcôneQuestion
    (Valeur par défaut)
    Icône représentant une question.
Nouveauté 20

Syntaxe directe Masquer les détails

<Résultat> = Saisie(<Question> , <Variable à saisir> , <Libellés des boutons> [, <Bouton par défaut> [, <Bouton d'annulation> [, <Icône>]]])
<Résultat> : Entier
Identifie la réponse sélectionnée par l'utilisateur. Cette réponse dépend du message choisi.
<Question> : Chaîne de caractères (avec guillemets)
Question posée à l'utilisateur.
<Variable à saisir> : Tout type
Variable dans laquelle l'utilisateur doit saisir sa réponse.
  • Cette variable doit avoir été déclarée avant l'appel de la fonction Saisie.
  • Le type de la variable définit le type du champ dans lequel l'utilisateur saisit sa réponse. Pour les variables de type Heure ou date, le masque de saisie est automatiquement déduit de la variable. Il est possible de spécifier un masque de saisie spécifique (notamment pour les variables de type Texte) grâce à la variable Saisie.MasqueSaisie (voir Remarques).
  • Si la variable est initialisée avec une valeur, cette valeur correspond à la valeur proposée par défaut.
  • Après l'utilisation de la fonction Saisie, cette variable contient la réponse de l'utilisateur (quel que soit le bouton utilisé).
<Libellés des boutons> : Tableau
Nom de la variable de type Tableau contenant les libellés des boutons.
<Bouton par défaut> : Entier
Indice du bouton sélectionné par défaut. Par défaut, ce paramètre vaut 1.
<Bouton d'annulation> : Entier
Indice du bouton d'annulation. Par défaut, ce paramètre correspond à l'indice du dernier bouton.
<Icône> : Chaîne de caractères (avec guillemets) ou constante de type Entier
Icône affichée. Ce paramètre peut correspondre :
  • au chemin du fichier correspondant à l'icône affichée.
  • à une des constantes suivantes :
    dlgIcôneErreurIcône représentant une erreur.
    dlgIcôneInfoIcône représentant une information.
    dlgIcôneQuestion
    (Valeur par défaut)
    Icône représentant une question.

Syntaxe directe Masquer les détails

<Résultat> = Saisie(<Question> , <Variable à saisir> , <Libellés des boutons> [, <Bouton par défaut> [, <Bouton d'annulation> [, <Icône>]]])
<Résultat> : Entier
Identifie la réponse sélectionnée par l'utilisateur. Cette réponse dépend du message choisi.
<Question> : Chaîne de caractères (avec guillemets)
Question posée à l'utilisateur.
<Variable à saisir> : Tout type
Variable dans laquelle l'utilisateur doit saisir sa réponse.
  • Cette variable doit avoir été déclarée avant l'appel de la fonction Saisie.
  • Le type de la variable définit le type du champ dans lequel l'utilisateur saisit sa réponse. Pour les variables de type Heure ou date, le masque de saisie est automatiquement déduit de la variable. Il est possible de spécifier un masque de saisie spécifique (notamment pour les variables de type Texte) grâce à la variable Saisie.MasqueSaisie (voir Remarques).
  • Si la variable est initialisée avec une valeur, cette valeur correspond à la valeur proposée par défaut.
  • Après l'utilisation de la fonction Saisie, cette variable contient la réponse de l'utilisateur (quel que soit le bouton utilisé).
<Libellés des boutons> : Tableau
Nom de la variable de type Tableau contenant les libellés des boutons.
<Bouton par défaut> : Entier
Indice du bouton sélectionné par défaut. Par défaut, ce paramètre vaut 1.
<Bouton d'annulation> : Entier
Indice du bouton d'annulation. Par défaut, ce paramètre correspond à l'indice du dernier bouton.
<Icône> : Chaîne de caractères (avec guillemets) ou constante de type Entier
Icône affichée. Ce paramètre peut correspondre :
  • au chemin du fichier correspondant à l'icône affichée.
  • à une des constantes suivantes :
    dlgIcôneErreurIcône représentant une erreur.
    dlgIcôneInfoIcône représentant une information.
    dlgIcôneQuestion
    (Valeur par défaut)
    Icône représentant une question.
Remarques

Caractéristiques de la boîte de dialogue et du champ de saisie

  • Le titre de la boîte de dialogue correspond au titre de la fenêtre en cours.
    iPhone/iPad Pour respecter les spécifications du système, le titre de la boîte de dialogue est vide par défaut. Pour définir ce titre, utilisez la fonction TitreSuivant. AndroidiPhone/iPad Pour respecter les spécifications du système, le titre de la boîte de dialogue est vide par défaut. Pour définir ce titre, utilisez la fonction TitreSuivant.
  • Pour modifier ou définir le titre de la boîte de dialogue, utilisez la fonction TitreSuivant.
  • Le gabarit du projet en cours est automatiquement appliqué à la boîte de dialogue.
    AndroidJava Le gabarit de l'application n'est pas appliqué sur la fenêtre de saisie.
  • Pour modifier les caractéristiques du champ de saisie (par exemple, modifier le cadrage ou remplacer les caractères saisis dans le champ par des astérisques), affichez l'assistant d'édition de la question (icône Saisie dans la syntaxe de la fonction Saisie) et cliquez sur l'icône Edition des paramètres de Saisie.

Gestion des masques de saisie

Par défaut, le masque de saisie utilisé est déterminé automatiquement à partir des informations d'internalisation du projet.
Cependant, il est possible de modifier le masque de saisie utilisé grâce à la variable Saisie.MasqueSaisie.
Cette variable peut prendre pour valeur une des constantes suivantes :
maskAAlphaNumLettre, puis lettres + chiffres
maskAAlphaNumMajusLettre en majuscule, puis lettres en majuscules + chiffres
maskAlphaLettres
maskAlphaMajusLettres en majuscules
maskAlphaNumLettres + chiffres
maskAlphaNumMajusLettres en majuscules + chiffres
maskAucunPas de masque de saisie
maskEMailAdresse email
maskFichierSansRepNom de fichier (sans ses répertoires)
maskINSEENuméro INSEE
maskINSEECléNuméro INSEE + clé
maskMajusTout en majuscules
maskMinusTout en minuscules
maskNomFicNom et chemin de fichier
maskNumChiffres
maskNumPlusChiffres, '+', ' ', '.', '-', ','
maskPatronymeLettres + Chiffres + Espace + Apostrophe + Tiret
maskPatronymeMajuscule Lettres Majuscules +Chiffres + Espace + Apostrophe + Tiret
maskPMajusPremière lettre en majuscule
maskTailleFichierMasque numérique pour les tailles de fichier et de disque
maskTelNuméro de téléphone
maskTelFranceNuméro de téléphone au format français
Il est également possible d'attribuer une expression régulière comme masque de saisie. Pour plus de détails, consultez MasqueSaisie.

Saisie de texte multiligne

Si le paramètre <Variable à saisir> est initialisé avec une chaîne de caractères contenant des RC, alors la saisie dans le champ associé sera multiligne.

Saisie par l'intermédiaire d'une case à cocher

Si la variable est de type booléen, dans ce cas, la saisie est réalisée dans une case à cocher. Le libellé de la case à cocher est déterminé grâce à la variable Saisie.LibelléOptionnel.

Base de messages

Lors de la création d'un message, ce message est automatiquement ajouté à la base de messages.
Par défaut, la base de messages est présente dans le répertoire "Personnel\Messages" de WINDEV et WINDEV Mobile.
Ce répertoire peut être modifié dans les options de WINDEV (option "Outils .. Options .. Options générales de WINDEV", onglet "Répertoire").Ce répertoire peut être modifié dans les options de WINDEV :
  • sous le volet "Accueil", dans le groupe "Environnement", déroulez "Options" et sélectionnez "Options générales de WINDEV".
  • affichez l'onglet "Répertoire".
Pour plus de détails sur la base de messages, consultez l'assistant de saisie d'une question.
AndroidiPhone/iPadJava

Limites

  • AndroidJava Le gabarit de l'application n'est pas appliqué sur la fenêtre de saisie.
  • La variable à saisir ne peut pas être initialisée avec des RC. Le champ de saisie restera monoligne.
    iPhone/iPad Il n'est pas possible d'utiliser un champ de saisie multiligne.
  • AndroidJava Si la variable saisie est de type Booléen, la saisie sera effectuée dans un champ de saisie (et non dans un interrupteur comme avec WINDEV).
  • AndroidJava Le masque de saisie n'est pas géré.
  • iPhone/iPad Cette fonction ne doit pas être utilisée :
    • dans le traitement de modification de taille des fenêtres. Dans le cas contraire, l'application sera bloquée.
    • dans le traitement de changement d'orientation des fenêtres.
    • dans le traitement de "Mise au premier-plan" associé au projet.
      Remarque : La fonction peut par contre être utilisée dans le traitement "Mise au premier plan" d'une fenêtre.
    • dans un thread.

Exemple de saisie complète

  1. Saisie de la question sous l'éditeur :
    Saisie de la question
  2. Code généré automatiquement (seule la variable "Destinataire" a été saisie sous l'éditeur de code) :
Destinataire est une chaîne
//1 : Créer une relance
//0 : Ne pas créer de relance
//1 : OK
SELON Saisie("Vous devez indiquer un destinataire.", Destinataire)
// Valider le destinataire
CAS 1

// Afficher la liste
CAS 2

// Annuler
CAS 3

FIN
Composantes
WINDEVEtats et Requêtes wd230obj.dll
Java wd230java.jar
Linux wd230obj.so
Android wd230android.jar
Version minimum requise
  • Version 10
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire