smilepause some_delay until escape key wantEsc until arrow key wantArrow interrompt l'exécution d'un script pendant le délai spécifié en secondes par some_delay, éventuellement 0, ou indéfiniment si le paramètre n'est pas spécifié. Pendant cette interruption, Smile reste totalement disponible : vous pouvez utiliser votre ordinateur normalement. Deux touches peuvent avoir une action spéciale lorsqu'un script est interrompu par smilepause : si wantEsc vaut true (c'est sa valeur par défaut), la touche esc lance l'erreur Annulé par l'utilisateur (numéro -128), et si wantArrow vaut true (ce n'est pas sa valeur par défaut) la touche ▸ (flèche droite) annule smilepause et reprend l'exécution du script.
Dans tous les cas il est possible de reprendre l'exécution d'un script interrompu par smilepause en appelant la commande smileresume.
Insérer un smilepause 0 dans une boucle met l'interface à jour pendant que la boucle s'exécute ; cela permet de rafraîchir plus souvent l'écran. Par exemple, smilepause 0 mettra à jour la Console.
repeat with the_file in the_list
set the_name to name of (info for the_file)
-- perform some task
quietmsg(the_name & " done")
smilepause 0
end repeat
Lorsqu'un script est interrompu avec smilepause, vous pouvez effectuer n'importe quelle action excepté (le cas échéant) utiliser les deux touches réservées : par exemple vous pouvez lancer un autre script L'exécution de cet autre script s'effectuera pendant l'interruption du premier : le second script finira et retournera son résultat avant le premier.
|