JSL per selezionare la scheda Progetto ed eseguire lo scriptGente,
Sono completamente nuovo nel lavorare con Projects e ho qualche difficoltà a realizzare varie cose che faccio abitualmente in JSL.Il mio progetto ha 4 tabelle dati e sto provando a selezionarne una e quindi a eseguire uno script particolare elencato in quella tabella dati.Ho esaminato le informazioni della guida per Projects ma non riesco a capire come ottenere questo risultato.Eventuali suggerimenti/idee sarebbero molto apprezzati.
Ri: JSL per selezionare la scheda Progetto ed eseguire lo scriptInoltre, non dovrebbero essere necessari messaggi Run Script separati per ciascun blocco. L'ho fatto solo per la leggibilità. Potrebbe essere necessaria la chiamata wait(0), tuttavia, se stai tentando di aprire qualcosa e quindi impostare immediatamente il focus su di esso, altrimenti la scheda potrebbe non aver terminato il caricamento nel momento in cui proviamo a portarla avanti.Ri: JSL per selezionare la scheda Progetto ed eseguire lo script
@terapin ha scritto:
Cavolo,
È stato facile.Non sapevo di dover utilizzare Esegui Script per ogni comando o insieme di comandi.
Ora funziona molto bene, ad eccezione della possibilità di passare una variabile come nome della finestra o della tabella dati. Utilizzo JSL per elaborare dati da numerosi siti e estraggo l'ID del sito dal file di dati aperto e quindi lo utilizzo in molte altre sezioni di JSL per salvare, rinominare e spostare i file di dati in directory specifiche del sito.Sfortunatamente, non posso passare la mia variabile, stn, nei nomi della finestra o della tabella dati come mostrato di seguito.È possibile farlo con Projects e, in tal caso, hai un suggerimento su come realizzarlo?
Progetto << Esegui script (Ottieni tabella dati (stn || "Amp_Hr al giorno")); << Esegui script("OP dei parametri con PAR");
Progetto << Esegui script ( Ottieni finestra( stn || " Amp_Hr al giorno" ) << Porta la finestra in primo piano() );
È intenzionale che i progetti abbiano i propri ambiti JSL, ma ciò può causare problemi quando si tenta di condividere variabili tra di loro. Un modo per farlo è usare Eval/EvalExpr. Non è carino, ma fa il suo effetto:
win name = "Big Class";
Eval(
Eval Expr(
project << Run Script( Get Window( Expr( win name ) ) << Bring Window To Front() )
)
);
Ri: JSL per selezionare la scheda Progetto ed eseguire lo scriptCavolo,
È stato facile.Non sapevo di dover utilizzare Esegui Script per ogni comando o set di comandi.
Ora funziona molto bene, ad eccezione della possibilità di passare una variabile come nome della finestra o della tabella dati. Utilizzo JSL per elaborare dati da numerosi siti e estraggo l'ID del sito dal file di dati aperto e quindi lo utilizzo in molte altre sezioni di JSL per salvare, rinominare e spostare i file di dati in directory specifiche del sito.Sfortunatamente, non posso passare la mia variabile, stn, nei nomi della finestra o della tabella dati come mostrato di seguito.È possibile farlo con Projects e, in tal caso, hai un suggerimento su come realizzarlo?
Progetto << Esegui script (Ottieni tabella dati (stn || "Amp_Hr al giorno")); << Esegui script("OP dei parametri con PAR");
Progetto << Esegui script ( Ottieni finestra( stn || " Amp_Hr al giorno" ) << Porta la finestra in primo piano() );
Ri: JSL per selezionare la scheda Progetto ed eseguire lo scriptUtilizza Project << Run Script() per eseguire JSL all'interno del progetto dall'esterno di esso:
// 1. Create a project and open two data table in it
p = new Project();
p << Run Script(
Open("$SAMPLE_DATA/Big Class.jmp");
Open("$SAMPLE_DATA/Airline Delays.jmp");
);
// 2. Run the a saved script from each table
p << Run Script(
Get Data Table("Big Class") << Run Script("Distribution");
Get Data Table("Airline Delays") << Run Script("Graph Builder Heatmap");
);
// 3. Optionally, make Big Class the visible tab
wait(0);
p << Run Script(
Get Window("Big Class") << Bring Window To Front();
);
Ri: JSL per selezionare la scheda Progetto ed eseguire lo scriptCiao Aaron,
Sto cercando di utilizzare JSL per lavorare ma al di fuori di un progetto esistente.Cioè, con un progetto aperto voglio eseguire uno script esterno che seleziona una particolare scheda ed esegue uno script salvato con quella scheda.Ad esempio, con le tabelle dati Big Class, Abrasion e Bicycle Moved to a Project (ho provato a inviare la mia versione archiviata di questo progetto ma un errore dice "Il contenuto dell'allegato non corrisponde al tipo di file"), voglio un file JSL che viene salvato all'esterno del progetto per aprire il progetto, selezionare la scheda Big Class, eseguire lo script di distribuzione, passare alla scheda Bicycle ed eseguire lo script Fit Model.Posso aprire il progetto senza problemi, ma non riesco a realizzare il resto.
Ri: JSL per selezionare la scheda Progetto ed eseguire lo scriptCon pochissime eccezioni, gli script JSL funzioneranno allo stesso modo all'interno dei progetti come prima. Quindi, se disponi di JSL che fa già ciò di cui hai bisogno, è molto probabile che eseguirlo da una scheda di progetto sia tutto ciò che devi fare. Se ci sono errori o non funziona come ti aspetteresti, posso provare ad aiutarti a risolverli.Ri: JSL per selezionare la scheda Progetto ed eseguire lo scriptPer chiarire, desideri utilizzare JSL nei progetti per fare qualcosa che di solito fai con JSL al di fuori dei progetti o utilizzare l'interfaccia GUI nei progetti per fare ciò che fai normalmente in JSL?