inserimento di dati da un'interfaccia interattiva<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />CIAO,
In JSL vorrebbe creare un'interfaccia interattiva in cui un utente possa inserire valori in una colonna. La colonna deve essere di tipo Continuo.
Ad esempio, l'utente inserisce un valore in una finestra di dialogo che inserisce il valore in una colonna:
x = limite superiore, y = limite inferiore
Età Nome Limite superiore Limite inferiore
40 Pietro 30 45
Qualcuno ha qualche suggerimento su come realizzare questo?
- Anders
Ri: inserire dati da un'interfaccia interattivaSe la modifica per riga è OK, volevo menzionare anche questo:
I nomi predefiniti sono qui ( 1 ) ;
// Crea la nuova tabella dati e le sue colonne
dt = Nuova Tavola ( "Limiti" ) ;
dt << Nuova Colonna ( "Limite inferiore" , Numerico , Continuo ) ;
dt << Nuova Colonna ( "Limite superiore" , Numerico , Continuo ) ;
dt << rowEditor ;
Questo ha il difetto di non applicare il requisito USL > LSL, ma questo potrebbe essere fatto sottoscrivendo le modifiche a 'dt' (cercare 'Subscribe' in 'Help > Scripting Index'). Inoltre, tieni presente che puoi aggiungere proprietà di colonna alle colonne nella tabella http://www.jmp.com/support/help/Expression_Data.shtml , che includono un "controllo dell'intervallo" sui valori.
Ri: inserire dati da un'interfaccia interattivaGrazie mille, era proprio quello che cercavo e anche di più!
Saluti
-Ander
Ri: inserire dati da un'interfaccia interattivaAnders,
Se sto seguendo quello che vuoi, lo script seguente inserirà i limiti superiore e inferiore e li aggiungerà a una tabella di dati.Ho annotato lo script per consentire, si spera, di vedere cosa sta facendo l'esempio.
Nomi Predefinito A Qui( 1 );
// Crea la nuova tabella dati e le sue colonne
dt = Nuova tabella( "Limiti" );
dt << Nuova colonna( "Limite superiore", Numerico, Continuo );
dt << Nuova colonna( "Limite inferiore", Numerico, Continuo );
// Apre una finestra di visualizzazione in cui inserire i dati
InputWindow = Nuova finestra ("Inserisci input",
// Aggiungi una casella di riepilogo verticale per strutturare la posizione del display
Casella di riepilogo V(
// Aggiungi un po' di spazio
Scatola distanziale (dimensione (1, 10)),
// Visualizza il testo delle istruzioni
Casella di testo( "Inserisci gli input" ),
Scatola distanziale (dimensione (1, 10)),
// I seguenti display devono essere affiancati
Casella di riepilogo H(
// Visualizza il testo per informare l'utente sui dati da inserire
Casella di testo ("Inserisci il limite inferiore"),
Scatola distanziale (dimensione (10, 1)),
// Utilizza una casella di modifica numerica per acquisire l'input degli utenti e
// assegna all'oggetto di visualizzazione il nome "LLimit"
LLimit = Numero Casella di modifica( . ),
Scatola distanziale (dimensione (10, 1)),
// Visualizza il testo per informare l'utente sui dati da inserire
Casella di testo ("Inserisci il limite superiore"),
Scatola distanziale (dimensione (10, 1)),
// Utilizza una casella di modifica numerica per acquisire l'input degli utenti e
// assegna all'oggetto di visualizzazione il nome "ULimit"
ULimit = Numero Casella di modifica( . )
),
Scatola distanziale (dimensione (1, 10)),
// Aggiungi un paio di pulsanti di controllo
Casella di riepilogo H(
// La prima casella del pulsante aggiungerà i valori alla tabella dati, se il
// i valori sono validi
Button Box( "Aggiungi i valori",
If( Manca( LLimit << get ) == 0 & Manca( ULimit << get ) == 0 & (ULimit << get) > (LLimit << get),
// Se i valori sono validi, aggiungi una riga alla tabella dati e imposta i valori
dt << aggiungi righe( 1 );
dt:LowerLimit[N Rows( dt )] = LLimit << get;
dt:UpperLimit[N Rows( dt )] = ULimit << get;
,
// Se i valori non sono validi, impostali su missing and
// visualizza una finestra di dialogo per l'utente
Limite << set( . );
ULimite << set( . );
Dialog("I valori inseriti non sono validi:" );
)
),
Scatola distanziale (dimensione (10, 1)),
// Questa casella di pulsante chiude la finestra di visualizzazione
Button Box( "Interrompi aggiunta", InputWindow << Chiudi finestra )
)
)
);
Ri: inserire dati da un'interfaccia interattivaCiao Ian e grazie per la tua rapida risposta.
beh, sono nuovo in JSL, quindi non ho ancora una piena comprensione della sintassi e tutti i miei tentativi di scrivere un codice che memorizzerà semplicemente un input da un utente in una variabile sono quindi falliti. Tuttavia conosco alcune nozioni di base nella programmazione Java e la funzione corrispondente che sto cercando è una classe scanner.
esempio in java:
Scanner sc = nuovo Scanner (System.in);
Int Limite superiore = scanner.nextInt();
In JMP mi piacerebbe che funzionasse come segue:
Per quanto posso immaginare, tutte le righe sia per le nuove colonne che per le altre colonne dovrebbero essere visibili (forse questo cambierà in futuro).
Tentativo (
Limitesuperiore = scanner.nextInt
dt = Tabella dati corrente ();
dt << Nuova colonna ("Limite Superiore", Numerico, "Continuo", Valori ( Limite Superiore ) );
//lo stesso dovrebbe essere fatto con LowerLimit
)
if (UpperLimit < LowerLimit, throw ("!Error") );
Spero che tu abbia capito i miei esempi.
BR
Anders
Ri: inserire dati da un'interfaccia interattivaEsistono molti modi per eseguire questa operazione e una buona progettazione dell'interfaccia utente dipende esattamente dalle informazioni che si desidera mostrare all'utente in modo che possa eseguire in modo affidabile l'attività di input. Vuoi o devi mostrare tutte le righe della tabella o solo una alla volta? Devi mostrare anche i valori esistenti in una o più delle altre colonne?