Jump to content
  • entries
    69
  • comments
    19
  • views
    7647

L'option Rétablir, où comment FileMaker a pu garder la mémoire…


David Julot

572 views

 Share

Comment FileMaker Pro a pu garder en mémoire des informations d’impression, de tri, de recherche, etc. C’est simple ! Par l’option Rétablir.Tous ceux qui ont connu les versions antérieures à FileMaker Pro 7 doivent s’en souvenir encore… Que fallait-il cocher à la fermeture d’un script ? Remplacer ou conserver les options…
Y a-t-il des nouveautés en terme de conception et de développement de script ScriptMaker ? C’est ce que nous allons voir, pour cette onzième chronique ! 

Pour tous ceux qui ont connu les anciennes versions de FileMaker Pro (2 à 6), vous ne vous êtes jamais demandés :

  • Pourquoi lorsque l’on crée un script, celui-ci comportait les actions de recherche, de tri et d’impression ?
  • Pourquoi il fallait toujours effectuer manuellement les action de recherche, de tri, d’impression, d’importation ou d’exportation avant de réaliser un script ?
  • Pourquoi FileMaker Pro nous demandait, à la sortie d’une modification de script, s’il fallait remplacer ou conserver les options de tri, de recherche, d’impression, d’importation et d’exportation ?
  • Pourquoi nous ne pouvions pas avoir plus d’une action de tri, de recherche, etc. avec des options différentes dans un même script ?
  • Pourquoi il fallait obligatoirement passer par un script pour avoir un bouton exécutant simplement une action de tri, de recherche, d’impression, etc. ?

Non, il n’y avait pas de complot de la part de FileMaker pour nous compliquer la vie de développeur. Au contraire !

 

Avant le Pro, il y avait le II !

Hein ? Et oui, avant FileMaker Pro il y avait FileMaker, tout court ! Pour ceux qui ont connu FileMaker et FileMaker II, souvenez-vous ! Il n’y avait pas de possibilité de créer des programmes dans FileMaker pour automatiser des actions. Il y avait juste un système d’enregistrement des dernières actions effectuées par l’utilisateur.

On effectuait une recherche, un tri, puis on choisissait un modèle et un format d’impression. Ensuite, on demandait à FileMaker de conserver dans une « macro », que l’on pouvait nommer à sa guise, les critères de recherche, de tri, de modèle et d’impression.

À tout moment, en sélectionnant la macro, FileMaker reproduisait la recherche, le tri, redéfinissait les critères d’impression et affichait le résultat dans le modèle sélectionné.

Pour ceux qui ont connu ClarisWorks, c’était la même chose, et pour cause, c’était le moteur de FileMaker II qui était présent dans cet intégré.

 

FileMaker Pro est arrivé, le script aussi…

Pour éviter de heurter les utilisateurs, dans la façon d’utiliser FileMaker, l’éditeur avait conservé le mode opératoire pour créer une « macro ». En effet, à chaque création de script, FileMaker introduisait d’office les actions qui venaient d’être exécutées.

Pour la création d’un script, juste après l’ouverture de la base :

Mode Utilisation []
Activer modèle ["modèle n°1"]
Configurer impression [Rétablir, Sans dialogue]
Afficher toutes les fiches
Annuler tri
Impression []

Pour la création d’un script, juste après avoir effectuer une recherche et un tri :

Mode Utilisation []
Activer modèle ["modèle n°1"]
Configurer impression [Rétablir, Sans dialogue]
Exécuter recherche [Rétablir]
Trier [Rétablir, Sans dialogue]
Impression []


D’office FileMaker Pro nous permettait de conserver les dernières actions, et options associées. Tout ça pour avoir une compatibilité ascendante avec le mode opératoire. Cela permettait aux utilisateurs qui ne voulait pas développer de pouvoir continuer à enregistrer leurs dernières actions puis à les reproduire, sous forme cette fois-ci de scripts et non plus de macros.

Et pourtant, cela allait déranger de plus en plus les développeurs en herbe que nous étions. Ce qui était voulu comme une aide au développement, allait devenir une contrainte. Qui n’avait jamais pester contre le fait qu’il fallait, à chaque création d’un script, effacer toutes les actions mises en place automatiquement par FileMaker Pro ?

Dans les nouveautés de FileMaker Pro 6, oui il y en a eu, il y avait justement la fin de la mise en place automatique d’actions de script. Un petit bonheur… À chaque création d’un script, celui-ci était vierge. À nous les joies du développement, à partir du néant !

 

L’option Rétablir

