Entraînement sur JSL pour un débutant - "{" inattendu. Il manque peut-être un ";" ou un ",".Salut,
Je m'entraîne sur JSL pour sélectionner un fichier .jmp à ouvrir via une fenêtre de dialogue de fichier. Si l'utilisateur n'a pas fait de sélection, pour quitter.
Cependant, j'obtiens l'erreur ci-dessous :
"{" inattendu. Il manque peut-être un ";" ou un ",".
Ligne 7 Colonne 21 : si (manquant(fn)) ►{
Le texte restant qui a été ignoré était
{exit();}Ouvrir(fn);
Mon script ci-dessous:
// Open a dialog to choose a .jmp file to open
// Get the filename of the .jmp file to open
fn = Pick File("Select a .jmp file to open", "", {"JMP Files|jmp;jsl;jrn", "All Files|*"}, 1, 1, "Default Filename.jmp");
// If the user did not select a file, exit the script
if (Is Missing(fn)) {
exit();
}
// Open the selected file
Open(fn);J'apprécierais si quelqu'un pouvait m'indiquer ce qui me manque ici.
Merci.
Automatisation et scriptsRe : S'entraîner sur JSL pour un débutant - "{" inattendu. Il manque peut-être un ";" ou un ",".Je vous suggère de prendre le temps de lire le Guide de script. Vous y trouverez un moyen efficace d'apprendre les structures et la syntaxe de JSL.
Concernant votre code :
La syntaxe de votre instruction If() est incorrecte. La forme d'une instruction If() est la suivante :
If( condition1, result1, ,...,)
L'instruction d'erreur que vous avez reçue pointe vers la ligne 7, colonne 21, le "{"; Votre fonction If() a une condition mais aucun résultat.
If (Is Missing(fn))
Il y a une condition, mais le deuxième ")" ferme l'instruction. JMP rencontre alors le "{" et ne sait pas quoi en faire. Je crois que ce que vous voulez vraiment, c'est :
If( Is Missing( fn ),
Exit(),
// Else Open the selected file
Open( fn )
);
Je peux également vous suggérer de réfléchir longuement et sérieusement à l’utilisation de
Exit()
il termine JMP.
Vous pouvez simplement arrêter l'exécution du script, mais laisser l'utilisateur avec la session JMP ouverte. Pour ce faire, utilisez l'
Throw()
fonction.
Re : S'entraîner sur JSL pour un débutant - "{" inattendu. Il manque peut-être un ";" ou un ",".Vous utilisez une syntaxe incorrecte (utilisez ( au lieu de } et ) au lieu de }, terminez également vos expressions par
.
Vous devriez consulter le Guide de script (jmp.com) pendant votre apprentissage du JSL. Il existe également des cours sur le JSL, comme ici Cours d'introduction au langage de script JMP , il existe également du matériel fourni par le groupe d'utilisateurs du JSL Scripters Club JMP Scripters Club - JMP User Community .