Usando un altro pulsante invece di "Ok" - Finestre modaliCIAO,
Ho appena iniziato a imparare lo scripting, quindi per favore scusa la codifica disordinata o ridondante ahah.Sto cercando di combinare alcune cose che ho raccolto da questi forum.Fondamentalmente, dai all'utente la possibilità di aprire un file o selezionare un file già aperto.Alla fine ho capito che dovevo usare una finestra modale per attendere che la selezione fosse effettuata prima di continuare lo script.
C'è un modo per far continuare il codice quando viene effettuata la selezione? Invece di aspettare che l'utente prema il pulsante "Ok"?Quindi per le mie due opzioni:
1. L'utente apre un file -> continua quando il file viene aperto
2. L'utente seleziona un file aperto --> continua quando il file è selezionato
In questo momento, farli premere il pulsante "ok" dopo la selezione sembra ridondante.Grazie per qualsiasi aiuto!
InputWindow = New Window( "Pick a file opening option (must be truncated)", <<MODAL></MODAL>
Ri: Utilizzo di un altro pulsante invece di "Ok" - Finestre modaliCIAO,
Grazie per le risposte.Ah, penso che tutti abbiano ragione nel dire che non avevo bisogno che fosse modale.Questa è stata la prima soluzione che ho trovato per mantenere la mia tabella definita dopo che la selezione è stata effettuata e lo script è passato oltre la selezione della finestra.
Ad ogni modo, l'autoscatto ha già funzionato per quello che avevo scritto.Ma proverò il modo diretto di usare le funzioni.Grazie ancora.
Ri: Utilizzo di un altro pulsante invece di "Ok" - Finestre modaliLe finestre modali sono progettate per costringere un utente a fare clic su OK prima che l'esecuzione continui.In alternativa, puoi avere una finestra non modale e allegare uno script a un pulsante oa una casella di visualizzazione che consente le selezioni.Nell'esempio seguente, l'esecuzione continua non appena viene effettuata una selezione:
Names Default To Here(1);
lst = {"Item 1","Item 2","Item 3","Item 4"};
nw = New Window("Selection",
Border Box(top(20),bottom(20),left(20),right(20),
V List Box(
Text Box("Select an item from the list:"),
lb = List Box(lst,<<SETMAXSELECTED></SETMAXSELECTED>
Ri: Utilizzo di un altro pulsante invece di "Ok" - Finestre modaliPotresti semplicemente fare manualmente il pulsante ok e fare clic su di esso con btn << Click.
InputWindow = New Window( "Pick a file opening option (must be truncated)",
<<MODAL></MODAL>
Ma sembra che potresti non aver bisogno di una finestra di dialogo modale.Potresti semplicemente fare in modo che il resto dell'esecuzione del tuo codice sia una funzione o un'espressione e inviarlo a ciascun pulsante.
domorestuff = function({},
print(dt);
);
InputWindow = New Window( "Pick a file opening option (must be truncated)",
V List Box(
Text Box( "Pick a Cut and Truncated Waveform" ),
Spacer Box( size( 1, 10 ) ),
Button Box( "Open a file",
path = Pick File(
"Select Raw Waveform data",
"", // no default directory
{"JMP Files|jmp;jsl;jrn", "All Files|*"},
1,
0,
"" // no default file
);
dt = Open( path ); //probably should do this instead of current data table()
//dt = Current Data Table();
domorestuff();
),
Spacer Box( size( 10, 1 ) ),
Button Box( "Select from a list",
choose_data_table = Function( {},
list = {};
For( i = 1, i <= N Table(), i++,
list[i] = Data Table( i ) << get name
);
win = New Window( "Select a data table",
<<MODAL></MODAL>