Re : Comment appeler des scripts et des fonctions depuis un dossier ?Salut Néo,
La fonction include fonctionnera-t-elle pour vous ? Essaye ça
Include("$SAMPLE_SCRIPTS/estimatingPi.jsl");
Il y a des arguments supplémentaires. >>Parse Only analysera mais n'exécutera pas le script, >>Names Default to Here exécute le script dans son propre espace de noms.
Re : Comment appeler des scripts et des fonctions depuis un dossier ?Vous voudrez peut-être envisager de chiffrer les fichiers JSL que vous ne souhaitez pas modifier.S'ils sont chiffrés, JMP ne les affichera même pas dans le journal, ce qui les gardera en sécurité.
Re : Comment appeler des scripts et des fonctions depuis un dossier ?@Jason_Wiggins Merci. Le problème que je vois ici est lorsque je partage le dossier parent (par exemple compressé par e-mail), selon l'endroit où l'utilisateur place le dossier parent décompressé (contenant le script principal et les autres scripts dans le dossier myScripts), le chemin d'accès au dossier parent change ce qui signifie que je ne peux pas coder en dur le chemin d'accès au dossier myScripts dans mon script principal. Est-ce que je manque quelque chose?
Re : Comment appeler des scripts et des fonctions depuis un dossier ?@txnelson L'option de cryptage semble bonne. Pourrais-je avoir (/veuillez pointer vers) un exemple avec un script principal et deux autres scripts que le script principal appelle (avec les deux autres scripts cryptés) ?
Re : Comment appeler des scripts et des fonctions depuis un dossier ?@Néo vous attendez-vous à ce que l'utilisateur avec lequel vous partagez vos scripts les exécute ou sont-ils simplement à titre de référence ? S'ils exécutent principalement le script, avez-vous envisagé de compiler les scripts dans un ajouter à ? Les fichiers de complément sont stockés dans un dossier de complément qui est cohérent d'un utilisateur à l'autre, par exemple Les fenêtres: C:\Users\\AppData\Roaming\SAS\JMP\Addins\*.* .JMP reconnaît le répertoire du complément quel que soit l'utilisateur. Include () fonctionne dans les compléments et vous pouvez ajouter des fichiers supplémentaires que votre script utilise, par exemple des images.Les scripts et les fichiers supplémentaires sont disponibles pour l'utilisateur s'il souhaite réutiliser ou réviser le code. Il existe des moyens de Crypter si vous ne voulez pas que l'utilisateur ait accès au code comme @txnelson suggéré.
Re : Comment appeler des scripts et des fonctions depuis un dossier ?- Lire la documentation sur le chiffrement des scripts dans le Guide des scripts
- Voici un exemple.Notez que la partie supérieure du script enregistre quelques scripts déjà chiffrés.Seul le bas du script est ce que vous utiliseriez pour accéder aux scripts chiffrés enregistrés.
names default to here(1);
// Create some saved encrypted scripts
// Below is an encrypted script that simply does a
// oneway()Oneway( Y( :height ), X( :sex ) )
encrypt =
"//-e12.1
0,
200,4182eJwNy9kBwiAMANB9XIFwlENKE0KhoMD+g+j7f6z01jbXDE3LJBaeCTjQ15Own9a6fQoXi7LcDp5qFrvE96Rneht6PKMy28XR
/336IaXjqrRfBlcsB4SazIgNtDSCujmYUsRq8Jozgmp7HOwaXej6mXfdiMLfaTM2yic22QMpD47KhMnfakSI75AsitcPuvg0Sg==
,0,";
// Save to a file
save text file("$TEMP/encript1.jsl",encrypt);
// Here is a second encrypted script that is simply
// Distribution( Continuous Distribution( Column( :height ) ) )
anotherEncrypt =
"//-e12.1
0,
224,4214eJwFwQkCwxAQAMD/9Auom+gu60zE/x/SGb5FBzdI3uv2eXW1FZf8JPN43VlFM1r2w+WbNuXU7A9M/X31V4EM5X6nEQJh8xPK
s6yuLeuWmcVN5KeK79TxUImohaaoWzK8cxUaVD9qZymQZFmNY+sp4k7UVwDGCcxeWyuG7rhTdnmy4o+WieaFBBXxIuQGprua2/mF
gakEBpHZN/sI7PMHIYc+CQ==
,0,";
// Save to a file
save text file("$TEMP/encript2.jsl",anotherEncrypt);
// Wait 10 seconds
wait(10);
// Here is the script that runs the 2 saved encrypted scripts
dt =
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Big Class.jmp" );
include("$TEMP/encript1.jsl");
include("$TEMP/encript2.jsl");Comment appeler des scripts et des fonctions depuis un dossier ?J'ai plusieurs scripts et fonctions qui sont appelés par mon script JSL principal. Ils fonctionnent tous et se trouvent dans un seul dossier.
Je veux garder tous les scripts et fonctions à l'intérieur d'un dossier pour avoir une couche de protection contre les modifications indésirables tout en n'ayant que le script principal à l'extérieur. Le script principal appellera les fonctions et les fichiers de ce dire dossier "messcripts" . Comment implémenter cela dans JSL - pourrais-je avoir un exemple s'il vous plaît?
Automatisation et script