Comment intégrer une application, des scripts et des tables de données dans un packageBonjour,
J'écris une application qui est censée être distribuée aux utilisateurs...
Pour plusieurs raisons, j'ai besoin que l'application centralise tous les scripts et tables de données nécessaires à son exécution (pas besoin d'appeler un script ou une table de données de référence en dehors de l'application).
J'ai réussi à centraliser tous mes scripts dans des fonctions embarquées dans l'application, mais je ne sais pas comment embarquer les tables de données (ce qui veut dire que je dois quand même conserver certaines tables de données de référence dans un emplacement public et les appeler depuis l'application). .
Quelqu'un sait comment tout intégrer dans une seule application pour pouvoir le distribuer ?
Merci beaucoup.
Re : Comment intégrer une application, des scripts et des tables de données dans un packageJe me rends compte que cela est marqué comme résolu, mais je voulais ajouter ceci :
Dans l'explorateur d'objets, vous trouverez vos tableaux de données. Si vous cliquez dessus, les propriétés s'ouvriront en dessous. De là, vous pouvez contrôler l'emplacement. Il semble que vous souhaitiez peut-être le définir sur un script intégré.
Re : Comment intégrer une application, des scripts et des tables de données dans un packageC'est aussi une manière élégante
mais je préfère centraliser tous les fichiers dans l'application.
Merci.
Re : Comment intégrer une application, des scripts et des tables de données dans un packageSi votre complément se trouve sur un lecteur partagé, vous pouvez stocker des ensembles de données à l'emplacement du complément, plutôt que de les créer dynamiquement.Par exemple, voici un addin.def :
id="com.abccorp.mydept.myapp"
name="My Application"
autoload=1
home="M:\jmpapps\myapp\Addin"
Vous stockeriez tous vos fichiers et ensembles de données JSL dans le dossier M:\jmpapps\myapp\Addin.
Dans votre code, vous pouvez référencer des ensembles de données à l'aide du préfixe du complément :
open("$ADDIN_HOME(com.abccorp.mydept.myapp)\mydataset.xlsx");
HTH
Re : Comment intégrer une application, des scripts et des tables de données dans un packageMerci pour l'info 
Merci à tous...
Re : Comment intégrer une application, des scripts et des tables de données dans un packagePOUR VOTRE INFORMATION,
JMP est un langage interprétatif, pas un langage compilé.
Re : Comment intégrer une application, des scripts et des tables de données dans un packageAhhhh,
Je vois. Cela fonctionne parfaitement maintenant...
Je ne savais pas qu'il fallait d'abord définir la fonction pour l'appeler. Dans d'autres langages, après compilation, la fonction est reconnue partout où elle est placée (même en dehors du script).
Merci les gars !!
Re : Comment intégrer une application, des scripts et des tables de données dans un packageIan (pas Jan d'ailleurs) a montré le code où la fonction est définie avant d'être appelée.Votre code appelle la fonction avant qu'elle ne soit définie.
Re : Comment intégrer une application, des scripts et des tables de données dans un packageCela a fonctionné pour moi :
NamesDefaultToHere(1);
CreateTab = Function( {}, {Default Local},
A = New Table( "TestTable",
Add Rows( 4 ),
New Column( "Age", Numeric, Continuous, Format( "Best", 12 ), Set Values( [3, 5, 2, 8] ) ),
New Column( "Height", Numeric, Continuous, Format( "Best", 12 ), Set Values( [0.6, 1.03, 0.55, 1.3] ) )
);
A;
);
dt = CreateTab();
dt << Distribution(Y(:Height));
Si vous appelez votre fonction deux fois, JMP s'occupera de la collision des noms de table afin qu'elle fonctionne toujours.
Re : Comment intégrer une application, des scripts et des tables de données dans un packageJan,
J'ai joint ci-dessous un code simple pour tester votre proposition.
Je suis sûr que le principe fonctionne, mais je n'arrive pas à le faire :
dt = CreateTab();
CreateTab = Function( {},
A = New Table( "TestTable",
Add Rows( 4 ),
New Column( "Age",
Numeric,
Continuous,
Format( "Best", 12 ),
Set Values( [3, 5, 2, 8] )
),
New Column( "Height",
Numeric,
Continuous,
Format( "Best", 12 ),
Set Values( [0.6, 1.03, 0.55, 1.3] )
)
);
A;
);C'est comme si la table générée ne pouvait pas être transmise à dt.
Re : Comment intégrer une application, des scripts et des tables de données dans un packageSalut Jan,
Je suis désolé, j'ai mal compris l'un de vos conseils clés !!!! 
En fait, votre proposition de "Copier le script de données" devrait être la chose magique pour que cela fonctionne !!!!! Je ne connaissais pas cette fonctionnalité !
Laissez-moi le tester...
Merci beaucoup.
Re : Comment intégrer une application, des scripts et des tables de données dans un packageJe ne comprends pas entièrement le commentaire sur les « spécifications ou références », mais peut-être que je n'en ai pas besoin si ce fil aide.
Re : Comment intégrer une application, des scripts et des tables de données dans un packageJan,
J'ai commencé à utiliser Application Builder puis j'ai arrêté (je ne comprends pas vraiment comment contrôler les objets que je crée... De plus, j'ai peu d'objets à insérer par rapport à une méthode de script complète).
Quoi qu'il en soit, maintenant je suis en train de tout écrire.
L'exemple de Dan est très bon pour illustrer ce que je veux faire : dans son exemple, ce qu'on appelle intégrer une table de données consiste simplement à la faire apparaître dans le générateur d'application. Mais en réalité, il provient de son emplacement ($SAMPLE_DATA\Big Class.jmp). Cela signifie que le code de Dan ne fonctionnera pas si je n'ai pas une copie de la table de données "Big Class" déjà stockée quelque part sur mon ordinateur.
Ce que je veux faire, c'est intégrer des tableaux dans l'application afin que les utilisateurs n'aient pas besoin d'avoir une copie de ce tableau (et d'ailleurs, ces tableaux sont en quelque sorte des spécifications ou des références, je ne peux donc pas les générer par script).
J'espère que mon explication n'est pas trop vague...:(
Re : Comment intégrer une application, des scripts et des tables de données dans un packageJe pense que la « meilleure » façon de procéder peut dépendre de la manière dont vous créez l'application (avec Application Builder ?), ainsi que du flux de travail et de l'interface utilisateur souhaités. chez Dan article de blog pourrait être utile.
N'oubliez pas que vous pouvez également « inclure » des tables JMP en ajoutant le JSL pour les générer dans votre propre code (utilisez « Copier le script de table » dans le menu triangulaire rouge de la table requise).