JSL: definire le variabili in base all'immissione dell'utente tramite una finestra a comparsaCiao,
Vorrei creare una finestra pop-up che permetta all'utente di definire le variabili senza accedere al codice. Sono riuscito a ottenere il pop-up per ottenere le voci dell'utente in base ai post precedenti, ma non sono stato in grado di passarlo alle variabili.
Potresti per favore aiutarmi con questo?
Grazie in anticipo
// 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
)
)
)
)
);ScriptingRe: JSL: definire le variabili in base all'immissione dell'utente tramite una finestra a comparsaCi sono un paio di problemi con il tuo script.Il primo è che state cambiando il tipo di dati delle variabili Input_table e JMP_table_name.Si inizia con poi definite come stringhe di caratteri, ma poi le si ridefiniscono come campi di visualizzazione.
In secondo luogo, solo perché JMP sta aprendo una finestra, non interrompe l'elaborazione JSL e attende l'input dell'utente.JMP continuerà semplicemente a elaborare, a meno che la finestra non sia definita come finestra modale. Vedi la mia modifica del tuo script di seguito.Ti consiglio caldamente di dedicare del tempo alla lettura della Guida agli script.
// 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>
Re: JSL: definire le variabili in base all'immissione dell'utente tramite una finestra a comparsaGrazie molte!
Grazie anche per aver spiegato gli errori che ho commesso; questo mi aiuterà sicuramente in futuro.
Buona giornata!
Re: JSL: definire le variabili in base all'immissione dell'utente tramite una finestra a comparsaCiao,
Sono saltato su un problema aggiuntivo.
Sono riuscito a far aprire la finestra modale e ho passato le nuove definizioni delle variabili all'interno dello script per input_table e il nome JMP_table.
Andando sulla variabile vedo che è stata aggiornata correttamente.
Quindi, il resto del mio script dovrebbe eseguire azioni, come l'apertura della tabella specificata dall'utente (al di fuori del pulsante), ma non viene eseguita.
Ho provato a mettere l'intero script nella finestra modale, ho provato anche ad aggiungere un wait() ma questo non aiuta.
Se eseguo lo script senza la finestra modale, funziona bene, quindi il problema deriva sicuramente da lì.
Qualche idea su come risolvere questo?
Ecco il codice.
// 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: definire le variabili in base all'immissione dell'utente tramite una finestra pop-upHo trovato la soluzione. Ho usato una "Casella di modifica del testo" e un "Ottieni testo" per un valore numerico. Ho modificato in "Casella di modifica numero" e in "Ottieni" e funziona.:
// 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>