7 votos

applescript: obtener la respuesta y los botones de la pantalla de diálogo

¿Cómo puedo obtener tanto la respuesta como el botón pulsado de un 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 puedo obtener el botón que se ha pulsado? 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 conseguir ambas cosas?

6voto

user3439894 Puntos 5883

El resultado devuelto de una display dialog comando es un record, que es una colección de propiedades de la etiqueta, y como tal puede código de modo que la variable contiene toda la record y por lo tanto después de asignar una variable para cada etiqueta de propiedad en el 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
  • Nota el uso de the en to the ... puede ser omitida si usted quiere ser menos detallado. También la variable de nombres puede ser menos detallado y estaban escritas en esta forma para la claridad.

Usted puede entonces actuar sobre la asignación de variables como necesitaba/quería.

Salvo que, por razones de cómo y por qué estás codificación precisa de él, también se puede escribir el código de una manera en la que se separan las variables para cada etiqueta de propiedad no tienen que ser explícitamente establecido. Para un ejemplo de flujo de la lógica sin configuración explícita de la etiqueta de propiedades, eche un vistazo a la sección de Ejemplos de la display dialog comando en la Guía de Lenguaje de AppleScript.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X