Vos formulaires devront peut-être être modifiés en fonction des besoins de vos clients ou de vos utilisateurs. Par exemple, la couleur noire peut être parfaite pour un utilisateur mais pas pour un autre (qui considère le bleu comme la perfection ultime). Heureusement, les formulaires dynamiques (introduits avec 4D v16 R6) sont là pour vous aider à gérer les préférences de vos utilisateurs. Mais la réécriture d’un formulaire existant en un formulaire dynamique peut s’avérer une tâche difficile, et il n’est pas toujours facile de commencer par une page blanche. L’idéal serait d’avoir une ébauche qui puisse être modifiée et améliorée. Avec 4D v17 R3, il est désormais possible de convertir facilement un formulaire 4D classique (stocké dans un fichier .4DB) en formulaire dynamique.
Pour cela, une nouvelle commande est disponible. Passez le nom du formulaire et vous recevrez un objet décrivant le formulaire.
$oForm:=FORM Convert to dynamic("myProjectForm")
Vous pouvez ensuite apporter des modifications au formulaire rapidement et facilement. Par exemple, vous pouvez changer la couleur de la police pour tous les objets avec l’étiquette « Cancel » dans votre formulaire par code :
// iterate on all objects of first page
$pageObjects:=$oForm.pages[1].objects
For each ( ; ) ( ( [ ]. )="@Cancel@") [ ]. :="red" ($object$pageObjects
IfString$pageObjects$objecttext // all widgets with a "Cancel" caption text
$pageObjects$objectstroke // change it to red color
End if
End for each
DIALOG$oForm)
Autre exemple, vous pouvez enregistrer le formulaire dynamique dans un fichier sur l’ordinateur de l’utilisateur et effectuer des modifications personnalisées pour cet utilisateur spécifique uniquement.
La couleur de la police n’était qu’un simple exemple. Mais ce n’est pas tout … la police, la taille de la police, la possibilité d’entrer, le format, la position, le redimensionnement, l’option de redimensionnement, la méthode de l’objet assigné ou les événements du formulaire, et bien plus encore. Vous pouvez complètement redessiner un formulaire à la volée. Les possibilités sont infinies !