
Qui vedremo come usare gli script per aprire le tabelle dati JMP. Aprirò una nuova finestra dell'Editor di script e userò la funzione "pick directory" per chiedere all'utente, quando viene eseguito lo script, di accedere a una directory o a una cartella. Memorizzerò il risultato nella variabile myPath. Notate che, con il nome della variabile, sto usando un esempio di quello che chiamiamo camel case: invece di usare spazi tra le due parole nel nome della variabile, semplicemente scrivo in maiuscolo la prima lettera della seconda parola per renderla un po' più leggibile. Assegnerò quindi il risultato della funzione "pick directly" a myPath. Quindi, "pick directory". Il prompt è facoltativo. Apparirà nell'angolo in alto a sinistra della finestra di dialogo "Sfoglia per cartella", ma se lo si utilizza, il prompt sarà una stringa di caratteri. Quindi, lo farò e digiterò "Dov'è il file Cure Time?". In questo modo, l'utente saprà cosa voglio che cerchi. Ed eseguirò lo script. E questo mi ha effettivamente portato all'ultima cartella a cui ho navigato interattivamente, che contiene i dati di questo corso. Quindi potrei semplicemente andare avanti e cliccare su "Seleziona cartella" qui, ma immagina se dovessi effettivamente accedervi. Non è necessario accedere alla cartella. Potrei semplicemente selezionarla invece di aprirla e cliccare su "Seleziona cartella". Otterrei lo stesso risultato che otterrei aprendola e cliccando su "Seleziona cartella". E puoi vedere che ciò che viene restituito al registro e ciò che viene memorizzato nel mio percorso è la stringa di caratteri con quel percorso a quella cartella o directory, completata con la barra finale. Quindi cosa facciamo una volta recuperato questo percorso? Beh, andrò a una nuova riga e la userò quando userò la funzione open per aprire la tabella dati "Cure Time". Memorizzerò i risultati di questo nella variabile dt. Quindi la funzione open restituirà un riferimento all'oggetto tabella dati oltre ad aprire quella tabella dati. Quindi dico "open", quindi uso la variabile myPath e la concateno con due barre verticali o due pipe verticali, concatenandola con la stringa di caratteri con il nome della tabella dati, ovvero Cure Time, con uno spazio tra le parole "dot JMP". Eseguirò solo questa riga. E solo per ricordarvi che potete eseguire una singola riga di uno script su cui si trova il cursore usando il tasto Invio sul tastierino numerico sul lato destro di una tastiera desktop standard. Quindi eseguo solo quella riga. Si apre la tabella dati di Cure Time. Vedo nel log che abbiamo creato un'istanza di un oggetto tabella dati quando abbiamo un riferimento a questo, che viene poi memorizzato in dt. Quindi, se torno allo script e passo il mouse su dt, potete vedere che sta memorizzando il riferimento all'oggetto per questa tabella dati. Quindi potremmo inviare messaggi alla tabella dati e interagire con essa in altro modo. Per i nostri scopi, ci stiamo concentrando solo sull'utilizzo di questa funzione "open". E una cosa prima di vedere altri esempi: a volte si pensa che, poiché ho memorizzato il riferimento all'oggetto della tabella dati in dt, non sia più necessario tenere aperta questa tabella dati, ma in realtà non è così. Se torno alla tabella dati di Cure Time e la chiudo, vado a una nuova riga e digito semplicemente dt su questa riga ed eseguo quella riga per simulare il tentativo di utilizzare la tabella dati. Quando eseguo, ciò che viene restituito al log è la tabella dati ("UnknownTable"). Quindi, solo perché ho un riferimento all'oggetto per una tabella dati memorizzato in una variabile, non significa che posso chiudere la tabella dati. Sarà comunque mantenuta in memoria mentre ci lavoro. Cancellerò il contenuto delle righe e qui. In realtà lascerò la prima riga, anche se non la eseguirò più. Ora voglio usare la funzione pick file. E memorizzerò i risultati nella variabile f. Quindi a f verrà assegnato il risultato di pick file. E tra parentesi, ora ci sono due argomenti opzionali per selezionare il file. C'è un argomento prompt e un argomento directory. E se non voglio fornire un prompt ma voglio fornire una directory, questi sono argomenti senza nome, quindi la loro posizione è importante. Quindi dovrei semplicemente digitare una virgola tra parentesi e poi userò la variabile myPath. Quindi la virgola indica a JMP che questo è il secondo argomento, non il primo. Quindi non sto fornendo un prompt, ma sto dicendo alla funzione pick file in quale directory cercare. Quindi eseguirò questo. E questo apre quella che sembra la finestra di dialogo Apri file e in effetti il pulsante su cui cliccherò quando avrò selezionato un file dice Apri, ma questo non apre una tabella dati, restituisce solo una stringa che verrà memorizzata in f. Quindi farò clic su Cure Time.jmp e poi su Apri. E lì, ovviamente, c'è quel percorso assoluto che include il nome del file e l'estensione. E ora, su una nuova riga potrei digitare dt e assegnargli il risultato della funzione open che prende f come argomento. Quindi eseguirò quella riga. Quindi dt, ancora una volta, memorizza la tabella dati Cure Time e possiamo prima usare pick directory per chiedere all'utente di indicare dove si trova il file e poi fargli effettivamente scegliere il file Cure Time. E, ancora una volta, un prompt non guasterebbe in questo caso. In entrambi i casi, i prompt si troverebbero nell'angolo in alto a sinistra di quelle finestre. Ora puoi anche usare la funzione open senza argomenti e questo si comporterebbe come se avessi selezionato File Apri, ma restituirà anche un riferimento a un oggetto della tabella dati. Quindi, ancora una volta, le funzioni pick restituiscono stringhe di caratteri. Open restituisce un riferimento a un oggetto della tabella dati.