Hur “ kräver ett svar ” i en dialogruta i AppleScript?

Om man infogar en ”Be om text ” -åtgärd i sitt arbetsflöde i Automator, får de möjlighet att ”Kräva ett svar” av användaren:

ange bildbeskrivning här

Om användaren inte svarar kan användaren inte trycka på ”OK” -knappen. Datorn piper på användaren om ”OK” -knappen trycks in medan svarsfältet är tomt.

Finns det ett sätt att replikera detta exakta beteende i AppleScript?

Svar

Ja, det kan göras så här:

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 

Låt mig veta om detta fungerar för dig.


Andra versionen som berättar för användaren vad felet är:

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 

Kommentarer

  • Det ' är mycket nära. Den enda skillnaden är att jag kan trycka på knappen " OK " i din version; dialogrutan uppdateras om jag trycker på " OK ". Finns det inget sätt att inaktivera en knapp i AppleScript (som " Be om text " inaktiverar " OK " när fältet är tomt??
  • Det '
  • Tack. Du kan visa ett ytterligare meddelande med " displayvarning " för att låta användaren veta att ett svar krävs.
  • Bra idé. På det sättet förstår användaren vad som var ansvarigt för att orsaka uppdateringen.
  • Se min andra ovan.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *