Bibliothèque de fonctions de rappelUn ensemble de fonctions qui prennent en charge les capacités de rappel et de réinitialisation dans les interfaces graphiques JSL. La bibliothèque est présentée ici : Total Recall : Une nouvelle stratégie pour la prise en charge du rappel dans les applications JMP.
28 mars 2023 - mis à jour vers la v2 grâce aux contributions de @hogi
Développement d'applications analytiquesUtilitairesRe : Bibliothèque de fonctions de rappel@msharp
Il est facile de désactiver verbose en mettant simplement une variable au début de votre script :
verbose = 0;
puis en l'utilisant dans les commandes. C'est ce que je fais. Vous pourrez ensuite l'allumer ou l'éteindre à volonté. Comme je l'ai dit dans le billet de blog, je préfère les fonctions bavardes, donc je laisse le mode verbeux activé jusqu'à ce que je sois sûr que les fonctions de rappel fonctionnent correctement, puis je le désactive.
Concernant votre autre point, je dirais que c'est une question de préférence personnelle. Le flux de travail que vous décrivez (devoir fermer et rouvrir un complément) me rendrait fou. Avoir un bouton de réinitialisation me semble tout simplement plus élégant - il n'y a pas d'interruption du flux de travail, vous réinitialisez simplement l'interface graphique (comme dans Graph Builder). La configuration d'une fonction de réinitialisation n'est qu'une question de copier-coller. La configuration de l'interface utilisateur est également un travail que vous devrez faire de toute façon, alors pourquoi ne pas simplement utiliser la fonction de réinitialisation pour faire les deux ?
M
Re : Bibliothèque de fonctions de rappelJ'ai trouvé mon chemin ici depuis : https://community.jmp.com/t5/JMP-Wish-List/Add-builtin-quot-Recall-quot-message-to-all-Windows-created-by/idi-p/50963
Code génial.J’apprécie vraiment le travail que vous faites.Cela ressemble vraiment à un morceau de script précieux.
Juste quelques commentaires.Je pense que vous avez trop compliqué cela, ce qui rend plus difficile pour quelqu'un d'autre d'utiliser/de donner un sens au code.Vous n'avez pas besoin de réinitialiser les rôles, une utilisation peut toujours simplement fermer la fenêtre et la rouvrir.Si vous souhaitez leur enregistrer un clic, vous pouvez créer un bouton pour le faire à leur place.Une fois cela parti, vous pouvez également vous débarrasser de genArrays et coller la logique clé dans storeRoles, car le seul moment où vous avez besoin de stocker des informations est dans cette fonction.Cela vous laisserait avec deux fonctions, storeRoles() qu'un utilisateur brancherait sur ses boutons OK, etcallRoles.Un utilisateur aurait simplement besoin de fournir à storeRoles les zones d'affichage, ce qu'elles sont et un espace de noms pour stocker les valeurs.Les rappelsRoles seraient alors encore plus simples : il vous suffirait de lui fournir l'espace de noms et il ferait le reste.
Enfin, verbeux doit toujours être désactivé par défaut.
Re : Bibliothèque de fonctions de rappel@gzmorgan0
True - Supprimer les symboles () serait supprimé n'importe lequel implémentation d'un espace de noms nommé - le vôtre et le mien inclus. OMI, c'est un peu bâclé d'utiliser Delete Symbols() en dehors du débogage - cela suppose que vos variables sont les seules importantes en mémoire - mais vous ne pouvez pas faire grand-chose pour l'arrêter... Un collègue m'a fait part de quelques réflexions sur une stratégie pour mettre les choses hors de la mémoire que je travaille sur la mise en œuvre. Cette alternative devrait être résistante à ce problème.
Cela dit, le but de la bibliothèque était (comme l'indique ce billet de blog : Lien vers le blog ) pour créer une ressource permettant de simplifier le flux de travail de configuration d'une fonction de rappel, car il s'agit d'une fonctionnalité très utile et importante pour les utilisateurs. Il n'a jamais été question de faire quelque chose infaillible .
Re : Bibliothèque de fonctions de rappelM,
C'est intéressant, cependant, tout ne serait-il pas perdu si un script exécutait la commande suivante ?
Delete Symbols();
Peut-être que j'ai raté quelque chose.
Nous avons décidé d'utiliser un tableau associatif d'espace de noms nommé pour implémenter le rappel dans notre exemple d'application créé avec le générateur d'applications et notre exemple de version JSLC de Fit Y by X ; tous deux réalisés pour notre livre, JSL Companion 2e éd., chapitres 10 et 7, respectivement.