Applescript: Antwort und Schaltflächen des Anzeigedialogs erhalten

Wie erhalte ich sowohl die Antwort als auch die gedrückte Schaltfläche eines Anzeigedialogs in Applescript?

Der folgende Code liefert mir den Text, aber nicht die Schaltfläche:

set myquestion to the text returned of (display dialog "hallo" ¬
          buttons {"h", "a"} default button "a" default answer "")

Aber wie bekomme ich die Taste heraus, die gedrückt wurde? Ich weiß, dass ich Folgendes verwenden kann:

set mybutton to button returned of (display dialog "hallo" ¬
          buttons {"h", "a"} default button "a" default answer "")

Aber wie bekomme ich beides?

Antworten (1)

Das von einem Befehl zurückgegebene Ergebnis ist eine , die eine Sammlung von beschrifteten Eigenschaften ist, und als solche können Sie es so codieren, dass die Variable das Ganze enthält , und anschließend eine Variable für jede beschriftete Eigenschaft innerhalb des Datensatzes zuweisen , wie im folgenden Beispiel:display dialog recordrecord

set theResultReturned to (display dialog "hallo" buttons {"h", "a"} default button "a" default answer "")
set theTextReturned to the text returned of theResultReturned
set theButtonReturned to the button returned of theResultReturned
  • Beachten Sie, dass die Verwendung von thein to the ...weggelassen werden kann, wenn Sie weniger ausführlich sein möchten. Auch die Variablennamen können weniger ausführlich sein und wurden aus Gründen der Übersichtlichkeit auf diese Weise geschrieben.

Sie können dann nach Bedarf/Wunsch auf die zugewiesenen Variablen reagieren.

Sofern nicht aus Gründen, wie/warum Sie es codieren, dies erforderlich ist, können Sie es auch so codieren, dass separate Variablen für jede beschriftete Eigenschaft nicht explizit festgelegt werden müssen. Ein Beispiel für einen logischen Fluss ohne explizites Setzen von beschrifteten Eigenschaften finden Sie im Abschnitt „Beispiele“ des Befehls im AppleScript-Sprachhandbuch .display dialog