Come memorizzare un valore immesso in una casella di testo come oggetto in JSL?Ok, sono perplesso e mi sono finalmente rassegnato al fatto che non ne so abbastanza di JSL per farlo da solo. Sono ancora abbastanza nuovo di JSL, ma voglio semplificare le cose per le persone con cui lavoro. Ho creato uno script che si sta avvicinando a ciò che voglio, non riesco solo a capire come far sì che la mia funzione di selezione delle righe utilizzi informazioni digitate manualmente in una casella di modifica del testo.
L'obiettivo è che un utente prema un pulsante Journal che aprirà una finestra con una casella di testo in cui può immettere informazioni. Quindi potrà premere la casella del pulsante direttamente sotto il campo di modifica che eseguirà uno script per selezionare le righe che contengono la stringa di testo digitata. Ho incollato quello che ho finora, ma so che c'è una disconnessione con le righe 6 e 9. La mia intenzione era di assegnare l'input della casella di modifica del testo come un oggetto, ma penso che sia lì che sto sbagliando. Non riesco proprio a conciliare come ottenere le informazioni digitate nella casella di modifica del testo nella parte di selezione delle righe. Grazie mille per qualsiasi aiuto!
Lot Identifier = New Window("Assay Identifier by Lot Tested",<BR />Border Box( top( 10 ), bottom( 10 ), Left( 120 ), Right( 120 ), <BR />vlistbox(<BR />H Center Box(Text Box("Input Lot ID")),<BR />Spacer Box(size(1,10)),<BR />H list box( text box("Lot: "), ID=Text Edit Box()),<BR />H Center Box(<BR />Button Box("Select Rows with Lot Number", Current Data Table() << Row Selection(<BR />Select where( Contains( :assay, ID ) ),<BR />Match case( 0 ),<BR />Dialog( Edit( Contains( Source Column( :assay ) ) ), Keep dialog open( 0 ) )<BR />)))<BR />)<BR />)<BR />)FinestreR: Come memorizzare un valore immesso in una casella di testo come oggetto in JSL?Non ho idea del motivo per cui il JSL viene formattato in questo modo, ma ecco un semplice copia/incolla:
Identificatore lotto = Nuova finestra("Identificatore analisi per lotto testato",
Casella di bordo (in alto (10), in basso (10), a sinistra (120), a destra (120),
casella di riepilogo
H Center Box(Casella di testo("Inserisci ID lotto")),
Scatola distanziatrice (dimensione (1,10)),
H list box(casella di testo("Lotto: "), ID=Casella di modifica testo()),
H Centro Scatola(
Button Box("Seleziona righe con numero di lotto", Tabella dati corrente() << Selezione riga(
Seleziona dove (Contiene( :analisi, ID ) ),
Maiuscole/minuscole (0),
Dialogo (Modifica (Contiene (Colonna sorgente (:assay) ))), Mantieni aperto il dialogo (0) )
)))
)
)
)
R: Come memorizzare un valore immesso in una casella di testo come oggetto in JSL?Ci sono diversi modi per farlo. Eccone uno:
New Window( "Example: Text Edit Box",
Outline Box( "Enter a string", H List Box( Text Box( "String:" ), value = Text Edit Box( "" ) ) ),
);
txtValue = value << Get Text();
print(txtValue);
Utilizzare Number Edit Box() se si desidera acquisire un numero anziché un testo.
R: Come memorizzare un valore immesso in una casella di testo come oggetto in JSL?Per qualche motivo questo non funziona per me. Voglio che tutto ciò che viene digitato nella casella di testo diventi il termine utilizzato nella funzione Row Selection(). Tuttavia, apprezzo le informazioni. Potrebbe essere che non le stia implementando correttamente. Ho riorganizzato la formula come segue:
Assay Identifier = New Window( "Assay Identifier by Lot",
Border Box( top( 10 ), bottom( 10 ), Left( 120 ), Right( 120 ),
V List Box(
H Center Box( Text Box( "Input Lot ID" ) ),
Spacer Box( size( 1, 10 ) ),
H List Box( Text Box( "Lot: " ), Lot = Text Edit Box() ),
H Center Box( Button Box( "Select Assays By Lot", Lot ID = Lot << get text() ) )
)
)
);
Current Data Table() << Row Selection(
Select where(
Contains( :assay, Print( Lot ID ) ),
Dialog( Edit( Contains( Source Column( :assay ) ) ), Keep dialog open( 0 ) )
)
);
R: Come memorizzare un valore immesso in una casella di testo come oggetto in JSL?per inserire il codice JSL, c'è questo pulsante nell'editor:

