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)
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 :
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
$Fenetre:=Creer fenetre formulaire("MAIL";Fenêtre standard;Centrée horizontalement;Centrée verticalement)
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.