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

5

¿Cómo obtengo la respuesta y 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 consigo ambos?

WalterBeiter
fuente

Respuestas:

3

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 ...puede omitirse 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.

Luego puede actuar sobre las variables asignadas según sea necesario / deseado.

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

usuario3439894
fuente