Cette fameuse option était présente, et l’est toujours aujourd’hui, dans les actions suivantes :

  • de recherche ;
  • de tri ;
  • d’impression et de configuration d’impression ;
  • d’exportation et d’importation.

Il fallait donc, avant de réaliser un script, effectuer ces actions manuellement pour que FileMaker Pro conserve les différentes options associées. Le script, par l’intermédiaire de l’option Rétablir, conservait les options de recherche, de tri, d’impression et d’exportation/importation.

Petits problèmes :

  • Impossible, en ouvrant le script, de connaitre les paramètres conservés, à moins d’exécuter ou d’imprimer le script ;
  • De changer simplement un paramètre d’une action ayant l’option Rétablir, à moins d’exécuter manuellement l’action, puis d’ouvrir et refermer le script et de demander de changer le paramètre contenu dans le script ;
  • Impossible d’avoir plusieurs actions de tri, d’impression, d’exportation ou d’importation dans le même script avec des paramètres différents.

 

FileMaker Pro 7, le tant attendu, est arrivé !

Avec cette nouvelle version, il était maintenant possible de paramétrer directement dans le script les actions de recherche, de configuration d’impression, d’impression, de tri, d’exportation et d’importation.

Il est même possible, luxe suprême, d’avoir un bouton qui exécute une action de recherche, de tri, etc. avec ses options conservées, sans passer par un script ! Quel bonheur…

 

Le paramètre de script

Une autre nouveauté de la version 7 de FileMaker Pro, c’est la possibilité d’adresser au script un paramètre, cela peut être un mot, un nombre ou le résultat d’un calcul. Mais à quoi cela peut-il servir ?

Imaginez sur un modèle deux boutons. Le premier effectue un tri croissant des enregistrements, le second un tri décroissant des enregistrements, le tout sans passer par un script. Maintenant, imaginez que vous devez placer ces mêmes bouton sur un grand nombre de modèles, pour avoir la même ergonomie dans l’usage de cette base de données. Imaginez, enfin, que vous devez modifier le comportement des ces boutons. Il faudra alors modifier chaque bouton, sans oublier un seul modèle.

Si maintenant vous souhaitez gagner du temps, et surtout éviter d’oublier un bouton, alors pensez au paramètre de script. Pour cela, tous les boutons exécuteront le même script. Il faut savoir que maintenant, il est possible d’effectuer dans un même script plusieurs tris, recherches, impressions, etc. avec des options différentes.

Lorsque vous demanderez au bouton d’exécuter un script, vous aurez remarqué qu’il est possible d’adresser un paramètre de script. Par exemple, pour le bouton qui doit effectuer un tri croissant, il enverra le mot « croissant » au script « programme », et le bouton qui doit effectuer un tri décroissant, il enverra le mot « décroissant » au même script.

Le script « programme » effectuera le tri croissant ou décroissant suivant le paramètre reçu :

Définir variable [$param; Valeur:Obtenir(ParamètreScript)]
Si [$param = "croissant" ]
  Trier enregistrement [Rétablir; Sans fenêtre]
  Afficher enreg/requête/page [Premièr(e)]
Sinon si [$param = "décroissant" ]
  Trier enregistrement [Rétablir; Sans fenêtre]
  Afficher enreg/requête/page [Premièr(e)]
Fin de si

Ce qui permet de regrouper au sein d’un même script, donc en un seul endroit, toute la programmation d’une barre de navigation par exemple. Et donc, le jour où l’on doit modifier le comportement de tel ou tel bouton, de modifier uniquement la partie de script correspondant au bouton, sans craindre d’oublier un bouton sur un modèle.

 

Et FileMaker Pro 8 ?

Cette version a ajouté une option à une action de script méprisée par beaucoup de développeurs : Fin de script. En effet, depuis FileMaker Pro 8, cette action a vu apparaitre une option qui permet de retourner une valeur statique ou dynamique : Résultat de script.

Combinez paramètre de script, variable et résultat de script, et vous obtiendrez des scripts autonomes et réutilisables. Mais ceci est une autre histoire, que je vous conterai une autre fois…

 

C’est fini pour aujourd’hui !

Vous me retrouverez la semaine prochaine, j’espère avec toujours autant de plaisir que j’ai à écrire ses chroniques dominicales. N’hésitez pas à commenter ce billet, à participer, à le faire connaitre. Et si vous avez des suggestions n’hésitez pas à me les soumettre.

Cette semaine, je tiens à saluer mes stagiaires de l’Assemblée nationale, je leur ai promis de leur faire un petit coucou. Voilà pour les messages personnels.

Bonne semaine à toutes et à tous.

 Share

0 Comments


Recommended Comments

There are no comments to display.

Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...