/*""" Description de la fonction en une phrase. Auteur : jthi Date de création : 2023-11-16 Création JMP Version : JMP Pro 17.2.0 Description (généralement, cette partie est une explication plus longue sur l'application) : Cela fait partie du modèle que j'utilise généralement. J'ai différentes fonctions utilitaires que j'ajoute via le contrôle de version selon les besoins et je stocke mes fichiers de configuration séparés de ce script. La structure de base de mes compléments/outils plus grands est la suivante : /my_app /config ma_config.jsl /bin /externals ma_utilies.jsl /doc my_app.jsl my_app -> ma préfixe. J'utilise ce type de préfixes pour certains de mes noms de script car les fichiers récents de JMP n'affichent que le nom du fichier, rien de plus. De cette façon, je peux au moins avoir une idée du fichier de configuration que je vais ouvrir au fur et à mesure que je développe de nombreux outils différents. /config contient toutes sortes de fichiers de configuration, il peut s'agir de modèles de requête SQL, d'images, de fichiers de paramètres, de tables de spécifications... /bin contient les scripts qui sont inclus pour faire fonctionner my_app /bin/externals sont des scripts/fichiers courants que je copie en tant qu'externes (j'utilise svn pour le contrôle de version) selon les besoins (par exemple des fonctions utilitaires génériques, des fonctions de contrôle de version) / doc contiendrait de la documentation mais il est généralement vide. Les instructions utilisateur et autres que j'écris dans le système de gestion de contenu et mes documents de code lui-même (principalement). Parfois, ce dossier contient des organigrammes ou une sorte de fichier Lisez-moi si j'estime que ceux-ci sont nécessaires. Quelques exemples qui pourraient (ou non) suivre ce type de modèle peuvent être trouvés auprès de la communauté : -
https://community.jmp.com/t5/Discovery-Summit-Europe-2023/Pythonless-Python-Integration-for-JMP -2023-EU-30MP-1265/ta-p/572674 -
https://community.jmp.com/t5/JMP-Add-Ins/Analyse-Columns/ta-p/460329 -
https://community.jmp .com/t5/JMP-Add-Ins/Enhanced-Sankey-Plot-ESP/ta-p/549745 (mise en page différente) Todo : * * """*/ Noms par défaut ici (1); app_name = "Mon application Modèle"; version_str = "1.0.0"; window_name = app_name || " - version: " || version_str; help_url = "
https://community.jmp.com/"; window_icon = "Distrib"; // Construit- dans JMP Icons est très utile pour les icônes // Soit je garde le logo dans mon dossier de configuration, soit je stocke l'expression créée par // JMP lorsque je l'ouvre (généralement je stocke l'expression), par exemple : // company_logo = Open(" $SAMPLE_IMAGES/tile.jpg", "jpg"); company_logo = Icon Box("JMPLogo") << obtenir l'image; run_app = Expr( nw = Nouvelle fenêtre (nom_fenêtre, Afficher le menu (0), Afficher les barres d'outils (0), Zone de liste V (aligner ("centre")), Zone de liste H (Essayer (Boîte d'images (logo_entreprise)), Zone d'espacement (Taille (5,0)), Zone de liste H (Aligner (haut), Zone de texte (nom_application, < < Définir la taille de la police(22), << Couleur de la police("Rouge"), << Définir le style de police("Gras"), << Définir l'habillage(500)), Zone de texte(version_str, << Définir la taille de la police(11 ), << Couleur de police("Noir"), << Définir le style de police("Plain")) ) ), Zone d'onglet( Zone de page d'onglet("Inputs", // Habituellement, je ne force pas la taille des zones de ma page à onglet , mais si je le fais, j'utilise des boîtes d'espacement comme celle-ci V List Box(Spacer Box(Size(600, 0)), // Forcer la largeur à l'aide de V List Box + Spacer Box H List Box(Spacer Box(Size(0, 300 )), // H List Box + Spacer Box pour la hauteur Lineup Box(N Col(1), Text Box("Quelques entrées ici"), // Et le contenu à l'intérieur de cette H List Box + Spacer Box ) ) ), , < < Définir la police de base ("Titre") ), Zone de page d'onglet ("Actions", Zone de programmation (N Col (1), Zone de boutons ("OK", << Définir l'icône ("RunTableScript") ), Zone de boutons (" Annuler", << Set Function(function({this}, (this << parent supérieur) << fermer la fenêtre) ) , << Set Icon("DebuggerAddBreakpoint") ), Spacer Box(Size(0, 10)), Boîte de boutons("Aide", Web(help_url), << Définir l'icône("WinHelpAbout")), ), << Définir la police de base("Titre") ), << Définir le style("Diffusion horizontale") ) ), << Définir l'icône de la fenêtre (window_icon) ); ); run_app; Écrire(); // J'utilise Write(); pour éviter de "retourner" la dernière ligne d'exécution, principalement pour garder le journal plus propre