Ottieni il nome dello script corrente<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Sto cercando di trovare un modo per aggiungere il nome di uno script al report creato dallo script. Ciò significa che prima o poi devo ottenere una stringa di testo del nome dello script. Posso che la directory del file di script:
sDir=Ottieni directory predefinita();
e i file all'interno di quella directory:
lFiles=File nella directory(sDir);
Ma non ho trovato un modo per ottenere solo il nome del file che ottengo dallo script che sto attualmente eseguendo. Il problema è che quando trovo un rapporto salvato in un secondo momento, voglio sapere esattamente quale script è stato eseguito per produrre detto rapporto.
Per favore aiuto.
Re: Ottieni il nome dello script correnteNon sono sicuro da quanto tempo esiste questa funzione, dato che sono abbastanza nuovo in JMP, e ho appena trovato questa funzione da solo mentre cercavo di risolvere un problema simile, ma sembra che la funzione "Include File List()" restituisca un elenco di aprire i file che si trovano nel contesto dello script in esecuzione. (A proposito, la descrizione di questa funzione è solo informativa, come nel caso della maggior parte delle funzioni/metodi/messaggi nell'indice di script o nelle risorse online.)
Sembra che se questa funzione viene eseguita nella parte superiore dello script prima che qualsiasi altra cosa venga aperta dallo script, il percorso del file di script e il nome del file di script possono essere estratti da quello poiché questo è l'unico percorso restituito a quel punto.
Quando l'ho testato con altri file aperti in JMP ed ho eseguito lo script facendo doppio clic su di esso da Esplora risorse (con lo script impostato per essere eseguito su aperto senza aprire una finestra dell'editor di script includendo "//!" nella parte superiore dello script ), ottengo solo il percorso di quello script restituito. Nessuno degli altri file aperti viene restituito.
Re: Ottieni il nome dello script correnteQuesto era esattamente quello che ho fatto. Grazie
Re: Ottieni il nome dello script correnteMi è venuto in mente quasi lo stesso script (il ciclo "For") prima di pubblicare la mia domanda. Il problema è che non so se lo script che restituisce è quello corrente. Se ad esempio lo stesso script viene salvato in versioni diverse nella stessa cartella, otterrei un elenco di file .jsl. Ho bisogno di ottenere il nome dello script corrente in esecuzione, indipendentemente dal numero di script con nomi simili che possono essere salvati nella stessa posizione.
Re: Ottieni il nome dello script correnteSe lo script viene eseguito da una finestra di script, l'approccio diretto nell'esempio seguente fornisce il nome del file.
scr_name = Current Window() << get window title;
dt = Open("$SAMPLE_DATA/Big Class.jmp");
nw = New Window("My Report", Bivariate(Y(:weight), X(:height)), Text Box(scr_name));
Re: Ottieni il nome dello script correnteNon so se c'è un modo per farlo.Ho impostato una variabile all'inizio di ogni script.Un po' noioso ma aiuta con il debug.
pname = "Il mio script.JSL" ;
Re: Ottieni il nome dello script correnteProva a usare:
Contiene (lFile , "script.jsl" ) ;
L'ho usato per individuare una tabella JMP usando ".jmp" e ha funzionato per me.
Oppure, se ho sbagliato la tua domanda, c'è un altro modo in cui puoi scorrere il numero di file nella directory e ottenere il nome del file di script come:
Per ( n = 1 , n <= N articoli ( lFile ) , n ++,
file = l File [ n ] ;
Se (
Finisce con ( file , ".jsl" ) ,/*Fare ciò che sai fare*/;
Rompere();
);
);