Exemples
La programmation AppleScript en exemples.

FileMaker
Ecrire dans un calque Photoshop.
Imaginons qu'on ait besoin de créer des images contenant du texte et que ces images doivent être créées en 3 langues. Une solution possible concistera à créer un claque Photoshop par langue. On considérera qu'on nomme les calques toujours de la même façon. Ainsi, il sera possible d'automatiser la saisie du texte dans les calques. Dans l'exemple ci-dessous, on proposera de cibler un des 3 calques de l'image "welcome.psd". Ces calques sont "english", "french" et "german".

Exemple 21 : récupérez l'AppleScript ici et le fichier d'exemple ici.

Le Script :

set ma_question1 to display dialog "quel est le calque choisi ?" default answer "english french german"
set calque_cible to text returned of ma_question1

set ma_question2 to display dialog "quel est le texte choisi ?" default answer "Welcome Bienvenue Willkommen"
set texte_cible to text returned of ma_question2


tell application "Adobe Photoshop CS"
activate
tell (current document)
tell art layer calque_cible
set contents of text object to texte_cible
end tell
end tell
end tell


Explications :
Quand on regarde le dictionnaire de Photoshop, on voit qu'il existe une hiérarchie d'élements. Après l'application, le premier élément est le document, puis le art layer (le calque), le text-object et enfin le contenu du text-object proprement dit. Quand on a à faire avec ce genre de hiérarchie, le plus simple est d'utiliser des "tell" imbriqués plutôt qu'une longue liste de "of". En utilisant cette seconde écriture on obtiendrait : "set contents of text object of art layer calque_cible of current document to texte_cible".

Astuce : si le calque visé se trouve dans un dossier de calque (layer set), il suffira d'utiliser un "tell" supplémentaire entre le niveau "document" et le niveau "art layer" puisque le "layer set" est hérarchiquement compris entre ces deux niveaux.