Come incorporare applicazioni, script e tabelle di dati in un pacchettoCiao,
Sto scrivendo un'applicazione che dovrebbe essere distribuita agli utenti...
Per diversi motivi, ho bisogno che l'applicazione centralizzi tutti gli script e le tabelle di dati necessari per l'esecuzione (non è necessario chiamare uno script o un datatable di riferimento all'esterno dell'applicazione).
Sono riuscito a centralizzare tutti i miei script in funzioni incorporate nell'applicazione, ma non so come incorporare le tabelle di dati (il che significa che devo ancora mantenere alcune tabelle di dati di riferimento in una posizione pubblica e chiamarle dall'applicazione). .
Qualcuno sa come incorporare tutto in un'unica app per poterlo distribuire?
Grazie molto.
Ri: Come incorporare applicazioni, script e tabelle di dati in un pacchettoMi rendo conto che questo è contrassegnato come risolto, ma volevo aggiungere:
Nell'explorer oggetti troverai le tue tabelle di dati. Se fai clic su di essi, le proprietà si apriranno sotto. Da qui puoi controllare la posizione. Sembra che tu voglia impostarlo su script incorporato.
Ri: Come incorporare applicazioni, script e tabelle di dati in un pacchettoAnche questo è un modo elegante
ma preferisco centralizzare tutti i file all'interno dell'App.
Grazie.
Ri: Come incorporare applicazioni, script e tabelle di dati in un pacchettoSe il tuo componente aggiuntivo si trova su un'unità condivisa, puoi archiviare i set di dati nella posizione del componente aggiuntivo, anziché crearli dinamicamente.Ad esempio, ecco un addin.def:
id="com.abccorp.mydept.myapp"
name="My Application"
autoload=1
home="M:\jmpapps\myapp\Addin"
Memorizzeresti tutti i tuoi file e set di dati JSL nella cartella M:\jmpapps\myapp\Addin.
Nel tuo codice puoi fare riferimento ai set di dati utilizzando il prefisso addin:
open("$ADDIN_HOME(com.abccorp.mydept.myapp)\mydataset.xlsx");
HTH
Ri: Come incorporare applicazioni, script e tabelle di dati in un pacchettoGrazie per le informazioni 
Grazie a tutti...
Ri: Come incorporare applicazioni, script e tabelle di dati in un pacchettoPER TUA INFORMAZIONE,
JMP è un linguaggio interpretativo, non un linguaggio compilato.
Ri: Come incorporare applicazioni, script e tabelle di dati in un pacchettoAhhhh,
Vedo. Adesso funziona perfettamente...
Non ero a conoscenza del fatto che è necessario prima definire la funzione dieci chiamarla. In altri linguaggi, dopo la compilazione, la funzione viene riconosciuta ovunque si trovi (anche al di fuori dello script).
Grazie ragazzi !!
Ri: Come incorporare applicazioni, script e tabelle di dati in un pacchettoIan (non Jan btw) ha mostrato il codice in cui la funzione è definita prima di essere chiamata.Il tuo codice chiama la funzione prima che sia definita.
Ri: Come incorporare applicazioni, script e tabelle di dati in un pacchettoQuesto ha funzionato per me:
NamesDefaultToHere(1);
CreateTab = Function( {}, {Default Local},
A = New Table( "TestTable",
Add Rows( 4 ),
New Column( "Age", Numeric, Continuous, Format( "Best", 12 ), Set Values( [3, 5, 2, 8] ) ),
New Column( "Height", Numeric, Continuous, Format( "Best", 12 ), Set Values( [0.6, 1.03, 0.55, 1.3] ) )
);
A;
);
dt = CreateTab();
dt << Distribution(Y(:Height));
Se chiami la tua funzione due volte, JMP si occuperà della collisione del nome della tabella in modo che funzioni ancora.
Ri: Come incorporare applicazioni, script e tabelle di dati in un pacchettoJan,
Ho inserito di seguito un semplice codice per testare la tua proposta.
Sono sicuro che il principio funziona, ma in qualche modo non riesco a farlo:
dt = CreateTab();
CreateTab = Function( {},
A = New Table( "TestTable",
Add Rows( 4 ),
New Column( "Age",
Numeric,
Continuous,
Format( "Best", 12 ),
Set Values( [3, 5, 2, 8] )
),
New Column( "Height",
Numeric,
Continuous,
Format( "Best", 12 ),
Set Values( [0.6, 1.03, 0.55, 1.3] )
)
);
A;
);È come se la tabella generata non potesse essere passata a dt.
Ri: Come incorporare applicazioni, script e tabelle di dati in un pacchettoCiao Jan,
Scusa, ho frainteso uno dei tuoi consigli chiave!!!! 
Infatti la tua proposta di "Copy Data Script" dovrebbe essere la cosa magica per farlo funzionare!!!!! non ero a conoscenza di questa funzione!
Fammi provare...
Grazie molto.
Ri: Come incorporare applicazioni, script e tabelle di dati in un pacchettoNon capisco appieno il commento su "specifiche o riferimenti", ma forse non ne ho bisogno questo filo aiuta.
Ri: Come incorporare applicazioni, script e tabelle di dati in un pacchettoJan,
Ho iniziato ad usare Application Builder ma poi ho smesso (non capisco davvero come controllare gli oggetti che creo...Inoltre ho oggetti limitati da inserire rispetto a un metodo di scripting completo).
Ad ogni modo, ora sto scrivendo tutto.
L'esempio di Dan è molto utile per illustrare ciò che volevo fare: nel suo esempio, ciò che viene chiamato incorporare un datatable è semplicemente farlo apparire nell'Application builder. Ma in realtà, proviene dalla sua posizione ($SAMPLE_DATA\Big Class.jmp). Ciò significa che il codice di Dan non funzionerà se non ho una copia della tabella dati "Big Class" già memorizzata da qualche parte sul mio computer.
Quello che voglio fare è incorporare le tabelle nell'applicazione in modo che gli utenti non debbano avere una copia di questa tabella (e comunque, queste tabelle sono una sorta di specifiche o riferimenti, quindi non posso generarle tramite script).
Spero che la mia spiegazione non sia troppo vaga...:(
Ri: Come incorporare applicazioni, script e tabelle di dati in un pacchettoPenso che il modo "migliore" per farlo possa dipendere da come stai creando l'applicazione (con Application Builder?) E dal flusso di lavoro e dall'interfaccia utente che desideri. di Dan post sul blog potrebbe essere utile.
Non dimenticare che puoi anche "includere" le tabelle JMP aggiungendo il JSL per generarle nel tuo codice (usa "Copia script tabella" dal menu del triangolo rosso della tabella richiesta).