JSL : Définissez des variables en fonction de la saisie de l'utilisateur via une fenêtre contextuelleBonjour,
Je voudrais créer une fenêtre contextuelle qui permet à l'utilisateur de définir des variables sans accéder au code. J'ai réussi à obtenir la fenêtre contextuelle pour obtenir les entrées de l'utilisateur en fonction des publications précédentes, mais je n'ai pas pu la transmettre aux variables.
Pourriez-vous s'il vous plaît m'aider avec cela?
Merci d'avance
// Indicate here the name of the input HTML table
input_table = "http://xxx.html";
// Indicate here the name you want for your JMP data table
JMP_table_name = "JMP data table";
w = New Window( "User inputs", // opens a window with a title and this content...
Border Box( top( 20 ), bottom( 20 ), Left( 20 ), Right( 20 ), // window dressing
V List Box( // V and H lists nest to organize the display boxes
H Center Box( Text Box( "Report Generator" ) ), // a second title, centered
Spacer Box( size( 1, 30 ) ), // a little vertical space
H List Box( Text Box( "input_table: " ), input_table=Text Edit Box("http://xxx.html") ), // data entry
Spacer Box( size( 1, 30 ) ), // a little vertical space
H List Box( Text Box( "JMP_table_name: " ), JMP_table_name=Text Edit Box("JMP data table") ), // more data entry
Spacer Box( size( 1, 30 ) ), // a little vertical space
H Center Box( // center the button
Button Box( "Submit", // this script runs when the button is pressed...
input_table = result["input_table"];
JMP_table_name = result["JMP_table_name"];
w << closeWindow; // close the dialog
)
)
)
)
);Modélisation statistique avancéeAccès aux donnéesRe : JSL : Définissez des variables en fonction de l'entrée de l'utilisateur via une fenêtre contextuelleJ'ai trouvé la solution. J'ai utilisé une "boîte d'édition de texte" et un "Get Text" pour une valeur numérique. J'ai modifié "Number Edit Box" et "Get" et cela fonctionne.:
// Initialize variables with default values
// Number of input data tables (default = 1)
nb_join_tables = 2;
//links to the input HTML tables
input_table_01 = "http://xxx.html";
input_table_02 = "http://xxx.html";
//Create a pop up window to request user inputs for the variables
w = New Window( "User inputs", <<MODAL></MODAL>
Re : JSL : Définissez des variables en fonction de l'entrée de l'utilisateur via une fenêtre contextuelleBonjour,
J'ai sauté dans un problème supplémentaire.
J'ai réussi à ouvrir la fenêtre modale et j'ai passé les nouvelles définitions de variables dans le script pour input_table et le nom JMP_table.
En continuant sur la variable je vois qu'elle a été correctement mise à jour.
Ensuite, le reste de mon script est censé effectuer des actions, telles que l'ouverture de la table spécifiée par l'utilisateur (en dehors du bouton), mais il ne s'exécute pas.
J'ai essayé de mettre tout le script dans la fenêtre modale, j'ai aussi essayé d'ajouter un wait() mais cela n'aide pas.
Si j'exécute le script sans la fenêtre modale, cela fonctionne bien, donc le problème vient définitivement de là.
Aucune idée sur la façon de résoudre ça?
Voici le code.
// Initialize variables with default values
// Number of input data tables (default = 1)
nb_join_tables = 2;
//links to the input HTML tables
input_table_01 = "http://xxx.html";
input_table_02 = "http://xxx.html";
//Create a pop up window to request user inputs for the variables
w = New Window( "User inputs", <<MODAL></MODAL>
Re : JSL : Définissez des variables en fonction de l'entrée de l'utilisateur via une fenêtre contextuelleMerci beaucoup!
Merci également d'avoir expliqué les erreurs que j'ai commises ; cela m'aidera certainement à l'avenir.
Passe une bonne journée!
Re : JSL : Définissez des variables en fonction de l'entrée de l'utilisateur via une fenêtre contextuelleIl y a quelques problèmes avec votre script.Le premier indique que vous modifiez le type de données des variables Input_table et JMP_table_name.Vous commencez par définir puis en tant que chaînes de caractères, mais vous les redéfinissez ensuite en tant que champs d'affichage.
Deuxièmement, juste parce que JMP ouvre une fenêtre, n'arrête pas le traitement JSL et attend l'entrée de l'utilisateur.JMP continuera simplement à traiter, à moins que la fenêtre ne soit définie comme une fenêtre modale Voir ma modification de votre script ci-dessous.Je suggère fortement que vous preniez le temps de prendre le temps de lire le Guide de Scripting.
// Indicate here the name of the input HTML table
input_table = "http://xxx.html";
// Indicate here the name you want for your JMP data table
JMP_table_name = "JMP data table";
w = New Window( "User inputs", <<MODAL></MODAL>