0 votes

AppleScript renvoie une erreur lors de la définition de la date

Mon code suivant renvoie une erreur

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

Si j'écris la chaîne, définie dans b, directement avant date, cela fonctionne, mais ma chaîne de date est définie par certaines variables, donc b est juste un exemple pour la chaîne, à quoi elle ressemble.

Mais pourquoi AppleScript renvoie-t-il l'erreur, uniquement parce que la chaîne est définie dans une variable ?

0voto

adayzdone Points 1798

Essayez :

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

Une autre approche :

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

Christian Boyce Points 1052

Votre syntaxe n'est pas tout à fait correcte.

Tout d'abord, vous n'avez pas besoin de "dire" quoi que ce soit. Laissez de côté le "dire" et le "finir de dire". Les dates ne sont pas spécifiques à une application particulière, vous n'avez donc pas besoin de "dire". C'est peut-être là tout le problème.

Deuxièmement, si vous faites quelque chose comme ça :

set a to current date

Vous obtiendrez un résultat comme celui-ci (pas exactement comme celui-ci, car il dépend de vos préférences en matière de date et d'heure) :

date "Mardi 12 avril 2016 à 10:39:44 AM"

C'est le "résultat" du script d'une ligne ci-dessus. Remarquez les virgules.

Votre script où vous mettez "b" n'inclut pas de virgules et c'est peut-être là que le problème se pose. Je pense que si vous exécutez un script d'une ligne comme je l'ai montré ci-dessus, vous verrez la syntaxe correcte. Une fois que vous l'aurez vue, vous pourrez modifier votre chaîne de caractères dans la ligne où vous avez défini b pour qu'elle corresponde à la syntaxe attendue par le système. Si vous utilisez la bonne syntaxe (c'est-à-dire qu'elle correspond à ce que vous obtenez lorsque vous demandez la date courante), alors votre problème est exclusivement que vous avez enveloppé vos commandes de date dans le bloc "tell", et que l'application à laquelle vous "dites" de le faire ne comprend pas comment le faire. Ne mettez pas l'enveloppe "tell". Faites vos commandes de date en dehors de cela. Votre date "b" fonctionnera toujours plus tard dans votre script, dans un bloc tell. Mais vous devez faire votre travail sur la date en dehors d'un bloc tell.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X