AppleScript restituisce un errore nella data di definizione

0

il mio codice seguente restituisce un errore

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

Se scriverei la stringa, definita in b, direttamente prima della data, funziona, ma la mia stringa di data è definita da alcune variabili, quindi b è solo un esempio per la stringa, come appare.

Ma perché AppleScript restituisce l'errore, solo perché la stringa è definita in una variabile?

    
posta hi-everyone 12.04.2016 - 18:11
fonte

2 risposte

0

Prova:

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

Un altro approccio:

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
    
risposta data 12.04.2016 - 19:04
fonte
0

La tua sintassi non è corretta.

Per prima cosa, non è necessario "dire" nulla. Lasciare "tell" e "end tell" disattivati. Le date non sono specifiche per nessuna app particolare, quindi non è necessario "dirlo". Questo potrebbe essere l'intero problema.

Secondo, se fai qualcosa di simile:

set a to current date

Otterrai un risultato come questo (non esattamente così, perché è particolare per le tue preferenze di data e ora):

data "Martedì, 12 aprile 2016 10:39:44"

Questo è il "risultato" dello script di una riga sopra. Osserva le virgole.

Lo script in cui imposti "b" non include virgole e potrebbe essere il punto in cui va storto. Penso che se esegui uno script a riga singola come mostrato sopra vedrai la sintassi corretta. Una volta che lo vedi, puoi cambiare la tua stringa nella riga in cui hai impostato b in modo che corrisponda alla sintassi che il sistema si aspetta. Se stai utilizzando la sintassi corretta (ovvero, corrispondente a ciò che ottieni quando chiedi la data corrente), il tuo problema è esclusivamente che hai spostato i comandi della data nel blocco "tell" e l'app che stai dicendo "non capisco come farlo Lasciare l'involucro "tell" spento. Porta le tue cose fatte fuori da quello. La tua data "b" continuerà a funzionare più avanti nel tuo script, in un tell block. Ma devi lavorare con le date al di fuori di un tell block.

    
risposta data 12.04.2016 - 19:43
fonte

Leggi altre domande sui tag