4D v16

Fenêtres et navigation

Accueil

 
4D v16
Fenêtres et navigation

Fenêtres et navigation    


 

 

En complément des manipulations expliquées dans la vidéo, il faut noter que : 

4D dispose de la commande ALERTE pour afficher des messages.

Vous constaterez rapidement qu’il est souvent nécessaire d’agrémenter les messages avec des informations complémentaires.

En prévision de vos développements futurs, vous pourrez mettre en place un formulaire paramétrable destiné à remplacer la commande ALERTE et à afficher des messages plus personnalisés, dans lesquels vous autoriserez (ou non) la copie des messages d'erreur.

Pensez également que ce dialogue d’alerte est un formulaire à part entière. Il peut donc contenir :

  • plusieurs pages
  • un onglet
  • des boutons
  • des tableaux
  • et tout ce qui vous semblera nécessaire.

Vous pourrez même proposer l’envoi automatique d’un mail au service assistance avec des informations :

  • sur l’utilisateur
  • la machine
  • la date
  • l’heure
  • le message d’erreur
  • etc...
  • ou tout simplement l’enregistrement de ces informations dans un fichier de log accessible ensuite à l’assistance technique.

Vous pouvez également paramétrer le formulaire pour :

  • qu’il affiche ou masque tel ou tel bouton
  • qu’il ajoute un URL cliquable permettant l’accès à une aide en ligne
  • le choix de la langue des messages
  • paramétrer les messages à partir d’une table renseignée par l’utilisateur
  • etc ...

Une fois le principe compris, la seule limite sera votre imagination.

Bonjour,

dans cette vidéo nous allons apprendre à utiliser les propriétés de dimensionnement automatique des objets et comprendre l'interaction possible entre la programmation et la gestion de la navigation.

Après avoir relooké un peu le formulaire interventions et la table par ajout de texte descriptif, commentaires, % de réalisation, identifiant unique, nous voulons disposer d'un bouton d'envoi de mails dans le formulaire de détail de la table interventions.

Ce mail sera adressé au technicien en charge de l’intervention.

Pour cela, il faut que nous ajoutions ce bouton et l’interface de saisie du mail.

Nous avons donc créé un formulaire projet MAIL ainsi qu'une méthode DETAIL_FONCTIONS que nous appelons pour Annuler ou

 VALIDER
un dialogue.
D’emblée, nous prévoyons d’utiliser ce formulaire dans d’autres circonstances.

Toutes les zones du formulaire seront donc des variables que nous pourrons alimenter avec le contenu des champs d'une table ou de l'autre.

Nous allons en profiter pour rendre les zones auto-ajustables :

  • en demandant un redimensionnement horizontal "agrandir"
  • et en dimensionnement vertical, pour le Contenu seul, “Agrandir”

Nous devons maintenant indiquer le type de ces variables.

dans la méthode formulaire nous ajoutons ces lignes

 $evt:=Evenement formulaire
 Au cas ou
    :($evt=Sur chargement//Initialisation des variables utilisées dans le mail
       C_TEXTE(vEmetteur;vDestinataire;vDestinataireCopie;vDestinataireCopieCachee;vObjet;vContenu)
 Fin de cas

qui permettent d'initialiser les variables que nous allons utiliser.

On vérifie également que l'événement sur chargement du formulaire soit le seul qui soit coché.

Le bouton d'envoi de mail que nous programmerons par la suite provient de la bibliothèque d'images, c'est le bouton "Mail" qui figure dans les fichiers PNG fournis avec la base exemple.
Le dialogue est prêt. Nous pouvons créer, en bas du formulaire DETAIL Intervention, le bouton d’appel de ce dialogue.
La méthode associée à ce bouton sera de cette forme-la :

  //valoriser les variables pour faciliter la saisie
 vEmetteur:="prof@4d.fr"
 vDestinataire:=[Techniciens]email
 vDestinataireCopie:=""
 vDestinataireCopieCachee:=""
 vObjet:="Intervention prévue le "+Chaine([Interventions]Date_Intervention)+" à "+Chaine([Interventions]Heure_Intervention)
 vContenu:=[Interventions]Objet+(Caractere(13)*2)+[Interventions]Descriptif
 
  //créer la fenêtre (conteneur) dans laquelle on affiche le dialogue (contenu)
 $Fenetre:=Creer fenetre formulaire("MAIL";Fenêtre standard;Centrée horizontalement;Centrée verticalement)
  //afficher le dialogue DIALOGUE("MAIL")
  //une fois le dialogue refermé, refermer la fenêtre
 FERMER FENETRE($Fenetre)

  • on valorise les variables avec éventuellement des concaténations
  • ensuite on demande à créer un conteneur c'est à dire une fenêtre
  • dans lequel on affichera le dialogue mail
  • et à l'issue on fermera la fenêtre.

Testons maintenant le fonctionnement de ce dialogue.

Et on voit que le bouton technicien se retrouve au milieu du commentaire puisque le commentaire est auto-ajustable mais pas le bouton.

Nous allons donc rectifier ça en indiquant dans les propriétés du bouton qu'il doit se déplacer verticalement en cas de modification de la taille du formulaire.

Vérifions : le bouton se déplace bien en fonction de la taille de la fenêtre

On va tracer la méthode du bouton :

  • vérifier que les variables sont bien valorisées
  • créer le conteneur
  • et afficher le dialgoue.

Nous retrouvons bien :

  • les informations de l'intervention.
  • Le bouton d'envoi de mail qui sera programmé par la suite
  • et en cas d'agrandissement ou de diminution de la taille de la fenêtre, les objets sont redimensionnés directement.

il est bien évidemment possible de modifier l'ensemble des variable.

 
 

 
PROPRIÉTÉS 

Produit : 4D
Thème : Fenêtres et navigation
Nom intl. : Windows and navigation

 
HISTORIQUE 

 
UTILISATION DE L'ARTICLE

Autoformation ( 4D v16)