0 votos

AppleScript devuelve un error al definir la fecha

Mi siguiente código devuelve un error

tell current application
    set b to "Tuesday 12 April 2016 at 18:06:10"
    date b
end tell

Si escribiera la cadena, definida en b, directamente antes de date, está funcionando, pero mi cadena de date está definida por algunas variables, así que b es sólo un ejemplo para la cadena, cómo se ve.

¿Pero por qué AppleScript devuelve el error, sólo porque la cadena está definida en una variable?

0voto

adayzdone Puntos 1258

Inténtalo:

set dateString to "Tuesday, April 12, 2016 at 12:00:00 AM"
set dateReference to date dateString

tell current application
    -- insert commands here
end tell

Otro enfoque:

set y to 2001
set m to 6
set d to 12
set h to 12
set min to 12
set s to 12

set cd to current date
tell cd
    set its year to y
    set its month to m
    set its day to d
    set its hours to h
    set its minutes to min
    set its seconds to s
end tell

0voto

Seif Puntos 121

Tu sintaxis no es del todo correcta.

En primer lugar, no es necesario "decir" nada. Deja el "decir" y el "terminar de decir" desactivados. Las fechas no son específicas de ninguna aplicación en particular, así que no necesitas "decir". Este puede ser todo el problema.

Segundo, si haces algo así:

set a to current date

Obtendrás un resultado como este (no exactamente así, porque es particular a tus preferencias de fecha y hora):

fecha "martes 12 de abril de 2016 a las 10:39:44"

Ese es el "resultado" de la línea script anterior. Fíjate en las comas.

Tu script donde pones "b" no incluye comas y ahí puede estar el error. Creo que si ejecutas un script de una línea como el que mostré arriba verás la sintaxis adecuada. Una vez que la veas, puedes cambiar tu cadena en la línea donde pones b para que coincida con la sintaxis que el sistema espera. Si está usando la sintaxis correcta (es decir, que coincide con lo que obtiene cuando pide la fecha actual) entonces su problema es exclusivamente que ha envuelto sus comandos de fecha en el bloque "tell", y la aplicación a la que se lo está "diciendo" no entiende cómo hacerlo. Deja la envoltura "tell" fuera. Haz tus cosas de fecha fuera de eso. Tu fecha "b" seguirá funcionando más tarde en tu script, en un bloque tell. Pero tienes que hacer tu trabajo de fecha fuera de un bloque tell.

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