applescript: obtenga la respuesta y los botones del cuadro de diálogo de visualización

¿Cómo obtengo tanto la respuesta como el botón presionado de un cuadro de diálogo de visualización en AppleScript?

El siguiente código me dará el texto, pero no el botón:

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

Pero, ¿cómo obtengo el botón que se presionó? Sé que puedo usar lo siguiente:

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

Pero, ¿cómo puedo obtener ambos?

Respuestas (1)

El resultado que devuelve un display dialog comando es a record, que es una colección de propiedades etiquetadas y, como tal, puede codificarlo para que la variable contenga el todo recordy luego asignar una variable para cada propiedad etiquetada dentro del registro como en el siguiente ejemplo:

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
  • Tenga en cuenta que el uso de thein to the ...se puede omitir si desea ser menos detallado. Además, los nombres de las variables también pueden ser menos detallados y se escribieron de esta manera para mayor claridad.

A continuación, puede actuar sobre las variables asignadas según sea necesario o deseado.

A menos que por razones de cómo/por qué lo está codificando lo requiera, también puede codificarlo de manera que las variables separadas para cada propiedad etiquetada no tengan que establecerse explícitamente. Para ver un flujo lógico de ejemplo sin una configuración explícita de propiedades etiquetadas , consulte la sección Ejemplos del comando en la Guía del lenguaje AppleScript .display dialog