AppleScript devuelve error en la fecha de definición

0

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, justo antes de la fecha, está funcionando, pero mi cadena de fecha está definida por algunas variables, por lo que b es solo un ejemplo para la cadena, cómo se ve.

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

    
pregunta hi-everyone 12.04.2016 - 18:11

2 respuestas

0

Prueba:

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
    
respondido por el adayzdone 12.04.2016 - 19:04
0

Su sintaxis no es del todo correcta.

Primero, no necesitas "decir" nada. Deje "tell" y "end tell" desactivados. Las fechas no son específicas de ninguna aplicación en particular, por lo que no es necesario "decir". Esto puede ser todo el problema.

Segundo, si haces algo como esto:

set a to current date

Obtendrá un resultado como este (no exactamente como este, porque es específico para sus preferencias de fecha y hora):

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

Ese es el "resultado" del script de una línea anterior. Note las comas.

La secuencia de comandos en la que configuró "b" no incluye comas y puede que no sea correcta. Creo que si ejecuta una secuencia de comandos de una línea como la mostrada anteriormente, verá la sintaxis correcta. Una vez que lo vea, puede cambiar su cadena en la línea donde configura b para que coincida con la sintaxis que el sistema espera. Si está utilizando la sintaxis adecuada (es decir, que coincide con lo que obtiene cuando solicita la fecha actual), su problema es exclusivamente que ha incluido sus comandos de fecha en el bloque "tell", y la aplicación que está diciendo. "no entiende cómo hacerlo. Deje el envoltorio "tell" apagado. Haz tus cosas de fecha fuera de eso. Su fecha "b" aún funcionará más adelante en su script, en un bloque tell. Pero tienes que hacer tu trabajo de fecha fuera de un bloque tell.

    
respondido por el Christian Boyce 12.04.2016 - 19:43

Lea otras preguntas en las etiquetas