Hvordan “ krever et svar ” i en dialog i AppleScript?

Hvis man setter inn en «Be om tekst » -handling i arbeidsflyten sin i Automator, får de muligheten til å «Krev svar» av brukeren:

skriv inn bildebeskrivelse her

Hvis brukeren ikke gir svar, kan ikke brukeren trykke på «OK» -knappen. Datamaskinen piper fra brukeren hvis «OK» -knappen trykkes mens svarfeltet er tomt.

Er det en måte å replikere denne eksakte oppførsel i AppleScript?

Svar

Ja, det kan oppnås slik:

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 

Gi meg beskjed hvis dette fungerer for deg.


Andre versjon som forteller brukeren hva feilen er:

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 ' er veldig nært. Den eneste forskjellen er at jeg kan trykke på " OK " -knappen i din versjon; dialogen oppdateres hvis jeg trykker " OK ". Er det ingen måte å deaktivere en knapp i AppleScript (som " Be om tekst " deaktiverer " OK " når feltet er tomt)?
  • Det ' er ikke mulig å deaktivere en knapp i en dialogboks opprettet med AppleScript. Du kan oppnå det med Swift, skjønt.
  • Takk. Du kan vise en ekstra melding ved hjelp av " displayvarsel " for å fortelle brukeren at svar er nødvendig.
  • Flott idé. På den måten forstår brukeren hva som var ansvarlig for å forårsake oppdateringen.
  • Se mitt andre ovenfor.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *