JMP Pro 16.1
Voglio scrivere uno script che faccia apparire una finestra di dialogo "Salva con nome" quando si fa clic su un pulsante, ma voglio controllare in quale directory si avvia.Non voglio salvare la tabella con il suo nome attuale; Voglio dare all'utente la possibilità di cambiare il nome prima di salvare.
Se eseguo questo codice:
dtTemp = New Table("Temp");
dtTemp << Save("");</CODE></P><P> </P><P>La finestra di dialogo Salva con nome si apre in qualsiasi directory in cui ho salvato l'ultima volta.Se provo a forzare la directory in questo modo:</P><P> </P><PRE><CODE class=" language-jsl">dtTemp2 = New Table("Temp2");
dtTemp2 << Save As("$Documents\");
quindi la mia tabella Temp2 viene rinominata in ".jmp" e salvata nella cartella Documenti, il che non va bene. Ho bisogno di quella finestra di dialogo che consente all'utente di impostare il nome.
Da qualche parte c'è una variabile in cui JMP o il sistema operativo sta salvando l'ultima directory/percorso in cui è stato salvato un file, mi piacerebbe sovrascriverlo, ma non riesco nemmeno a trovarlo.Ho provato alcune opzioni, ma nessuna di queste sembra essere quella giusta.
path1 = Get Default Directory();
path2 = Get Current Directory();
path3 = Get File Search Path();
Show( path1, path2, path3);
Vale la pena notare che sembra che "l'ultima directory di salvataggio" sia memorizzata separatamente per script e tabelle di dati, il che mi fa pensare che ciò che sto cercando sia salvato in qualche modo all'interno di JMP, non nel sistema operativo.
Quello che voglio è qualcosa del tipo:
dtTemp = New Table("Temp");
Set Data Table Save Path ("$DESKTOP\MyDestination");
dtTemp << Save("");Qualche idea?
Non sapevo che potevi cambiare il testo del pulsante Pick File da Open a Save cambiando saveFlag a 1 (non l'ho mai provato).

Con saveFlag = 0 il pulsante si chiamerà Open e con saveFlag = 1 si chiamerà Save. Non salverà il file (restituirà solo il percorso), quindi devi ancora salvarlo come @ih dimostrato (ricordati anche di verificare che il percorso restituito non sia vuoto).
È possibile ottenere prima il nome del file utilizzando Seleziona file, quindi salvarlo.
Names default to here(1);
fn = pick file("Save your file", "$DOCUMENTS", {"JMP Files|jmp;jsl;jrn", "All Files|*"}, 1, 1, "Default Filename.jmp" );
dt << Save (fn);