Wie kann man “ eine Antwort ” in einem Dialogfeld in AppleScript anfordern?

Wenn eine Aktion „Nach Text fragen “ in ihren Workflow in Automator eingefügt wird, wird ihnen die Option „Antwort erforderlich“ des Benutzers:

Geben Sie hier die Bildbeschreibung ein

Wenn der Benutzer keine Antwort gibt, kann er die Taste „OK“ nicht drücken. Der Computer piept den Benutzer an, wenn die Schaltfläche „OK“ gedrückt wird, während das Antwortfeld leer ist.

Gibt es eine Möglichkeit, dieses genaue Verhalten zu replizieren in AppleScript?

Antwort

Ja, dies kann folgendermaßen erfolgen:

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 

Bitte lassen Sie mich wissen, ob dies für Sie funktioniert.


Zweite Version, die dem Benutzer den Fehler mitteilt:

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 

Kommentare

  • ' ist sehr nah. Der einzige Unterschied besteht darin, dass ich in Ihrer Version die Schaltfläche " OK " drücken kann. Der Dialog wird aktualisiert, wenn ich " OK " drücke. Gibt es keine Möglichkeit, eine Schaltfläche in AppleScript tatsächlich zu deaktivieren (z. B. die Aktion " Nach Text fragen " " OK " wenn das Feld leer ist)?
  • Es ' Es ist nicht möglich, eine Schaltfläche in einem mit AppleScript erstellten Dialogfeld zu deaktivieren. Sie können dies jedoch mit Swift erreichen.
  • Vielen Dank. Sie können eine zusätzliche Nachricht anzeigen, indem Sie " den Alarm " anzeigen, um Ihren Benutzer darüber zu informieren, dass eine Antwort erforderlich ist.
  • Tolle Idee. Auf diese Weise versteht der Benutzer, was für die Aktualisierung verantwortlich war.
  • Siehe meine zweite oben.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.