DIALOGUE

4D - Documentation   Français   English   German   Español   4D v11 SQL, Commandes par thèmes   4D v11 SQL, Liste alphabétique des commandes   4D v11 SQL, Constantes par thèmes   Retour   Précédent   Suivant

version 11 (Modifiée)


DIALOGUE ({table; }formulaire{; *})

ParamètreTypeDescription
tableTableTable à laquelle appartient le formulaire ou
Table par défaut si ce paramètre est omis
formulaireChaîneNom du formulaire table ou projet à afficher comme dialogue
**Utiliser le même process

Description

La commande DIALOGUE présente le formulaire à l'utilisateur. Cette commande est souvent utilisée pour récupérer dans des variables des données fournies par l'utilisateur, ou pour lui présenter différentes informations, comme un choix d'options pour effectuer une opération.

Il est courant d'afficher le formulaire dans une fenêtre modale créée à l'aide de la commande Creer fenetre.

Voici un exemple typique de boîte de dialogue pouvant être affichée avec la commande DIALOGUE :

Utilisez DIALOGUE plutôt que CONFIRMER, ALERTE ou Demander lorsque les informations à afficher ou à recueillir sont plus complexes que celles que peuvent gérer ces trois autres commandes.

Note : Dans les bases de données converties, il est possible d'interdire la saisie dans les champs dans les boîtes de dialogue (et donc de limiter la saisie aux seules variables) via une option des Préférences de 4D (page Compatibilité). Cette restriction correspond au fonctionnement des anciennes versions de 4D.

A la différence d'AJOUTER ENREGISTREMENT et de MODIFIER ENREGISTREMENT, DIALOGUE n'utilise pas le formulaire entrée courant. Vous devez spécifier, dans le paramètre formulaire, le formulaire (formulaire projet ou formulaire table) à utiliser. De même, aucun ensemble de boutons n'est placé par défaut s'ils sont omis dans le formulaire. Dans ce cas, seule la touche Echap (Windows) ou Esc (Mac OS) permet de quitter le formulaire.

Le dialogue est validé si l'utilisateur clique sur le bouton de validation ou appuie sur la touche Entrée, ou si la commande VALIDER est exécutée.

A noter que la validation n'entraîne pas la sauvegarde : si le dialogue comporte des champs, vous devez appeler explicitement la commande STOCKER ENREGISTREMENT pour stocker les données éventuellement modifiées.

Le dialogue est annulé si l'utilisateur clique sur le bouton d'annulation, appuie sur la touche d'annulation (Echap sous Windows, Esc sous Mac OS), ou si la commande NE PAS VALIDER est exécutée.

Si vous passez le paramètre facultatif * , le formulaire est chargé et affiché dans la dernière fenêtre ouverte du process courant et la commande termine son exécution en laissant le formulaire actif à l'écran.

Ce formulaire réagit alors "normalement" aux actions de l'utilisateur et est fermé lorsque du code 4D lié au formulaire (méthode objet ou méthode formulaire) appelle la commande NE PAS VALIDER ou VALIDER. Si le process courant se termine, les formulaires créés de cette façon sont automatiquement fermés en simulant un NE PAS VALIDER. Ce mode d'ouverture est particulièrement utile pour afficher une palette flottante en rapport avec un document, sans pour autant nécessiter un autre process.

Note : Vous devez créer une fenêtre avant d'appeler l'instruction DIALOGUE(form;*), il n'est pas possible d'utiliser la fenêtre du dialogue en cours dans le process ni la fenêtre créée par défaut pour chaque process. Dans le cas contraire, l'erreur -9909 est générée.

Après un appel à DIALOGUE, la variable système OK prend la valeur 1 si le dialogue est validé, et 0 sinon.

Exemples

(1) L'exemple suivant illustre l'utilisation de la commande DIALOGUE pour spécifier des critères de recherche. Un formulaire personnalisé contenant les variables vNom et vPays permet à l'utilisateur de saisir ses critères :

   Creer fenetre (10; 40; 370; 220) ` Créer une fenêtre modale 
   DIALOGUE ("Form Recherche") ` Afficher le dialogue de recherche 
   FERMER FENETRE ` Nous n'avons plus besoin de la fenêtre 
   Si (OK = 1) ` Si le dialogue est validé 
      CHERCHER ([Société]; [Société]Nom = vNom; *) 
      CHERCHER (& [Société]Payst = vPays) 
   Fin de si 

(2) L'exemple suivant permet de créer une palette d'outils :

      `Affichage palette d'outils
   $window_palette:=Creer fenetre formulaire("tools";Form fenêtre palette)
   DIALOGUE("tools";*) `Rend la main immédiatement
      `Affichage fenêtre document principal
   $window_document:=Creer fenetre formulaire("doc";Form fenêtre standard)
   DIALOGUE("doc")

Variables et ensembles système

Si l'utilisateur valide le dialogue, la variable système OK prend la valeur 1, si le dialogue est annulé OK prend la valeur 0.

Référence

AJOUTER ENREGISTREMENT, Creer fenetre, NE PAS VALIDER, VALIDER.


4D - Documentation   Français   English   German   Español   4D v11 SQL, Commandes par thèmes   4D v11 SQL, Liste alphabétique des commandes   4D v11 SQL, Constantes par thèmes   Retour   Précédent   Suivant