per modificare un post, usa il triangolo a destra del post e clicca su "Modifica risposta":

R: Come memorizzare un valore immesso in una casella di testo come oggetto in JSL?Sì, è così che l'ho inserito nel primo post. Ma quando ho cliccato su "post" è diventato tutto un pasticcio. Ho capito la funzione di modifica prima oggi, ma ho pensato che non valesse la pena preoccuparsene
R: Come memorizzare un valore immesso in una casella di testo come oggetto in JSL?Sono riuscito a farlo funzionare in parte grazie al tuo contributo, @mzwald , quindi grazie ancora. Lo script qui sotto è quello che ho e richiede solo che io abbia due pulsanti invece di uno (il che è un po' sfortunato). Il primo pulsante assegna il testo a un oggetto, quindi il secondo esegue lo script che identificherà le righe che contengono il testo (memorizzato come oggetto). Se riesco a capire come assegnare due funzioni a un pulsante sarò felice, ma almeno ho qualcosa che funziona per ora.
Assay Identifier = New Window( "Assay Identifier by Lot",
Border Box( top( 10 ), bottom( 10 ), Left( 120 ), Right( 120 ),
V List Box(
H Center Box( Text Box( "Input Lot ID" ) ),
Spacer Box( size( 1, 10 ) ),
H List Box( Text Box( "Lot: " ), Lot = Text Edit Box() ),
H Center Box( Button Box( "Set", Lot ID = Lot << get text() ) ),
H Center Box(
Button Box( "Select", Current Data Table() << Row Selection( Select where( Contains( :assay, Lot ID ) ) ) )
)
)
)
);
R: Come memorizzare un valore immesso in una casella di testo come oggetto in JSL?Puoi semplicemente aggiungere tutto all'interno dello stesso script in una casella di pulsanti. Ricordati solo di "incollarli" insieme con ;
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
Assay Identifier = New Window("Assay Identifier by Lot",
Border Box(top(10), bottom(10), Left(120), Right(120),
V List Box(align("Center"),
Text Box("Input Lot ID", << Set Font Size(16)),
Spacer Box(size(1, 10)),
H List Box(
Text Box("Lot: "),
Lot = Text Edit Box("", << Set Width(200), << Set N Lines(5))
),
Button Box("Select",
Lot ID = lowercase(lot << get text);
If(!Is Missing(Lot ID),
Current Data Table() << Row Selection(Select where(Contains(lowercase(:name), Lot ID)))
)
)
)
)
);
La pagina di aiuto di JMP ha (una certa) buona documentazione riguardante JSL. Ad esempio per la casella dei pulsanti
E l'indice di scripting (dal menu della guida di JMP) è molto utile dopo che ti sarai abituato a usarlo (potresti trovare utile questo articolo Dalla scrivania di Jarmo: Utilizzo dell'indice di scripting come ricerca JMP® per un utilizzo più efficiente dell'indice di scripting)

R: Come memorizzare un valore immesso in una casella di testo come oggetto in JSL?Grazie per questo. Avevo provato a far funzionare la funzione colla la settimana scorsa, ma per qualche motivo deve essere stato un vuoto di memoria. Ora è tutto a posto
. Grazie a tutti coloro che mi hanno aiutato ad arrivarci!