Statements
La programmation AppleScript en exemples.

ancre de marine
Un sous-programme.
Imaginons qu'on veuille exécuter plusieurs fois le même morceau de code dans un programme. Afin de gagner du temps et de la lisibilité dans le programme, on pourra définir une fonction qui aura ce rôle et qu'on utilisera plusieurs fois.


Statement 6 : récupérez l'AppleScriptici.

Le Script :

on la_fonction_1()
display dialog "Bonjour"
end
la_fonction_1


la_fonction_1()


Explications :
On a défini une fonction appelée "la_fonction_1". Une fonction est un morceau de script qui commence par "on" et se termine par "end", entre les deux il peut se trouver une ou plusieurs instructions. On notera que le nom de la fonction est suivi d'une paire de parenthèses, c'est ici qu'on spécifiera les éventuels paramètres. Si la fonction n'a pas de paramètre, il n'y aura rien entre les parenthèses.
Pour utiliser la fonction, il suffira d'appeler son nom suivi d'une paire de parenthèses.


Astuce :
La fonction n'est exécutée que lorsqu'elle est appelée, ceci signifie qu'on peut définir des fonctions qui ne seront pas utilisées dans le programme et que ceci ne gène en rien le bon fonctionnement du programme.


Un sous-programme avec un paramètre.
Imaginons qu'on veuille exécuter plusieurs fois le même morceau de code en fonction du contexte. Le contexte introduira une variation dans l'exécution, ce sera donc un paramètre d'exécution et non pas une exécution différente qui pourrait être traitée avec une condition.


Statement 7 : récupérez l'AppleScript ici le script.

Le Script :

on la_fonction_2(message)
display dialog message
end
la_fonction_2


la_fonction_2("tu vas bien ?")


Explications :
On a défini une fonction appelée "la_fonction_2" et entre les parenthèses, on a ajouté le nom d'une variable qui sera le paramètre de la fonction.
En conséquence, lorsqu'on appelera la fonction, il faudra lui fournir le paramètre entre parenthèse.


Un sous-programme avec plusieurs paramètres.
Imaginons qu'on veuille exécuter une fonction avec plusieurs paramètres agissant les uns sur les autres.


Statement 8 : récupérez l'AppleScript ici.

Le Script :

on la_fonction_3(parametre1, parametre2, parametre3)
if
parametre1 = {"oui"} then
display dialog parametre2
else
display dialog parametre3
end if
end
la_fonction_3


la_fonction_3(choose from list {"oui", "non"} with prompt "oui ou non ?", "oui, je vais bien", "non, j'ai mal aux dents")


Explications :
On a défini une fonction appelée "la_fonction_3" et entre les parenthèses, on a ajouté les trois paramètres. Le fonctionnement du sous-programme consiste, selon la valeur du premier paramètre, à afficher le deuxième ou le troisième paramètre.


Astuce :
Lorsqu'on appelle la fonction, le paramètre peut être le résultat d'un calcul, d'une instruction ou d'une fonction. Il peut même être le résulat de la fonction elle-même, dans ce cas, la fonction est dite récursive.



Un sous-programme qui renvoie un résultat.
Imaginons qu'on veuille exécuter un calcul plusieurs fois. On pourra créer une fonction qui exécutera ce calcul en fonction d'un ou plusieurs paramètres. Le résultat du calcul devra être récupéré pour poursuivre l'exécution du programme.


Statement 2 : récupérez l'AppleScript ici.

Le Script :

on la_fonction_4(parametre1)
if parametre1 = {"jour"} then
return day of (current date)
else
if parametre1 = {"mois"} then
return month of (current date)
end if
end if
return year of (current date)
end la_fonction_4


display dialog la_fonction_4(choose from list {"jour", "mois", "annee"} with prompt "quel info veux-tu connaitre ?")



Explications :
On a défini une fonction qui donnera soit le jour, soit le mois, soit l'année de la date courante. On donne donc "jour" ou "mois ou "année" comme paramètre et la fonction renvoie à l'aide de "return" le resultat.


Astuces :
• Le type du résultat de la fonction est indépendant du types des paramètres, il est possible de créer une fonction ayant des paramètres numériques et qui renverra un résultat de type chaîne de caractères.
• L'utilisation de l'instruction "
return" stoppe immédiatement l'exécution de la fonction. Dans l'exemple, le programme exécutera la ligne "return year of (current date)" uniquement si les cas "jour" et "mois" ne se sont pas présentés. Si le cas "jour" ou "mois" se présente, l'instruction "return" est appelée, "la_fonction_4" se voit attriber une valeur et le programme n'ira pas plus loin.