Ciclo for in una nuova finestraCIAO! Sono un utente JMP molto principiante e ho problemi con il funzionamento del ciclo for.Sto cercando di chiedere all'utente che tipo di fattore sono ciascuno dei suoi fattori. Il numero di volte in cui viene posta la domanda dipende dal numero di colonne nel file jmp. Stavo tentando di utilizzare una radio, ma ho problemi con l'aggiunta. Di seguito è riportata una piccola istantanea di ciò che ho fatto. Grazie!
Names Default to Here(1);
dt = Open("Example1.jmp");
number = ncols(dt);
FactorType = {"Continuous", "Categorical"};
New Window("Data Entry", << Modal, << return results,
Text Box("Type of Factor");,
type= V list Box(),
);
For(i= 1, i <= number, i++,
type << Append(Radio Box(FactorType, Max Selected(1)));
);
Ri: Ciclo For in una nuova finestraQuesta è una domanda giusta, @David_Burnham ! Penso che forse dipenda? Utilizzo parecchio IfBox(), anche se è particolarmente progettato per la visualizzazione condizionale delle caselle di visualizzazione. Non posso parlare della "legittimità" di jsl in queste situazioni, ma in ogni caso OnOpen è un ottimo suggerimento.Ri: Ciclo For in una nuova finestraInserire un ciclo for in una chiamata di funzione nuova finestra è davvero legittimo?La mia opinione è che non dovresti inserire JSL nei punti in cui sono previste finestre di visualizzazione, anche se il codice viene eseguito.Per una finestra modale, il JSL può essere inserito nel gestore eventi OnOpen.
Ri: Ciclo For in una nuova finestraCiao di nuovo @dg1 ,
Giusto per proseguire, ho esaminato un po' più da vicino il tuo codice e c'erano alcuni punti in cui penso che potresti incontrare un intoppo. Il più grande è lo scarico dei risultati. Ciascuno dei tuoi oggetti RadioBox() dovrebbe avere un handle in modo da potervi fare riferimento in seguito per acquisire i dati. Di seguito è riportato un modo per farlo, che assegna il riferimento a un elenco, quindi successivamente esamina l'elenco di riferimenti, invia il messaggio per ottenere l'elemento selezionato e memorizza il risultato in un altro elenco. Tutto questo accade quando si fa clic sul pulsante OK.
Names Default To Here( 1 );
dt = Current Data Table();
number = N Cols( dt );
rbList = {};
rbResult = {};
FactorType = {"Continuous", "Categorical"};
win = New Window( "Data Entry",
<<MODAL></MODAL>
Se non l'hai ancora fatto, ti consiglio vivamente di leggere la Guida allo scripting JMP, Guida > Libri > Guida allo scripting. Ti sarà prezioso per imparare la lingua e le operazioni necessarie affinché uno script funzioni come desideri. Inoltre, il libro mi è davvero piaciuto JSL Companion: applicazioni del linguaggio di scripting JMP.Inizierei con la Guida allo scripting perché è inclusa gratuitamente in JMP, ma JSL Companion fornisce un'introduzione strutturata all'uso di JSL attraverso una serie di applicazioni pratiche (e tutto il codice è incluso).
Spero che questo ti aiuti lungo il tuo cammino! Godere!
@giuliano
Ri: Ciclo For in una nuova finestraCIAO @dg1 ,
Sembra che mi venga visualizzato nella parte superiore della finestra, ma solo una volta come lo hai programmato. Se desideri una casella di testo per ogni selezione di colonna, puoi eseguire un'altra aggiunta in ogni iterazione del ciclo for():
Names Default To Here( 1 );
dt = Open("Example1.jmp");
number = N Cols( dt );
FactorType = {"Continuous", "Categorical"};
New Window( "Data Entry",
<<MODAL></MODAL>

Ri: Ciclo For in una nuova finestraGrazie! Sai anche come assicurarti che la casella di testo che dice Tipo di fattore venga visualizzata insieme alle caselle Radio?Ri: Ciclo For in una nuova finestraCIAO @dg1 ,
Stai facendo tutto correttamente! Tuttavia, l'utilizzo di <
Names Default To Here( 1 );
dt = Open("Example1.jmp");
number = N Cols( dt );
FactorType = {"Continuous", "Categorical"};
New Window( "Data Entry",
<<MODAL></MODAL>
@giuliano