Como “ exigir uma resposta ” em uma caixa de diálogo no AppleScript?

Se alguém inserir uma ação “Ask for Text ” em seu fluxo de trabalho no Automator, será apresentada a opção de “Exigir uma resposta” do usuário:

insira a descrição da imagem aqui

Se o usuário falhar em fornecer uma resposta, o usuário não pode pressionar o botão “OK”. O computador emitirá um bipe para o usuário se o botão “OK” for pressionado enquanto o campo de resposta estiver vazio.

Existe uma maneira de replicar este comportamento exato em AppleScript?

Resposta

Sim, pode ser realizado assim:

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 

Informe se isso funciona para você.


Segunda versão que informa ao usuário qual é o erro:

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 

Comentários

  • É ' muito próximo. A única diferença é que posso pressionar o botão " OK " em sua versão; a caixa de diálogo é atualizada se eu pressionar " OK ". Não há como desativar um botão no AppleScript (como a ação " Solicitar texto " desativa " OK " quando o campo está vazio)?
  • É ' s não é possível desativar um botão em uma caixa de diálogo criada com AppleScript. Você pode fazer isso com o Swift, no entanto.
  • Obrigado. Você pode exibir uma mensagem adicional usando " exibir alerta " para que seu usuário saiba que uma resposta é necessária.
  • Ótima ideia. Dessa forma, o usuário entende o que foi responsável por causar a atualização.
  • Veja meu segundo acima.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *