4D v16.3

DIALOGUE

Accueil

 
4D v16.3
DIALOGUE

DIALOGUE 


 

DIALOGUE ( {laTable ;} formulaire {; *} ) 
Paramètre Type   Description
laTable  Table in Table à laquelle appartient le formulaire Si omis : Table par défaut ou utilisation d'un formulaire projet
formulaire  Chaîne in Nom du formulaire table ou projet à afficher comme dialogue
Opérateur in Utiliser le même process

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 ALERTE, CONFIRMER 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é via une action standard ou 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.

Notes :

  • 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.
  • Lorsque le paramètre * est utilisé, la fenêtre est refermée automatiquement à la suite d'une action standard ou de l'appel de la commande NE PAS VALIDER ou VALIDER. Vous ne devez pas gérer vous-même la fermeture de la fenêtre.

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

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")

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.



Voir aussi  

AJOUTER ENREGISTREMENT
Creer fenetre
NE PAS VALIDER
VALIDER

 
PROPRIÉTÉS 

Produit : 4D
Thème : Saisie
Numéro : 40
Nom intl. : DIALOG

Cette commande modifie la variable système OKCette commande modifie la variable système Error

 
HISTORIQUE 

Modifié : 4D v11 SQL

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)