Come “ richiedere una risposta ” in una finestra di dialogo in AppleScript?

Se si inserisce unazione “Richiedi testo ” nel proprio flusso di lavoro in Automator, verrà presentata lopzione “Richiedi una risposta” dellutente:

inserisci qui la descrizione dellimmagine

Se lutente non riesce a fornire una risposta, non può premere il pulsante “OK”. Il computer emetterà un segnale acustico allutente se viene premuto il pulsante “OK” mentre il campo della risposta è vuoto.

Esiste un modo per replicare questo comportamento esatto in AppleScript?

Risposta

Sì, può essere eseguita in questo modo:

repeat set myAnswer to the text returned of (display dialog "Your question goes here." default answer "") if myAnswer is "" then beep else exit repeat end if end repeat 

Fammi sapere se questo funziona per te.


Seconda versione che dice allutente qual è lerrore:

repeat set myAnswer to the text returned of (display dialog "Your question goes here." default answer "") if myAnswer is "" then beep display alert "Please enter your answer to continue." else exit repeat end if end repeat 

Commenti

  • È ' molto vicino. Lunica differenza è che posso premere il pulsante " OK " nella tua versione; la finestra di dialogo viene aggiornata se premo " OK ". Non cè modo di disabilitare effettivamente un pulsante in AppleScript (come lazione " Richiedi testo " disabilita " OK " quando il campo è vuoto)?
  • È ' s non è possibile disabilitare un pulsante in una finestra di dialogo creata con AppleScript. Puoi farlo con Swift, però.
  • Grazie. Puoi visualizzare un messaggio aggiuntivo utilizzando " display alert " per far sapere allutente che è necessaria una risposta.
  • Ottima idea. In questo modo lutente capisce qual è stato il responsabile dellaggiornamento.
  • Vedi il secondo sopra.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *