<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ho uno script scritto per ottenere l'input dell'utente all'inizio / data e ora di arresto per i dati di produzione.Nella finestra , ci sono due pulsanti , un OK e Annulla.Tutto ciò che è associato all'output dopo aver inserito i dati e fatto clic su OK va bene.I problemi riguardano il pulsante Annulla.Per uno , Stavo leggendo quel lancio () uscirà dallo script.Se esegui l'esempio qui sotto , facendo clic su Annulla verrà emesso il file "PremutoAnnulla" data al registro , ma produrrà anche il file "ContinuaDataOra" e corretto "Pulsante premuto" dati , che dovrebbe essere ignorato a causa del lancio.
Altro "problema" è la possibilità di cambiare l'ortografia della parola cancel ( cioè cancelll ) e il pulsante non funziona più.Se fai clic su di esso , non succede niente.Non che questo sia un grosso problema , solo strano e qualcosa che non riesco a spiegare.
Comunque , di seguito è riportato un campione del mio codice ; qualsiasi assistenza è molto apprezzata.
Nuova finestra ( "Segnala date e orari" , << Modale ,
Casella di riepilogo V (
Casella di riepilogo V (
Casella di testo ( "Seleziona date e orari di inizio e fine" ) ,
Casella di testo ( "" ) ,
Casella di testo ( " Formato data AAAA-MM-GG " ) ,
Casella di testo ( " Formato ora HH-MI-SS-ss " ) ) ,
Casella di riepilogo H (
Casella di riepilogo V (
Casella di testo ( "" ) ,
Casella di testo ( "Data di inizio" ) ,
data1 = Casella di modifica del testo ( "2013-04-01" ) ) ,
Casella di riepilogo V (
Casella di testo ( "" ) ,
Casella di testo ( "Data di fine" ) ,
data2 = Casella di modifica del testo ( "2013-04-05" ) ) ) ,
Casella di riepilogo H (
Casella di riepilogo V (
Casella di testo ( "" ) ,
Casella di testo ( "Ora di inizio" ) ,
tempo1 = Scatola radiofonica ( { " 5:00 DI MATTINA " , " 17:00 " ,
"Primo oggetto" , " Manuale " } ) ,
tempo1m = Casella di modifica del testo ( "05-00-00-00" ) ,
Casella di testo ( "" ) ) ,
Casella di riepilogo V (
Casella di testo ( "" ) ,
Casella di testo ( "Tempo di fine" ) ,
tempo2 = Scatola radiofonica ( { " 5:00 DI MATTINA " , " 17:00 " ,
"Ultimo oggetto" , " Manuale " } ) ,
tempo2m = Casella di modifica del testo ( "17-00-00-00" ) ,
Casella di testo ( "" ) ) ) , ) ,
Casella di riepilogo H ( Casella di testo ( " " ) ,
Scatola dei bottoni ( "OK" ,
Premuto Ok = MDYHMS ( Oggi () ) ;
mostrare ( Premuto Ok ) ;
PulsantePremuto = "Premuto il pulsante OK" ; ) ,
Scatola dei bottoni ( "Annulla" ,
Premuto Annulla = MDYHMS ( Oggi () ) ;
mostrare ( Premuto Annulla ) ;
PulsantePremuto = "Premuto il pulsante Annulla" ;,
Gettare ( ) ; ) ) ) ;
ContinuaDataOra = MDYHMS ( Oggi () ) ;
mostrare ( ContinuaDataOra ) ;
mostrare ( PulsantePremuto ) ;
Grazie per la risposta, è quello che ho finito per fare.Stavo pensando che potresti incorporare il throw() nella valutazione del pulsante e uscire completamente dallo script.Non sono sicuro di quale sia lo scopo di includere "testo" con il lancio, a meno che non memorizzi il testo in una variabile.Forse questo sarebbe utile in uno script più grande con più punti di uscita per registrare dove termina uno script (?).
Ancora una volta, grazie per l'aiuto, è molto apprezzato.
Steve
Non è necessario il throw() per la logica del pulsante di annullamento.Quando si preme Annulla la finestra di dialogo si chiuderà automaticamente, poiché si tratta di una finestra di dialogo modale.
Le finestre di dialogo modali forniranno un pulsante OK e Annulla per te se non li fornisci.L'unico modo per uscire da una finestra di dialogo modale è premere i pulsanti OK o Annulla.
Se vuoi un maggiore controllo, elimina << modal ().Tuttavia, una finestra di dialogo non modale consentirà agli utenti di eseguire altre operazioni in JMP mentre sono aperte, cosa che potresti non volere.
Se vuoi uscire dallo script se l'utente preme Annulla, esegui check e throw() fuori dalla finestra di dialogo.
Scatola dei bottoni ( "Annulla" ,
Premuto Annulla = MDYHMS ( Oggi () ) ;
Spettacolo ( Premuto Annulla ) ;
PulsantePremuto = "Premuto il pulsante Annulla" ;
)
)
) ;
ContinuaDataOra = MDYHMS ( Oggi () ) ;
Spettacolo ( ContinuaDataOra ) ;
Spettacolo ( PulsantePremuto ) ;
Se ( pulsante premuto == "Premuto il pulsante Annulla" ,
gettare ( "Premuto il pulsante Annulla" ) ;
) ;