Top Banner
 Guide AppleScript version française
368

Guide Apple Script

Jul 07, 2015

Download

Documents

aspamm
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

Guide AppleScriptversion franaise

Prambule

Ce guide nest absolument pas une traduction officielle de la Socit Apple. Ce guide se base sur le guide AppleScript Language Guide for AppleScript 1.3.7 uniquement disponible en version anglaise depuis Mai 1999. ce jour, aucune localisation de ce texte na t faite, que ce soit en franais ou dans une autre langue. Le guide AppleScript Language Guide est la rfrence pour toute personne dsirant approfondir la technologie AppleScript. Lunique version anglaise pnalisant et limitant laccs cette technologie pour les non-anglophones, un essai de dclinaison en franais a vu le jour. Ce guide nest pas exempt derreurs de frappe ou dincohrences et je vous prie de men excuser. En esprant que cette version franaise comblera lattente de tous les utilisateurs francophones, je vous souhaite une bonne lecture de ce premier tome sur les possibilits du langage AppleScript.

Un utilisateur Mac

Merci Daniel, Jean-Marie et Raymond pour leur aide indispensable.

Marques dposes Apple, le logo Apple, AppleScript, AppleTalk, AppleWorks, Finder, LaserWriter, Mac, Macintosh et PowerBook sont des marques dposes de Apple Computer ; Inc. Toutes les autres marques sont la proprit de leurs dtenteurs respectifs.

Sommaire

AppleScript est un langage de pilotage, dautomatisation de tches, que ce soit pour le systme ou pour des applications. Au lieu dutiliser la souris ou le clavier pour manipuler les menus ou les boutons, vous pouvez crire un jeu dinstructions - appel script - pour automatiser les tches rptitives ou pour personnaliser les applications. Tous les caractres de couleur bleue sont des liens qui afficheront la page indique.

Tome 1

Gnralits Les valeurs et les constantesGnralits . . . . . T1 - 6 Quest ce quAppleScript ? . . . . . T1 - 6 AppleScript et les applications . . . . . T1 - 6 Comment AppleScript fonctionne ? . . . . . T1 - 7 Les instructions . . . . . T1 - 8 Les commandes . . . . . T1 - 9 Les objets . . . . . T1 - 10 Les dictionnaires . . . . . T1 - 11 Les valeurs et les constantes . . . . . T1 - 12 Les expressions . . . . . T1 - 13 Les complments de pilotage . . . . . T1 - 14 Les coercitions . . . . . T1 - 15 Les caractres spciaux . . . . . T1 - 15 Les commentaires . . . . . T1 - 17 Les identificateurs . . . . . T1 - 18 Les abrviations . . . . . T1 - 20 Linstruction Log . . . . . T1 - 21

Chapitre 1

Chapitre 2

Les valeurs . . . . .T1 - 24 Utilisation des classes de valeur . . . . . T1 - 24 Boolean . . . . . T1 - 31 Class . . . . . T1 - 32

Sommaire

I

Constant . . . . . T1 - 33 Data . . . . . T1 - 35 Date . . . . . T1 - 36 Integer . . . . . T1 - 41 List . . . . . T1 - 43 Number . . . . . T1 - 47 Real . . . . . T1 - 48 Record . . . . . T1 - 50 Reference . . . . . T1 - 53 String . . . . . T1 - 57 Styled Text . . . . . T1 - 62 Text . . . . . T1 - 64 Les classes de valeur dunits de mesure . . . . . T1 - 64 Les classes de valeur dunits de mesure par catgories . . . . . T1 - 65 Travailler avec les valeurs dunits de mesure . . . . . T1 - 67 Autres classes de valeur . . . . . T1 - 68 Unicode Text et International Text . . . . . T1 - 68 File Specification . . . . . T1 - 71 RGB Color . . . . . T1 - 72 Styled Clipboard Text . . . . . T1 - 73

Chapitre 3

Les coercitions . . . . . T1 - 74

Chapitre 4

Les constantes . . . . . T1 - 78 Constantes arithmtiques . . . . . T1 - 78 Constantes boolennes . . . . . T1 - 79 Attributs des instructions Considering et Ignoring . . . . . T1 - 79 Constantes de date et dheure . . . . . T1 - 80 Diverses constantes de script . . . . . T1 - 81 Constantes des options denregistrement . . . . . T1 - 83 Constantes des chanes de caractres . . . . . T1 - 84 Constantes des styles de texte . . . . . T1 - 84 Constante Version . . . . . T1 - 85

II

Sommaire

Tome 2

Les commandes

Chapitre 1

Introduction . . . . . T2 - 6

Chapitre 2

Les types de commandes . . . . . T2 - 7 Les Commandes dapplication . . . . . T2 - 7 Les Commandes AppleScript . . . . . T2 - 9 Les Commandes des complments de pilotage . . . . . T2 - 9 Les Commandes dfinies par lutilisateur . . . . . T2 - 12

Chapitre 3

Utilisation des dfinitions de commandes . . . . . T2 - 13 Syntaxe . . . . . T2 - 13 Paramtres . . . . . T2 - 14 Rsultat . . . . . T2 - 15 Exemples . . . . . T2 - 15 Erreurs . . . . . T2 - 15

Chapitre 4

Utilisation des paramtres . . . . . T2 - 17 Les coercitions de paramtres . . . . . T2 - 17 Les paramtres qui spcifient des emplacements . . . . . T2 - 18 Les donnes brutes (raw data) dans les paramtres . . . . .T2 - 19

Chapitre 5

Utilisation des rsultats . . . . . T2 - 20 Visualiser un rsultat dans la fentre rsultat de lditeur de scripts . . . . . . . . . . . . . . . . .T2 - 20 Utiliser la variable prdfinie result . . . . . T2 - 21

Chapitre 6

Les Chevrons dans les rsultats et les scripts . . . . . T2 - 23 Quand un dictionnaire nest pas disponible . . . . . T2 - 23 Quand AppleScript affiche les donnes en format brut (raw) . . . . . T2 - 25 Saisir les informations dun script en format brut (raw) . . . . . T2 - 26 Envoi dApple Events Bruts partir dun script . . . . . T2 - 28

Sommaire

III

Chapitre 7

Les dfinitions de commandes . . . . . T2 - 29 Close . . . . . T2 - 32 Copy . . . . . T2 - 34 Count . . . . . T2 - 36 Delete . . . . . T2 - 40 Duplicate . . . . . T2 - 41 Exists . . . . . T2 - 42 Get . . . . . T2 - 43 Launch . . . . . T2 - 45 Make . . . . . T2 - 48 Move . . . . . T2 - 50 Open . . . . . T2 - 51 Print . . . . . T2 - 52 Quit . . . . . T2 - 53 Reopen . . . . . T2 - 54 Run . . . . . T2 - 56 Save . . . . . T2 - 58 Set . . . . . T2 - 59

Tome 3

Les objets et les rfrences

Chapitre 1

Introduction . . . . . T3 - 6

Chapitre 2

Les dfinitions des classes dobjet . . . . . T3 - 8 Les proprits . . . . . T3 - 10 Les classes dlment . . . . . T3 - 10 Les classes de valeur retournes par dfaut . . . . . T3 - 11

Chapitre 3

Les rfrences . . . . . T3 - 12 Les containers . . . . . T3 - 13 Les rfrences compltes ou partielles . . . . . T3 - 14

Chapitre 4

Les formes de rfrence . . . . . T3 - 16 Arbitrary Element . . . . . T3 - 17 Every Element . . . . . T3 - 18Sommaire

IV

Filter . . . . . T3 - 20 ID . . . . . T3 - 21 Index . . . . . T3 - 24 Middle Element . . . . . T3 - 26 Name . . . . . T3 - 27 Property . . . . . T3 - 29 Range . . . . . T3 - 30 Relative . . . . . T3 - 32

Chapitre 5

Utilisation de la forme de rfrence Filter . . . . . T3 - 36

Chapitre 6

Les rfrences aux fichiers . . . . . T3 - 39 Spcifier un fichier par son nom ou par son chemin daccs . . . . . T3 - 39 Spcifier un fichier par une rfrence . . . . . T3 - 40 Spcifier un fichier par un alias . . . . . T3 - 41 Diffrence entre File et Alias . . . . . T3 - 42 Spcifier un fichier par File Specification . . . . . T3 - 42

Chapitre 7

Les rfrences aux applications . . . . . T3 - 43 Les rfrences aux applications locales . . . . . T3 - 44 Les rfrences aux applications distantes . . . . . T3 - 45

Tome 4

Les expressions

Chapitre 1

Introduction . . . . . T4 - 6

Chapitre 2

Le rsultat des expressions . . . . . T4 - 8

Chapitre 3

Les variables . . . . . T4 - 9 La cration des variables . . . . . T4 - 9 Lutilisation des variables . . . . . T4 - 11 Loprateur A Reference To . . . . . T4 - 12 Le partage de donnes . . . . . T4 - 15Sommaire V

La porte des variables . . . . . T4 - 16 Les variables prdfinies . . . . . T4 - 16

Chapitre 4

Les proprits de script . . . . . T4 - 17 Dfinir les proprits de script . . . . . T4 - 17 Utiliser les proprits de script . . . . . T4 - 18 Porte des proprits de script . . . . . T4 - 18

Chapitre 5

Les proprits dAppleScript . . . . . T4 - 20

Chapitre 6

Les expressions rfrence . . . . . T4 - 22

Chapitre 7

Les oprations . . . . . T4 - 23 Les oprateurs dAppleScript . . . . . T4 - 24

Chapitre 8

Les oprateurs qui grent les oprandes de diverses classes . . . . . T4 - 33 Equal, Is Not Equal To . . . . . T4 - 33 Greater Than, Less Than . . . . . T4 - 37 Starts With, Ends With . . . . . T4 - 39 Contains, Is Contained By . . . . . T4 - 40 Concatnation . . . . . T4 - 41

Chapitre 9

La priorit des oprateurs . . . . . T4 - 44

Chapitre 10

La gestion des dates et des heures . . . . . T4 - 47 Arithmtique avec les dates et les heures . . . . . T4 - 47 La gestion des dates de fin de sicle . . . . . T4 - 49

Tome 5

Les instructions de contrle

Chapitre 1VI

Introduction . . . . . T5 - 6Sommaire

Chapitre 2

Caractristiques des instructions de contrle . . . . . T5 - 8

Chapitre 3

Dboguer les instructions de contrle . . . . . T5 - 10

Chapitre 4

Les instructions Tell . . . . . T5 - 11 Les instructions Tell imbriques . . . . . T5 - 11 Utiliser it, me, et my dans les instructions Tell . . . . . T5 - 12 Tell (instruction simple) . . . . . T5 - 14 Tell (instruction compose) . . . . . T5 - 15

Chapitre 5

Les instructions If . . . . . T5 - 17 If (instruction simple) . . . . . T5 - 19 If (instruction compose) . . . . . T5 - 20

Chapitre 6

Les instructions Repeat . . . . . T5 - 21 Repeat (forever) . . . . . T5 - 22 Repeat (number) times . . . . . T5 - 23 Repeat While . . . . . T5 - 24 Repeat Until . . . . . T5 - 25 Repeat With (loopVariable) From (startValue) To (StopValue) . . . . . T5 - 26 Repeat With (loopVariable) In (list) . . . . . T5 - 27 Exit . . . . . T5 - 30

Chapitre 7

Les instructions Try . . . . . T5 - 31 Les types derreurs . . . . . T5 - 32 Comment les erreurs sont gres . . . . . T5 - 38 crire une instruction Try . . . . . T5 - 38 Signaler les erreurs dans les scripts . . . . . T5 - 41

Chapitre 8

Les instructions Considering et Ignoring . . . . . T5 - 46 Syntaxe . . . . . T5 - 47 Attributs . . . . . T5 - 47 Exemples . . . . . T5 - 48 Notes . . . . . T5 - 49Sommaire VII

Chapitre 9

Les instructions With Timeout . . . . . T5 - 51 Syntaxe . . . . . T5 - 52 Exemples . . . . . T5 - 52

Chapitre 10

Les instructions With Transaction . . . . . T5 - 54 Syntaxe . . . . . T5 - 54 Exemples . . . . . T5 - 54

Tome 6

Les gestionnaires

Chapitre 1

Introduction . . . . . T6 - 6

Chapitre 2

Les scripts-applications . . . . . T6 - 7

Chapitre 3

propos des routines . . . . . T6 - 8 Linstruction Return . . . . . T6 - 8 Un exemple de routine . . . . . T6 - 10 Les types de routines . . . . . T6 - 11 Porte des appels de routine dans les instructions Tell . . . . . T6 - 12 Vrifier la classe des paramtres de routines . . . . . T6 - 13 Les routines rcursives . . . . . T6 - 14 Enregistrer et charger des librairies de routines . . . . . T6 - 15

Chapitre 4

Dfinir et appeler les routines . . . . . T6 - 18 Les routines avec des paramtres tiquets . . . . . T6 - 18 Dfinir une routine avec des paramtres tiquets . . . . . T6 - 19 Appeler une routine avec des paramtres tiquets . . . . . T6 - 20 Exemples de routines avec des paramtres tiquets . . . . . T6 - 22 Les routines avec des paramtres positionns. . . . . T6 - 25 Dfinir une routine avec des paramtres positionns . . . . . T6 - 25 Appeler une routine avec des paramtres positionns . . . . . T6 - 26 Exemples de routines avec des paramtres positionns . . . . . T6 - 28

VIII

Sommaire

Chapitre 5

Les gestionnaires de commande . . . . . T6 - 30 Syntaxe des gestionnaires de commande . . . . . T6 - 30 Les gestionnaires de commande pour les objets dapplication . . . . . T6 - 32 Les gestionnaires de commande pour les scripts-applications . . . . . T6 - 32 Les gestionnaires Run . . . . . T6 - 33 Les gestionnaires Open . . . . . T6 - 35 Les gestionnaires de script-application Stay-open . . . . . T6 - 37 Les gestionnaires Idle . . . . . T6 - 38 Les gestionnaires Quit . . . . . T6 - 39 Interrompre des gestionnaires de script-application . . . . . T6 - 40 Appeler un script-application depuis un script . . . . . T6 - 40

Chapitre 6

Porte des variables et des proprits de script . . . . . T6 - 43 Dclarer des variables et des proprits . . . . . T6 - 44 Porte des variables et des proprits dclares au top niveau dun script . . . . . . . . . . . . . . . . T6 - 45 Porte des proprits et des variables dclares dans un script-objet . . . . . . . . . . . . . . . . . . . . . . . T6 - 49 Porte des variables dclares dans un gestionnaire . . . . . T6 - 53

Tome 7

Les scripts-objets

Chapitre 1

Introduction . . . . . T7 - 6

Chapitre 2

propos des scripts-objets . . . . . T7 - 7

Chapitre 3

Dfinir un script-objet . . . . . T7 - 9

Chapitre 4

Envoyer des commandes aux scripts-objets . . . . . T7 - 11

Chapitre 5

Initialiser les scripts-objets . . . . . T7 - 13

Sommaire

IX

Chapitre 6

Hritage et dlgation . . . . . T7 - 15 Dfinir lhritage . . . . . T7 - 15 Fonctionnement de lhritage . . . . . T7 - 16 Linstruction Continue . . . . . T7 - 20 Utiliser linstruction Continue pour transmettre des commandes aux applications . . . . . . . T7 - 24 La proprit Parent et lapplication courante . . . . . T7 - 25

Chapitre 7

Utiliser les commandes Copy et Set avec les scripts-objets . . . . . T7 - 27

X

Sommaire

ConventionsCertains termes de ce guide sont mis en gras lorsquils sont dfinis pour la premire fois. Les conventions suivantes sont utilises dans la syntaxe de ce guide :lment de langage

le texte, reprsent tel que ci-contre, indique un exemple ou morceau de script. Le texte doit tre recopi dans lditeur de scripts dans son intgralit. Si des symboles spciaux (comme & ou +) sont nots, ils devront galement tre saisis. un texte en italique indique un paramtre de substitution que vous remplacerez par une valeur approprie. (Dans dautres langages de programmation, les paramtres de substitution sont appels nonterminals.) les crochets indiquent que les lments inscrits entre crochets sont facultatifs lors de lcriture des scripts. les parenthses groupent ensemble plusieurs lments. Si les parenthses font partie de la syntaxe du langage, elles sont en gras. trois petits points (...) aprs un groupe dfini entre crochets indiquent que vous pouvez rpter le groupe d'lments entre crochets x fois ( 1 ou plus). trois petits points (...) aprs un groupe dfini entre parenthses indiquent que vous pouvez rpter le groupe d'lments entre crochets x fois ( 1 ou plus). les barres verticales sparent les lments dun groupe dans lequel vous devez choisir un seul lment. Les lments spars par des barres verticales sont le plus souvent groups entre crochets ou parenthses.

paramtre de substitution

[optionnel]

(un groupe)

[optionnel]...

(un groupe)...

a|b|c

Conventions

Tome 1

Gnralits Les valeurs et les constantes

Chapitre 1

Tome 1

Gnralits

Quest ce quAppleScript ?AppleScript est un langage de pilotage vous permettant dautomatiser une srie de tches sur votre ordinateur, de contrler directement des applications. Au lieu dutiliser la souris, le clavier ou un autre dispositif pour manipuler les menus, boutons ou autres, vous pouvez crer un jeu dinstructions appel Scripts pour automatiser les tches rptitives, personnaliser des applications. Sa caractristique cl est sa capacit envoyer des commandes aux objets de diffrentes applications, y compris le Finder ou certains composants du logiciel systme (comme le tableau de bord Apparence).

AppleScript et les applicationsVous pouvez contrler plusieurs applications dans un seul script et les applications peuvent se trouver sur des ordinateurs distants. Un script peut envoyer des instructions une application, recevoir les donnes qui en rsultent, et transfrer alors les donnes une ou plusieurs applications diffrentes de la premire. Par exemple, un script peut collecter des informations dans une base de donnes et les copier dans un tableur. Dans le mme ordre dide, un script peut utiliser une application pour excuter une action sur les donnes dune autre application. Par exemple, supposons quun traitement de texte comporte un correcteur orthographique et supporte aussi une commande AppleScript de vrification dorthographe, une commande Check Spelling. Vous pouvez vrifier lorthographe dun bloc de texte dune autre application, juste en crivant un script qui envoie la commande AppleScript et le texte vrifier au traitement de texte, lequel retourne le rsultat lapplication qui excute le script. Pour information, AppleWorks supporte une telle commande, la commande est Check Spelling. Une application pilotable est une application qui peut rpondre une ou plusieurs commandes AppleScript. Toutes les applications ne sont pas pilotables et certaines ne supportent quun nombre limit de commandesGnralits T1 - 6

Chapitre 1

Tome 1

AppleScript, comme Open ou Quit. Pour dterminer si une application est pilotable, vous pouvez essayer de lire son dictionnaire avec lapplication diteur de scripts. Lapplication diteur de scripts est fournie avec le langage AppleScript, elle permet la cration, la compilation, le test et la modification de scripts. Pour ouvrir le dictionnaire dune application, soit vous dposez son icone sur celle de lditeur de script, soit vous louvrez depuis le menu ouvrir un dictionnaire du menu Fichier de lditeur de scripts. Certaines applications pilotables sont aussi mmorisables, cest dire que vous pouvez utiliser lditeur de scripts pour mmoriser les actions que vous excutez dans lapplication. Pour finir, certaines applications sont aussi attachables. Une application attachable est une application qui peut tre personnalise en attachant des scripts des objets spcifiques de lapplication, tels que des boutons ou des menus. Les scripts sont alors dclenchs par une action spcifique de lutilisateur, comme en choisissant le menu ou en cliquant le bouton associ au script. Pour dterminer si une application est attachable, se rfrer la documentation de lapplication.

Comment AppleScript fonctionne ?AppleScript travaille en envoyant des messages, appels vnements Apple (Apple Events), aux applications. Quand vous crivez un script, vous crivez un ou plusieurs groupes dinstructions. Lorsque vous excutez le script, les instructions sont envoyes lextension AppleScript, laquelle les interprte dans lordre et envoie des Apple Events ou aux applications concernes. Lapplication rpond aux Apple Events en excutant les actions, comme en insrant un texte, en rcuprant une valeur ou en ouvrant un document. Les applications peuvent aussi retourner des Apple Events lextension Applescript pour signaler les rsultats. Lextension AppleScript renvoie alors le rsultat demand au script.

T1 - 7

Gnralits

Chapitre 1

Tome 1

Les instructionsLe fondement des scripts sont les instructions. Quand vous crivez un script, vous composez des instructions qui dcrivent les actions que vous voulez excuter. AppleScript fournit plusieurs types particuliers d'instructions, comme les instructions conditionnelles If, les instructions de rptition Repeat, qui vous permettent de contrler quand et comment les instructions sont excutes. Ces instructions sont appeles des instructions de contrle. Toutes les instructions, y compris les instructions de contrle, appartiennent lune de ces deux catgories: instructions simples ou instructions composes. Les instructions simples sont des instructions crites sur une seule ligne, comme lexemple suivant :tell application "Finder" to close front window.

Les instructions composes sont des instructions crites sur plusieurs lignes et qui contiennent dautres instructions. Toutes les instructions composes ont deux choses en commun: elles peuvent contenir un nombre illimit d'instructions, et elles finissent par une dernire ligne commenant par le mot end (suivi, facultativement, par le nom de linstruction compose). L'instruction simple montre dans lexemple prcdent est quivalente linstruction compose suivante :tell application "Finder" close the front window end tell

Linstruction Tell inclut les lignes tell application "Finder" et end tell, et toutes les instructions simples entre ces deux lignes. Par exemple, ci-dessous, une instruction Tell qui contient deux instructions :tell application "Finder" set windowName to name of front window close front window end tell

Cet exemple illustre lavantage utiliser une instruction compose : vous pouvez ajouter des instructions supplmentaires lintrieur de celle-ci. Notez que lexemple prcdent contient l'instruction close front window au

Gnralits

T1 - 8

Chapitre 1

Tome 1

lieu de close the front window. AppleScript autorise lajout ou la suppression du terme the, nimporte o dans un script, sans modifier le sens du script. Vous pouvez utiliser le terme the pour crire vos instructions en anglais plus courant et par consquent plus facilement lisible. Attention, toutefois, certaines commandes contiennent le mot the et il ne doit pas tre enlev. Par exemple, les commandes The Clipboard, Set The Clipboard To ont le mot the dans leurs orthographes et il est obligatoire. Voici un autre exemple dinstruction compose :if the name of the front window is "Loulou" then close front window end if

Les instructions contenues dans une instruction compose peuvent elles-mme tre des instructions composes. Voici un exemple :tell application "Finder" if the name of the front window is "Loulou" then close front window end if end tell

Les commandesLes commandes sont les termes ou phrases que vous utilisez dans les instructions Applescript pour demander des actions ou des rsultats. Chaque commande est adresse une cible, laquelle est lobjet qui rpond la commande. La cible d'une commande est dhabitude un objet dapplication. Les objets dapplication sont des objets qui appartiennent une application, comme une fentre, ou des objets dans un document, comme les mots et les paragraphes dans un fichier texte. Les commandes peuvent aussi tre adresses des objets systme, lesquels objets spcifiques appartiennent au systme Mac OS, comme un service dimpression ou un thme du tableau de bord Apparence.

T1 - 9

Gnralits

Chapitre 1

Tome 1

Les objetsUn objet est un lment, comme un fichier ou un dossier dans le Finder, un mot ou un paragraphe dans un traitement de texte, ou une range, une colonne ou une cellule dans un tableur, qui peuvent rpondre aux commandes conformment aux actions excutes. AppleScript dtermine dynamiquement cest dire, chaque fois que ncessaire les objets et les commandes reconnus par une application en se basant sur les informations stockes dans chaque application pilotable. Les scripts-objets sont les objets que vous dfinissez et utilisez dans les scripts. Comme les objets dapplication, les scripts-objets rpondent aux commandes et ont des informations spcifiques associes avec eux. A la diffrence des objets dapplication, les scripts-objets sont dfinis dans les scripts. Les scripts-objets sont une caractristique avance dAppleScript. Ils vous permettent dutiliser les techniques de programmation oriente-objet pour dfinir de nouveaux objets et commandes. Les informations contenues dans les scripts-objets peuvent tre sauvegardes et utilises par dautres scripts. Chaque objet a des informations spcifiques associes avec lui et il peut rpondre des commandes spcifiques. Par exemple, dans le Finder, un objet fentre comprend la commande Close. Lexemple suivant montre comment utiliser la commande Close pour demander ce que le Finder ferme la fentre en avant-plan :tell application "Finder" close the front window end tell

La commande Close est insre dans une instruction Tell. Les instructions Tell prcisent des cibles par dfaut pour les commandes quelles contiennent. La cible par dfaut est lobjet qui reoit les commandes si aucun autre objet nest spcifi ou si lobjet est spcifi incompltement dans la commande. Dans ce cas, la structure contenant l'instruction Close ne contient pas assez dinformations pour identifier uniquement lobjet fentre, aussi AppleScript utilise le nom de lapplication indique dans linstruction Tell pour dterminer quel objet reoit la commande Close.

Gnralits

T1 - 10

Chapitre 1

Tome 1

Dans AppleScript, vous utiliserez des rfrences pour spcifier les objets. Une rfrence est un nom compos, similaire un nom de rue ou une adresse, qui spcifie un objet. Par exemple, la phrase suivante est une rfrence :front window of application "Finder" --rsultat la fentre en avant-plan du Finder

Cette phrase indique un objet fentre qui appartient lapplication Finder. Lapplication elle-mme est aussi un objet. AppleScript a diffrents types de rfrence qui vous permettent de spcifier des objets de plusieurs faons. Les objets peuvent contenir dautres objets, appels lments. Dans lexemple prcdent, la fentre en avant-plan est un lment de lobjet application Finder. De mme, dans le prochain exemple, un lment fichier est contenu dans un lment dossier, lequel est contenu dans un disque.file 1 of folder 1 of startup disk

Chaque objet appartient une classe dobjet, laquelle est simplement une tiquette pour des objets ayant des caractristiques identiques. Parmi les caractristiques, qui sont les mmes pour les objets dune classe, se trouvent les commandes qui peuvent agir sur les objets et les lments quils peuvent contenir.

Les dictionnairesPour examiner une dfinition de classe dobjet, de commande, ou certains autres termes supports par une application, vous pouvez ouvrir le dictionnaire de lapplication avec lditeur de scripts. Pour utiliser, dans un script, les termes du dictionnaire dune application, vous devez la nommer. Vous pouvez le faire avec une instruction Tell qui indique le nom de lapplication en question :tell application "Finder" clean up the front window end tell

Quand il rencontre une instruction Tell application, AppleScript lit les termes du dictionnaire de lapplication spcifie et les utilise pour interprter les instructions de linstruction Tell. Par exemple, AppleScript utilise les termes du dictionnaire du Finder pour interprter la commande Clean Up dans

T1 - 11

Gnralits

Chapitre 1

Tome 1

lexemple prcdent. Quand vous utilisez une instruction Tell ou spcifiez un nom dapplication dans un bloc Tell, lextension AppleScript obtient la ressource dictionnaire de lapplication et lit ses commandes, objets et autres termes. Chaque application pilotable a une ressource dictionnaire (de type aete) qui dfinit les commandes, objets et autres termes que vous pouvez utiliser dans vos scripts pour contrler lapplication. En plus des termes dfinis dans les dictionnaires des applications, AppleScript comporte ses propres termes standards. A la diffrence des termes contenus dans les dictionnaires des applications, les termes standards AppleScript sont toujours disponibles. Vous pouvez utiliser ces termes (comme If, Tell, etc...) nimporte o dans un script. Les termes contenus dans les dictionnaires sont appels des mots rservs. Quand vous dfinissez des mots nouveaux pour votre script comme des identificateurs pour les variables vous ne pouvez pas utiliser les mots rservs.

Les valeurs et les constantesEn plus de manipuler les objets dautres applications, AppleScript peut stocker et manipuler ses propres donnes, appeles valeurs. Une valeur est une simple donne structure qui peut tre reprsente, stocke et manipule dans AppleScript. Une valeur peut tre stocke soit dans une proprit, soit dans une variable. AppleScript reconnait plusieurs types de valeurs, comme les chanes de caractres, les nombres entiers, les listes et les dates. Les valeurs sont fondamentalement diffrentes des objets dapplication, lesquels peuvent tre manipuls dans AppleScript, mais sont contenus dans les applications ou leurs documents. Les valeurs peuvent tre cres dans les scripts ou retournes comme rsultats des commandes envoyes aux applications. Les valeurs sont un moyen important pour changer des donnes dans AppleScript. Quand vous demandez des informations ou proprits sur un objet dapplication, elles sont en gnral retournes sous forme de valeurs. Un nombre dfini de types de valeurs spcifiques sont reconnus par

Gnralits

T1 - 12

Chapitre 1

Tome 1

AppleScript. Vous ne pouvez pas dfinir un ou des types de valeurs supplmentaires, ni modifier la manire de reprsenter les valeurs. Les diffrents types de valeurs AppleScript sont appels classes de valeur. Une constante est un mot rserv avec une valeur prdfinie. AppleScript fournit des constantes pour aider vos scripts excuter certaines tches, comme excuter des comparaisons et des oprations arithmtiques.

Les expressionsUne expression est une srie de termes AppleScript qui correspond une valeur. Les expressions sont utilises dans les scripts pour identifier ou donner des valeurs. Quand vous excutez un script, AppleScript convertit ses expressions en valeurs. Ce procd est appel valuation. Les oprations et les variables sont deux types courants dexpressions. Une opration est une expression qui donne une nouvelle valeur partir dune ou deux autres valeurs. Une variable est un contenant nominatif dans lequel une valeur est stocke. Vous trouverez ci-dessous des exemples doprations AppleScript et leurs valeurs respectives. La valeur de chaque opration est indique aprs les caractres de commentaires (--).3 + 4 (12 > 4) (12 > 4) and (12 = 4) --valeur : 7 --valeur : true --valeur : false

Chaque opration contient un oprateur. Le signe plus (+) dans la premire expression, ainsi que le symbole suprieur (>), le symbole gal (=) et le mot and dans la troisime expression sont des oprateurs. Les oprateurs transforment des valeurs ou des paires de valeurs en dautres valeurs. Les oprateurs qui agissent sur deux valeur sont appels des oprateurs binaires. Les oprateurs qui agissent sur une seule valeur sont appels des oprateurs unitaires.Vous pouvez utiliser les oprations lintrieur des instructions Applescript, comme :tell app "Finder" open folder (3 + 2) of startup disk end tell

T1 - 13

Gnralits

Chapitre 1

Tome 1

Quand vous excutez ce script, AppleScript value lexpression (3 + 2) et utilise le rsultat pour indiquer au Finder quel dossier doit tre ouvert. Quand AppleScript rencontre une variable dans un script, il value la variable en obtenant sa valeur. Pour crer une variable, assignez lui simplement une valeur :copy "Mark" to myName

La commande Copy prend la valeur la chane de caractres "Mark" et la met dans la variable myName. Vous pouvez accomplir la mme chose avec la commande Set :set myName to "Mark"

Les instructions qui assignent des valeurs aux variables sont appeles des instructions dassignation. Vous pouvez obtenir la valeur d'une variable avec la commande Get.set myName to "Mark" get myName --rsultat : "Mark"

Vous pouvez modifier la valeur dune variable en lui assignant une nouvelle valeur. Une variable peut contenir seulement une valeur la fois. Quand vous assignez une nouvelle valeur une variable existante, vous crasez lancienne valeur contenue dans cette variable.set myName to "Mark" set myName to "Robin" get myName --rsultat : "Robin"

Les complments de pilotageVous avez aussi la possibilit dajouter des commandes et des coercitions supplmentaires au langage AppleScript par lintermdiaire des complments de pilotage. Les complments de pilotage sont des fichiers qui fournissent des commandes ou des coercitions supplmentaires que vous pouvez utiliser dans les scripts. Un complment de pilotage doit tre mis dans le dossier Complments de pilotage du dossier systme pour quAppleScript

Gnralits

T1 - 14

Chapitre 1

Tome 1

reconnaisse les commandes supplmentaires quil fournit. Un simple complment de pilotage peut contenir de multiples commandes. Le complment standard distribu avec AppleScript, comporte, par exemple, des commandes pour utiliser le presse-papier, obtenir le chemin dun fichier et rsumer des textes. A la diffrence des autres commandes utilises dans AppleScript, les complments de pilotage travaillent de la mme faon quelle que soit la cible que vous indiquiez. Par exemple, la commande Beep, qui fait partie des complments standards, dclenche une alerte sonore quelle que soit lapplication qui vous avez envoy cette commande. Sur le site web , vous trouverez des centaines de complments de pilotage librement tlchargeables. La plupart sont en freeware.

Les coercitionsUne coercition est un programme qui contraint une valeur dune certaine classe dans une autre classe, comme un nombre entier convertit en nombre rel. Beaucoup de coercitions standards sont incorpores AppleScript.

Les caractres spciauxLes paragraphes suivants traiteront des rgles de syntaxe lors de lcriture des scripts. Une instruction simple doit normalement tre crite sur une seule ligne. Si une instruction est trop longue pour tenir sur une seule ligne, vous pouvez la prolonger en insrant un caractre de continuation () la fin de la premire ligne, et continuer l'instruction sur la ligne suivante. Vous pouvez taper ce caractre dans la plupart des traitements de texte en appuyant simultanment sur les touches Option + L. Dans lditeur de scripts, vous devez appuyer simultanment sur les touches Option + Entre, lequel insert le caractre de continuation et dplace le point dinsertion sur la ligne suivante. Plusieurs lignes spares par le caractre de continuation seront considres comme une seule ligne lors de lexcution du script.

T1 - 15

Gnralits

Chapitre 1

Tome 1

L'instruction suivante :open the second file of the first folder of the startup disk

peut tre crite sur deux lignes :open the second file of the first folder of the startup disk

Le caractre de continuation nest pas une obligation de syntaxe. Cest plutt un mcanisme permettant dinclure plusieurs lignes dans une seule instruction. Le seul endroit o un caractre de continuation ne fonctionne pas de cette manire est lintrieur dune chane de caractres (string). Il est alors simplement considr comme du texte.-- le "" est considr comme du texte "caractre de continuation" -- rsultat : "caractre de continuation"

Les deux tirets (--) indique que la premire ligne est un commentaire. Un commentaire est un texte qui est ignor par AppleScript quand un script est excut. Pour utiliser une trs longue chane de caractres, vous pouvez soit tout faire tenir sur une seule ligne en ne mettant un retour chariot qu la fin, soit vous pouvez rpartir sur plusieurs lignes la chane de caractres en utilisant loprateur de concatnation (&) pour les joindre, comme dans lexemple suivant :open the second file of the first folder of disk "Disque " & "Dur"

Gnralits

T1 - 16

Chapitre 1

Tome 1

Les commentairesVous ajouterez des commentaires un script pour expliquer ce quil fait. Un commentaire est un texte qui reste dans un script aprs la compilation mais qui est ignor par AppleScript lors de lexcution. Il y a deux sortes de commentaires, le commentaire de fin de ligne et les blocs de commentaires : Un bloc de commentaires commence avec les caractres (* et se termine avec les caractres *). Un bloc de commentaires doit tre plac entre des instructions. Il ne peut pas tre insr dans une instruction simple. Un commentaire de fin de ligne commence avec deux tirets (--), la fin du commentaire ne requiert aucun caractre particulier. Vous pouvez imbriquer des commentaires, cest dire que les commentaires peuvent contenir dautres commentaires. Voici quelques exemples :--un commentaire de fin de ligne

(*utiliser les blocs de commentaires pour les commentaires qui tiennent sur plusieurs lignes*)

copy result to Res --stocker le rsultat dans la variable Res

(*la routine suivante, findString, cherche une chane de caractres dans une liste de documents AppleWorks*)

(*voici un exemple de --commentaire imbriqu (*un autre commentaire lintrieur dun commentaire*) *)

Lexemple suivant de bloc de commentaires provoque une erreur car le commentaire est insr dans une instruction.--le bloc de commentaires suivant est invalide tell application "Finder" get (* name of *) file 1 of startup diskT1 - 17 Gnralits

Chapitre 1

Tome 1

end tell

Comme les commentaires ne sont pas excuts, vous pouvez dsactiver une instruction simple ou compose en la transformant en commentaires. Vous pouvez utiliser ce truc, appel hors excution, pour isoler les problmes quand vous dboguez des scripts ou pour bloquer lexcution dune partie dun script qui nest pas encore acheve.(* on Verification() --en construction end *)

Si par la suite, vous supprimez les caractres (* et *), la routine est alors de nouveau oprationnelle.

Les identificateursUn identificateur est une srie de caractres qui dfinit une valeur ou un autre lment du langage. Par exemple, les noms des variables sont des identificateurs. Lexemple suivant rgle la valeur de la variable myName sur "Fred".set myName to "Fred"

Les identificateurs sont aussi utiliss comme tiquettes pour les proprits et les structures. Un identificateur doit commencer avec une lettre et peut contenir des majuscules, des minuscules, des chiffres (0-9) et le caractre de soulignement (_). Quelques exemples didentificateurs valides :Yes Agent99 Just_Do_It

Ceux qui suivent sont invalides :C-Back&Forth 999

Gnralits

T1 - 18

Chapitre 1

Tome 1

Why^Not

Les identificateurs pour lesquels le premier et le dernier caractre sont des barres verticales (|) peuvent contenir nimporte quels caractres. Les exemples suivants sont valides :|Back and Forth| |Right*Now!|

Les identificateurs pour lesquels le premier et le dernier caractre sont des barres verticales peuvent contenir des barres verticales supplmentaires si elles sont prcdes par le caractre anti-slash (\), comme ceci |Pile\|ou\|Face|. Un caractre anti-slash dans un identificateur doit tre prcd par un caractre anti-slash, comme dans cet identificateur |/\\Haut\\/Bas|. Les identificateurs ne peuvent pas avoir la mme orthographe quun mot rserv cest dire , termes du langage AppleScript ou termes du dictionnaire de lapplication nomme dans linstruction Tell. Par exemple, vous ne pouvez pas crer une variable dont lidentificateur est file lintrieur dune instruction Tell Finder, car file est une classe dobjet dans le dictionnaire du Finder. Dans ce cas, AppleScript retourne une erreur de syntaxe. AppleScript nest pas sensible la casse ; quand il interprte des instructions, il ne fait pas de distinction entre les majuscules et les minuscules. Ceci est vrai pour lensemble des lments du langage. La seule exception cette rgle sont les comparaisons de chanes de caractres. Normalement, AppleScript ne distingue pas les majuscules des minuscules lors dune comparaison dune chane de caractres, mais si vous souhaitez quAppleScript le fasse, vous pouvez utiliser une instruction spciale appele instruction Considering. La plupart des exemples de ce guide sont en minuscules. Parfois, les mots sont mis en lettres capitales pour amliorer la lisibilit. Par exemple, le N dans monNom est en majuscules simplement pour quil soit plus facile de voir que deux mots ont t combins pour former le nom de la variable.set monNom to "Loulou"

Aprs avoir cr la variable monNom, vous pouvez vous y rfrer, par exemple,

T1 - 19

Gnralits

Chapitre 1

Tome 1

par ces noms :MONNOM monnom MonNom mOnnOm

Toutefois, lorsque vous compilerez, pour la premire fois, un script qui met en majuscules de diffrentes faons un nom de variable, AppleScript nutilisera que la premire orthographe quil rencontrera pour crire le nom de la variable tout au long du script. Les orthographes suivantes du nom de la variable sont ignores et transformes pour tre identiques la premire orthographe rencontre.

Les abrviationsLe langage AppleScript est conu pour tre intuitif et facile comprendre. A cette fin, il utilise des mots familiers pour reprsenter les objets et les commandes, et utilise des instructions dont la structure est similaire des phrases en anglais. Pour la mme raison, il utilise des mots entiers au lieu dabrviations. Dans trs peu de cas, toutefois, AppleScript accepte des abrviations pour certains mots longs et frquemment utiliss. Un exemple important est labrviation app, que vous pouvez utiliser pour vous rfrer aux objets de classe dapplication. Cest particulirement utile dans les instructions Tell. Par exemple, les deux instructions Tell suivantes sont quivalentes :tell application "AppleWorks" print the front window end tell tell app "AppleWorks" print the front window end tell

Gnralits

T1 - 20

Chapitre 1

Tome 1

Linstruction LogLa fentre Session dtat vous aide dcouvrir et corriger les erreurs en montrant les rsultats des actions du script. La fentre Session dtat souvre par le menu dition ou en tapant sur les touches Commande + E dans lditeur de scripts. La fentre contient deux cases cocher. Si vous cochez la case Afficher les vnements, tous les Apple Events (vnements Apple) sont consigns dans la fentre. Si vous cochez aussi la case Afficher les rsultats dvnements, la valeur retourne par un Apple Event est aussi affiche. (Les rsultats ne seront pas retourns tant que les deux cases ne seront pas coches.) Note des traducteurs francophones noter, qu partir du systme Mac OS 9.0, la fentre Session dtat a t renomme Historique des vnements, mais son mode de fonctionnement est rest identique. q En complment de louverture de la fentre Session dtat, vous pouvez insrer des instructions log aux endroits stratgiques de votre script, afin de visualiser les rsultats des actions effectues. Une instruction Log reporte la valeur dune ou plusieurs variables dans la fentre Session dtat, que les cases soient coches ou non. Supposons que vous excutiez le script suivant :tell application "Finder" set myFolder to first folder of startup disk log (myFolder) --rsultat :(*Dossier photos*) end tell

Avec aucune case de cocher, la fentre Session dtat contient juste le rsultat de l'instruction log (myFolder) :(*Dossier photos*)

Avec juste la case "afficher les vnements" de cocher, la fentre Session dtat contient :tell application "Finder" get Folder 1 of startup disk (*Dossier photos*) end tell

T1 - 21

Gnralits

Chapitre 1

Tome 1

Finalement, avec les deux cases de cocher, la fentre Session dtat affiche :tell application "Finder" get folder 1 of startup disk -->folder "Claris Emailer Folder" of startup disk (*Dossier photos*) end tell

Dans ce cas, l'instruction log nest pas rellement utile puisquelle retourne la mme information quavec la case Afficher les rsultats dvnements coche. Vous pouvez utiliser les commandes Start Log et Stop Log pour exercer un contrle plus fin. Quand la case Afficher les vnements est coche, chaque fois quun vnement est vrifi, il saffiche dans la fentre Session dtat. Une commande Stop Log arrte laffichage des vnements. Une commande Start Log ractive laffichage des vnements (elle dsactive la commande Stop Log). A noter que la commande Stop Log na aucune influence sur la commande Log, les valeurs des variables sont reportes dans la fentre Session dtat mme aprs une instruction Stop Log. Si la case Afficher les vnements est coche, dans le script suivant, le premier vnement ne saffichera pas dans la fentre Session dtat, seul le deuxime vnement sera affich. Si vous avez coch la case Afficher les rsultats dvnements, vous aurez en plus les rsultats. Par contre stop log et start log ne modifient pas les actions du script.tell application "Finder" stop log --les Apple events ne safficheront pas set nameOne to name of first folder of startup disk start log --les Apple events safficheront set nameTwo to name of second folder of startup disk end tell

Les instructions Log peuvent tre utiles pour tester une instruction Repeat ou une autre structure de contrle. Dans le script suivant, l'instruction log currentWord fait afficher dans la fentre session dtat la valeur de la variable currentWord chaque excution de linstruction Repeat. Une fois que la boucle fonctionne correctement, vous pouvez transformer l'instruction Log en commentaire ou la supprimer.set wordList to words in "Where is the hammer ?" --rsultat : {"Where","is","the","hammer"} repeat with currentWord in wordList log currentWord

Gnralits

T1 - 22

Chapitre 1

Tome 1

if currentWord as text is equal to "hammer" then display dialog "I found the hammer!" end if end repeat

Pour plus dinformations sur lutilisation de lapplication diteur de scripts, voir laide AppleScript du centre daide Mac OS.

T1 - 23

Gnralits

Chapitre 2

Tome 1

Les valeurs

Une valeur est une simple donne structure qui peut tre reprsente, stocke et manipule dans les scripts. AppleScript reconnait plusieurs types de valeurs, comme les chanes de caractres, les nombres entiers, les listes et les dates. Les valeurs sont fondamentalement diffrentes des objets dapplication, lesquels peuvent tre manipuls dans AppleScript, mais sont contenus dans les applications ou leurs documents. Chaque valeur appartient une classe de valeur, laquelle est une catgorie de valeurs dans laquelle les valeurs sont reprsentes de la mme manire et rpondent aux mmes oprateurs. Pour apprendre comment reprsenter une valeur particulire, ou quels oprateurs elle rpond, vrifier la classe de valeur dfinie pour cette valeur. AppleScript peut contraindre une valeur appartenant une classe de valeur prcise changer de classe de valeur, cela sappelle la coercition. Les coercitions possibles dpendent du type de classe de valeur au dpart.

Utilisation des classes de valeurLes classes de valeur usuelles sont les classes de valeur les plus couramment utilises dans AppleScript. Les dfinitions de classes de valeur contiennent des informations sur les valeurs qui appartiennent une classe particulire. Toutes les classes de valeur rentrent dans une de ces deux catgories : les valeurs simples, comme la classe Integer, lesquelles ne contiennent quune seule valeur, et les valeurs composes, comme la classe List, qui peuvent contenir plusieurs valeurs. Chaque classe de valeur dfinie dans ce chapitre est dtaille suivant une ou plusieurs des sections suivantes : Expressions littrales Proprits lments Oprateurs Commandes gresLes valeurs T1 - 24

Chapitre 2

Tome 1

Formes de rfrence Coercitions supportes En plus, certaines classes de valeur concluent avec des notes donnant des informations supplmentaires. Les sections qui suivent expliquent les diffrentes sections dtaillant les dfinitions de classe de valeur par la suite.

Expressions littrales

La section Expressions littrales donnent des exemples pour reprsenter les valeurs dune classe particulire dans un script. Par exemple, dans AppleScript et dans dautres langages de programmation, lexpression littrale dune chane de caractres est une srie de caractres mis entre guillemets. Les guillemets ne font pas partie de la valeur de la chane de caractres mais servent indiquer o la chane commence et o elle finit. La valeur relle de la chane de caractres est une structure de donnes stocke dans AppleScript. Lexemple suivant, une classe de valeur List, montre une expression littrale pour une valeur de liste, laquelle est aussi un type de valeur compose :{ "its", 2, true }

Comme avec les guillemets dans une expression littrale de chane de caractres, les accolades qui encadrent la liste et les virgules qui sparent ses lments ne font pas partie de la valeur relle de la liste ; elles sont une syntaxe qui indique le groupement et les lments de la liste.

Proprits

Une proprit de classe de valeur est une caractristique qui est identifie par une tiquette unique et qui a une seule valeur. La section Proprits dcrit la ou les proprits de la classe. Les valeurs simples ont seulement une proprit, appele Class, laquelle identifie la classe de la valeur. Les valeurs composes ont au minimum deux proprits : une proprit Class et au moins une proprit supplmentaire, comme Length or Contents. Par exemple, la classe de valeur Boolean est une classe simple avec juste une

T1 - 25

Les valeurs

Chapitre 2

Tome 1

proprit, la proprit Class, qui est en lecture seule (vous ne pouvez pas la rgler avec la commande Set).class of boolean --rsultat : class

Par contre, la classe de valeur Date, qui est une classe de valeur compose, a des proprits supplmentaires. Lexemple suivant utilise la commande Current Date du complment de pilotage standard pour obtenir la date courante. Puis il obtient la valeur de diverses proprits de la classe Date.set theDate to current date --rsultat : date "mercredi 19 dcembre 2001 23:53:45" weekday of theDate --rsultat : Wednesday day of theDate --rsultat : 19 (le jour du mois)

Lexemple suivant prcise la proprit Length dune simple liste.length of { "Cette","liste","a", 5 , "lments"} --rsultat : 5

Vous pouvez optionnellement utiliser la commande Get pour obtenir la valeur dune proprit spcifie. Par exemple :get class of boolean -- rsultat : class

Dans de nombreux cas, vous pouvez aussi utiliser la commande Set pour rgler les proprits supplmentaires listes dans les dfinitions des classes de valeur compose. Si une proprit ne peut pas tre rgle avec la commande Set, sa dfinition indique quelle est en lecture seule ([r/o]).

lments

Les lments de valeurs sont des valeurs contenues lintrieur dautres valeurs. Les valeurs composes ont des lments ; les valeurs simples non. Par exemple, la dfinition de la classe de valeur List contient un lment, appel Item. Vous utiliserez les rfrences pour se rfrer aux lments des valeurs composes. Par exemple, la rfrence suivante spcifie le troisime lment dune liste :item 3 of { "To", "be", "great", "is", "to","be", "understood"} -- rsultat : "great"

Les valeurs

T1 - 26

Chapitre 2

Tome 1

La section Formes de rfrence liste les formes de rfrence que vous pouvez utiliser pour spcifier les lments des valeurs composes.

Oprateurs

Vous pouvez utiliser des oprateurs, comme le signe plus (+) ou le caractre de concatnation (&), pour manipuler des valeurs. Les valeurs qui appartiennent la mme classe peuvent tre manipules par les mmes oprateurs. La section Oprateurs liste les oprateurs qui peuvent tre utiliss avec les valeurs dune classe particulire.

Commandes gres

Les commandes sont des mots ou phrases que vous utiliserez dans les instructions AppleScript pour demander des actions ou des rsultats. Les valeurs simples ne peuvent pas rpondre aux commandes, les valeurs composes, oui. Par exemple, les listes peuvent rpondre la commande Count, comme dans lexemple suivant :count { "Cette","liste","a", 5 , "lments"} --rsultat : 5

Chaque dfintion de classes de valeur compose comporte une section Commandes gres qui liste les commandes auxquelles les valeurs de cette classe peuvent rpondre.

Formes de rfrence

Une rfrence est un nom compos, semblable un nom de chemin ou une adresse, qui indique de faon prcise un objet ou une valeur. Vous pouvez utiliser les rfrences pour spcifier, soit des valeurs lintrieur de valeurs composes, soit des proprits de valeurs simples. La section Formes de rfrences est mentionne seulement dans les dfinitions de classes de valeur compose. Elle liste les formes de rfrence que vous pouvez utiliser pour spcifier les lments dune valeur compose.

Coercitions supportes

AppleScript peut contraindre une valeur appartenant une classe de valeur

T1 - 27

Les valeurs

Chapitre 2

Tome 1

prcise changer de classe de valeur, cela sappelle la coercition. La section Coercitions supportes dcrit les classes pour lesquelles les valeurs de ces classes peuvent tre contraintes. Par exemple, la section Coercitions supportes pour la classe List, indique que nimporte quelle valeur peut tre ajoute une liste, ou contrainte en liste lment unique, comme dans lexemple suivant :item 2 of {"dbut","fin"} as list -- rsultat : {"fin"}

Prsentation des classes de valeur dfinies dans le guide

Vous trouverez ci-dessous un tableau qui rsume les classes de valeur usuelles et indique le numro de page o elles sont dcrites en dtails. Les identificateurs des classes de valeur usuelles dAppleScript Identificateur Description

Boolean (T1 - p.31) Une valeur logique Class (T1 - p.32) Un identificateur de classe

Constant (T1 - p.33) Un mot rserv dfini par une application ou AppleScript Data (T1 - p.35) Donnes brutes qui ne peuvent pas tre reprsentes dans AppleScript, mais peuvent tre stockes dans une variable Une chane de caractres qui indique un jour de la semaine, du mois, un mois, une anne et lheure Une collection de donnes qui indique le nom et lemplacement sur un disque dun fichier qui peut ne pas encore exister Un nombre positif ou ngatif sans fraction dcimale

Date (T1 - p.36)

File specification (T1 - p.71)

Integer (T1 - p.41)

Les valeurs

T1 - 28

Chapitre 2

Tome 1

Les identificateurs des classes de valeur usuelles dAppleScript (suite) Identificateur International Text (T1 - p.68) List (T1 - p.43) Number (T1 - p.47) Real (T1 - p.48) Description Caractres de texte au format International Text ; voir Autres classes de valeur Une collection ordonne de valeurs Synonyme pour la classe Integer ou Real Un nombre positif ou ngatif qui peut avoir une fraction dcimale

Record (T1 - p.50) Une collection de proprits Reference (T1 - p.53) RGB Color (T1 - p.72) Une rfrence un objet

Une collection de trois valeurs entires qui spcifient le rouge, le vert et le bleu, les trois composants dune couleur

String (T1 - p.57) Une srie ordonne de caractres 1-octet Styled Clipboard Text (T1 - p.73) Donnes spcifiques de texte, rcupres partir du presse-papier, qui comportent des informations de styles et de polices Synonyme dune chane de caractres spcifique qui comporte des informations de styles et de polices Synonyme de la classe String Caractres de texte au format Unicode Text (2-octet) ; voir Autres classes de valeur

Styled Text (T1 - p.62) Text (T1 - p.64) Unicode Text (T1 - p.68)

T1 - 29

Les valeurs

Chapitre 2

Tome 1

Les identificateurs des classes de valeur usuelles dAppleScript (suite) Identificateur Unit Type Value Classes (T1 - p.64) Description Classes de valeur permettant de travailler avec les units de mesure

Trois identificateurs dans ce tableau sont des synonymes pour dautres classes de valeur. : Number est un synonyme pour la classe Integer ou Real Text est un synonyme pour la classe String Styled Text est un synonyme pour une chane de caractres qui contient des informations de styles et de polices Vous pouvez contraindre des valeurs utilisant ces synonymes, changer de classe, mais la classe de la valeur gnre est toujours la vraie classe de valeur. Par exemple, vous pouvez utiliser lidentificateur Text pour contraindre une date en chane de caractres :set x to date "19 mai 2001" as text class of x -- rsultat : string

Bien que les dfinitions pour les classes de valeurs synonymes soient fournies, elles ne conviennent pas pour sparer des classes de valeur.

Les valeurs

T1 - 30

Chapitre 2

Tome 1

BooleanUne valeur de la classe Boolean est une valeur logique. Les valeurs boolennes les plus courantes sont le rsultat de comparaisons, comme 4 > 3 et LongueurMot = 5. Les deux valeurs boolennes possibles sont true et false.

Expressions littrales true false

Proprits Class

Lidentificateur de classe de lobjet. Cette proprit est en lecture seule, et sa valeur est toujours boolean.

class of true -- rsultat : boolean

lments

Aucun

Oprateurs

Les oprateurs qui prennent les valeurs boolennes comme oprandes sont And, Or, Not, &, = et . Loprateur = retourne true si toutes les oprandes sont values la mme valeur boolenne (soit true, soit false) ; loprateur retourne true si les oprandes sont values des valeurs boolennes diffrentes. Les oprateurs And et Or prennent des expressions boolennes comme oprandes et retournent des valeurs boolennes. Une opration And, comme (2 > 1) and (4 > 3), a comme valeur true si toutes ses oprandes ont la valeur true, et false sinon. Une opration Or, comme (theString = "Yes") or (today = "Tuesday"), a comme valeur true si une de ses oprandes a la valeur true.

T1 - 31

Les valeurs

Chapitre 2

Tome 1

Loprateur Not change une valeur true en false ou une valeur false en true.

Coercitions supportes

AppleScript supporte la coercition dune valeur boolenne en une liste lment unique ou en chane de caractres.true -- rsultat : true class of true -- rsultat : boolean true as list -- rsultat : {true} class of (true as list) -- rsultat : list true as string -- rsultat : "true" class of (true as string) -- rsultat : string

ClassUne valeur de la classe Class est un identificateur de classe. Un identificateur de classe est un mot rserv qui indique la classe laquelle un objet ou une valeur appartient. La proprit Class dun objet contient un identificateur de classe de valeur.

Expressions littrales string integer real boolean class

Proprits Class

Lidentificateur de classe de lobjet. Cette proprit est en lecture seule, et sa valeur est toujours class.

class of string -- rsultat : class

Les valeurs

T1 - 32

Chapitre 2

Tome 1

lments

Aucun

Oprateurs

Les oprateurs qui prennent les valeurs didentificateur de classe comme oprandes sont &, =, et As. Loprateur As prend une valeur appartenant une classe de valeur spcifique et la contraint devenir une valeur dune classe spcifie par un identificateur de classe. Par exemple, linstruction suivante contraint une chane de caractres en nombre rel, 1.5 :"1.5" as real --rsultat : 1.5

Coercitions supportes

AppleScript supporte la coercition dun identificateur de classe en une liste lment unique ou en chane de caractres.boolean -- rsultat : boolean class of boolean -- rsultat : class boolean as list -- rsultat : {boolean} class of (boolean as list) -- rsultat : list boolean as string -- rsultat : "boolean" class of (boolean as string) -- rsultat : string

ConstantUne valeur de la classe Constant est un mot rserv dfini par AppleScript ou une application dans son dictionnaire. Les applications dfinissent des jeux de valeurs qui peuvent tre utilises dans les paramtres dune commande particulire. Par exemple, la valeur du paramtre saving de la commande Close doit tre une de ces trois constantes : yes, no ou ask ; saving no signifie ne pas sauvegarder les modifications, saving yes signifie sauvegarder sans demander laccord et saving ask signifie demander lautorisation avant de sauvegarder.

T1 - 33

Les valeurs

Chapitre 2

Tome 1

Pour plus dinformations sur lutilisation des constantes dans AppleScript, voir le chapitre Les constantes (T1 - p.78)

Expressions littrales

Quelques exemples :yes no ask plain bold italic

Proprits Class

Lidentificateur de classe de lobjet. Cette proprit est en lecture seule, et sa valeur est toujours constant.

class of ask -- rsultat : constant

lments

Aucun

Oprateurs

Les oprateurs qui prennent les valeurs de la classe Constant comme oprandes sont &, =, et As.

Coercitions supportes

AppleScript supporte la coercition dune valeur de la classe Constant en liste lment unique ou en chane de caractres. La coercition dune valeur de la classe Constant en chane de caractres nest possible que depuis la version dAppleScript 1.3.7, soit depuis Mac OS 8.5.ask -- rsultat : ask class of ask -- rsultat : constant ask as list -- rsultat : {ask}

Les valeurs

T1 - 34

Chapitre 2

Tome 1

class of (ask as list) -- rsultat : list ask as string -- rsultat : "ask" class of (ask as string) -- rsultat : string

Notes

Les constantes ne sont pas des chanes de caractres, et elles ne doivent pas tre encadres par des guillemets. Vous ne pouvez pas dfinir vos propres constantes ; les constantes peuvent seulement tre dfinies par les applications et AppleScript.

DataUne valeur de la classe de valeur Data est une donne retourne par une application (en rponse une commande) qui nappartient aucune des autres classes dfinies dans ce chapitre. Une valeur de la classe Data est une donne brute (raw data) qui peut seulement tre stocke dans une variable. Pour plus dinformations sur les raw data, voir Les donnes brutes (raw data) dans les paramtres (T2 -p.19).

Proprits Class

Lidentificateur de classe de lobjet. Cette proprit est en lecture seule, et sa valeur varie en fonction de lapplication.

lments

Aucun

Oprateurs

Les oprateurs qui peuvent prendre les valeurs de la classe Data comme oprandes sont = et .

T1 - 35

Les valeurs

Chapitre 2

Tome 1

Coercitions supportes

AppleScript supporte la coercition dune donne de la classe de valeur Data en une liste lment unique.

DateUne valeur complte de la classe Date indique le jour de la semaine, la date (jour du mois, mois et lanne) et lheure ; si vous fournissez une date quavec seulement quelques unes de ces informations, AppleScript complte les informations manquantes par des valeurs par dfault.date "26/11/2001" --rsultat : date "lundi 26 novembre 2001 00:00:00"

Vous pouvez obtenir et rgler les proprits dune valeur Date qui correspondent aux diffrentes parties des informations de date et dheure. Vous pouvez spcifier des valeurs de Date dans diffrents formats. Le format commence toujours avec le mot date suivi par une chane de caractres (entre guillemets) contenant les informations de date et dheure. Vous pouvez orthographier le jour de la semaine, le mois ou la date. Vous pouvez aussi utiliser les trois lettres standards dabrviation pour le jour et le mois. Quand vous compilez un script, AppleScript affiche les valeurs de date et dheure en accord avec le format spcifi dans le tableau de bord Date et Heure. Pour plus dinformations sur les oprations arithmtiques possibles sur les dates et les heures, ou pour une description de la gestion des dates de fin de sicle par AppleScript, comme lanne 2000, voir La gestion des dates et des heures (T4 - p.47).

Expressions littrales

Les expressions suivantes montrent diffrentes options pour spcifier une date :date "25/12/2001, 00:00:00"

Les valeurs

T1 - 36

Chapitre 2

Tome 1

date "25/12/2001, 12:00" date "25/12/01" date "17:15" date "mardi 25 dcembre 2001 23:59"

Proprits Class

Lidentificateur de classe de lobjet. Cette proprit est en lecture seule, et sa valeur est toujours date. Un nombre entier qui spcifie le jour du mois dune valeur date. Une des constantes : Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday ou Mon, Tue, Wed, Thu, Fri, Sat, Sun. Une des constantes : January, February, March, April, May, June, July, August, September, October, November, December ou Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec. Un nombre entier spcifiant lanne ; par exemple, 1998. Un entier qui spcifie le nombre de secondes coules entre minuit et la valeur de la date ; par exemple, 2700 est quivalent 0:45 (2700 = 45 * 60) Une chane de caractres qui reprsente la portion date de la valeur de date ; par exemple, "Samedi 27 fvrier1999"

Day

Weekday

Month

Year

Time

Date string

Time string

Une chane de caractres qui reprsente la portion heure de la valeur de date ; par exemple, "5:14:42".

T1 - 37

Les valeurs

Chapitre 2

Tome 1

lments

Aucun

Oprateurs

Les oprateurs qui prennent les valeurs de date comme oprandes sont &, +, , =, , >, , , , , , 5}

Une liste vide (empty list) est une liste contenant aucun item. Elle est reprsente par une paire daccolades vides :{}

Proprits Class

Lidentificateur de classe de lobjet. Cette proprit est en lecture seule, et sa valeur est toujours List. Une valeur Integer contenant le nombre dlments de la liste. Cette proprit est en lecture seule. Une liste contenant tous les lments de la liste except le premier lment. Une liste contenant tous les lments de la liste, mais dans lordre inverse.

Length

Rest

Reverse

T1 - 43

Les valeurs

Chapitre 2

Tome 1

lments Item

Une valeur contenue dans la liste. Chaque valeur contenue dans une liste est un item. Vous pouvez vous rfrer ces valeurs par leur numro dlments. Par exemple, item 2 of {"soup", 2, "nuts"} est le nombre entier 2. Pour spcifier les lments dune liste, utiliser les formes de rfrence listes dans la section Formes de rfrence un peu plus loin.

Oprateurs

Les oprateurs qui peuvent avoir des valeurs de la classe List comme oprandes sont &, =, , Starts With, Ends With, Contains, Is contained by. Pour plus de dtails sur le traitement des listes par les oprateurs, voir Les Expressions (T4 - p.6).

Commandes gres

Vous pouvez compter les lments dans une liste avec la commande Count. Par exemple, la valeur de linstruction suivante est 6 :count {"a", "b", "c", 1, 2, 3} -- rsultat : 6

Vous pouvez aussi compter les lments appartenant une classe spcifique dans une liste. Par exemple, la valeur de linstruction suivante est 3 :count integers in {"a", "b", "c", 1, 2, 3} -- rsultat : 3

Une autre faon de compter les lments dans une liste avec la proprit Length :length of {"a", "b", "c", 1, 2, 3} -- rsultat : 6

Les valeurs

T1 - 44

Chapitre 2

Tome 1

Formes de rfrence

Utiliser les formes de rfrence suivantes pour se rfrer aux proprits des listes et aux lments dans des listes : Property. Par exemple, class of {"je", "suis", "tout", "seul"} spcifie List. Index. Par exemple, item 4 of {"je", "suis", "tout", "seul"} spcifie "seul". Middle. Par exemple, middle item of {"je", "suis", "tout", "seul"} spcifie "suis".

Arbitrary. Par exemple, some item of {"il", "fait", "nuit"} peut spcifier nimporte quel lment dans la liste. Every element. Par exemple, every item of {"il", "fait", "nuit"} spcifie {"il", "fait", "nuit"}. Range. Par exemple, items 2 thru 3 of {"il", "fait", "nuit"} spcifie {"fait", "nuit"}. Vous ne pouvez pas utiliser les formes de rfrence Name, ID, ou Filter. Par exemple, la rfrence suivante, laquelle utilise la forme de rfrence Filter avec une liste, nest pas valide.the items in {"je", "suis", "tout", "seul"} whose first character is "j" -- rsultat : not a valid reference

Coercitions supportes

AppleScript supporte la coercition dune liste lment unique en nimporte quelle classe de valeur laquelle llment peut tre contraint, sil nest pas une partie dune liste. AppleScript supporte aussi la coercition dune liste entire en chane de caractres si tous les lments dans la liste peuvent tre contraints en chane de caractres. La chane de caractres gnre chane tous les lments, spars par la valeur courante de la proprit AppleScript Text Item

T1 - 45

Les valeurs

Chapitre 2

Tome 1

Delimiters. Cette proprit par dfaut est une chane de caractres vide (""), aussi les lments sont simplement chans sans sparation.{"il", "fait", "nuit"} as string -- "ilfaitnuit" set text item delimiters to ":" {"il", "fait", "nuit"} as string -- "il:fait:nuit" set text item delimiters to ""

Note des traducteurs francophones Il est noter que lorsque vous rglez la valeur de la proprit Text Item Delimiters, il est recommand de linitialiser, une fois laction acheve, sur la valeur par dfaut. q Pour plus dinformations sur la proprit Text Item Delimiters, voir Les Proprits dAppleScript (T4 - p.20). Les lments individuels dans une liste peuvent appartenir nimporte quelle classe de valeur, et AppleScript supporte la coercition de nimporte quelle valeur en une liste lment unique. Les valeurs, de nimporte quelle classe, chanes avec le caractre de concatnation (&), peuvent aussi tre contraintes en une liste :5 & "George" & 11.43 & "Bill" as list -- rsultat : {5, "George", 11.43, "Bill"}

Notes

Vous pouvez utiliser loprateur de concatnation (&) pour combiner ou ajouter des valeurs des listes. Par exemple :{"il"} & {"fait", "nuit"} -- rsultat : {"il", "fait", "nuit"}

Loprateur de concatnation combine les lments des deux listes en une liste unique, plutt que de faire une liste lment unique lintrieur de lautre liste.

Les valeurs

T1 - 46

Chapitre 2

Tome 1

Pour les grandes listes, il peut tre plus efficace dutiliser la commande Set ou Copy pour insrer un lment directement dans une liste. Le script suivant cre une liste de 10 000 nombres entiers en un peu plus dune seconde (le temps indiqu variera avec la vitesse de votre ordinateur et la version dAppleScript) :set bigList to {} set bigListRef to a reference to bigList set numItems to 10000 set t to (time of (current date)) -- dbut du compteur repeat with n from 1 to numItems copy n to the end of bigListRef end repeat set total to (time of (current date)) - t -- fin du compteur total -- rsultat : 1 (seconde)

Pour plus dinformations sur la gestion des grandes listes, voir la section Exemples de Loprateur A Reference To (T4 - p.12).

NumberLidentificateur de classe Number est un synonyme des classes de valeur Integer et Real ; il dcrit un nombre positif ou ngatif qui peut, soit appartenir la classe de valeur Integer, soit la classe de valeur Real.

Expressions littrales 1 2 -1 1000 10.2579432 1.0 1.

Nimporte quelle expression littrale valide pour une valeur de la classe Integer ou Real est aussi une expression littrale valide pour une valeur de la classe Number.

T1 - 47

Les valeurs

Chapitre 2

Tome 1

Proprits Class

Lidentificateur de classe de lobjet. Cette proprit est en lecture seule, et sa valeur est toujours soit Integer, soit Real.

lments

Aucun

Oprateurs

Comme les valeurs identifies comme valeurs de la classe Number sont en ralit des valeurs soit de la classe Integer,soit de la classe Real, les oprateurs disponibles sont les oprateurs dcrits dans les dfinitions de la classe de valeur Integer ou Real.

Coercitions supportes

Vous pouvez utiliser lidentificateur de classe Number pour contraindre nimporte quelle valeur qui peut tre contrainte en valeur Real ou en valeur Integer. Toutefois, la classe de valeur qui en rsultera, sera toujours soit Integer, soit Real :set x to 1.5 as number class of x -- rsultat : real

RealLes valeurs qui appartiennent la classe de valeur Real sont des nombres positifs ou ngatifs qui peuvent comporter une fraction dcimale, comme 3.1415 et 1.0.

Expressions littrales 10.2579432 1.0 1.

comme dj vu dans le troisime exemple, un point dcimal indique un nombre rel, mme sil ny a pas de fraction dcimale.

Les valeurs

T1 - 48

Chapitre 2

Tome 1

Les nombres rels peuvent aussi tre crits en utilisant la notation exponentielle. La lettre e est prcde par un nombre rel (sans espaces) et suivie par un entier exposant (aussi sans espaces). Lexposant peut tre soit positif, soit ngatif. Pour obtenir la valeur, le nombre rel est multipli par 10 lev la puissance indique par lexposant, comme dans ces exemples :1.0e5 1.0e+5 1.0e-5 -- quivalent 1.0 * 10^5, ou 100000 -- quivalent 1.0e5 -- quivalent 1.0 * 10^-5, ou .00001

Proprits Class

Lidentificateur de classe de lobjet. Cette proprit est en lecture seule, et sa valeur est toujours Real.

lments

Aucun

Oprateurs

Les oprateurs et / retournent toujours des valeurs Real comme leurs rsultats.class of (12.0 / 2.0) -- rsultat : real

Les oprateurs +, -, *, Mod, et ^ retournent des valeurs Real si lun ou lautre de leurs oprandes est une valeur Real.class of (12.0 + 2) -- rsultat : real

Les oprateurs qui peuvent avoir des valeurs Real comme oprandes sont +, , *, (ou /),Div, Mod, ^, =, , >, , , , , , 3 -- rsultat : true 120 < 100 -- rsultat : false

Attributs des instructions Considering et IgnoringAppleScript dfinit les attributs application responses, case, diacriticals, expansion, hyphens, punctuation et white space pour les comparaisons qui utilisent les instructions Considering ou Ignoring. Ces attributs indiquent si AppleScript doit considrer ou ignorer des caractristiques spcifiques lors de lexcution dune valuation. application responses

Si ignor, AppleScript nattend pas les rponses des commandes dapplication avant de procder linstruction suivante dans le script et ignore nimporte quels rsultats ou erreurs retourns. Par dfaut, AppleScript attend les rponses, considering application responses. case

Si considr, AppleScript distingue les lettres majuscules des minuscules. Par dfault, case est ignor diacriticals

Si ignor, AppleScript ignore les signes diacritiques (comme , , ) dans les comparaisons de chanes de caractres. Par dfaut, diacriticals est considr.

T1 - 79

Les constantes

Chapitre 4

Tome 1

expansion

Si ignor, AppleScript traite les caractres , , , et comme des caractres uniques et donc diffrents des caractres paires ae, AE, oe, OE. Par dfaut, expansion est considr. hyphens

Si ignor, AppleScript ignore les traits dunion dans les comparaisons de chanes de caractres. Par dfaut, hyphens est considr. punctuation

Si ignor, AppleScript ignore les signes de ponctuation dans les comparaisons de chanes de caractres. Par dfaut, punctuation est considr. white space

Si ignor, AppleScript ignore les espaces, les tabulations et les retours chariots dans les comparaisons de chanes de caractres. Par dfaut, white space est considr. Exemple :"Hello Raymond" = "HelloRaymond" -- rsultat : false ignoring white space "Hello Raymond" = "HelloRaymond" -- rsultat : true end ignoring

Pour plus dinformations et dexemples, voir Les instructions Considering et Ignoring (T5 - p.46).

Constantes de date et dheureAppleScript fournit plusieurs constantes que vous pouvez utiliser pour travailler avec les valeurs de date et dheure : minutes, hours, days, weeks

Le nombre de secondes, respectivement, dans une minute, une heure, un jour, et une semaine.

Les constantes

T1 - 80

Chapitre 4

Tome 1

date "03 dcembre 2001" + 4 * days + 3 * hours + 2 * minutes -- rsultat : date "vendredi 07 dcembre 2001 03:02:00" Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday ou Mon, Tue, Wed, Thu, Fri, Sat, Sun

Le jour de la semaine. Utiliser la proprit weekday pour obtenir le jour de la semaine dune date.set theDate to current date -- rsultat : date "lundi 03 dcembre 2001 22:42:08" weekday of theDate -- rsultat : Monday January, February, March, April, May, June, July, August, September, October, November, December ou Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov,Dec

Le mois de lanne. Utiliser la proprit month pour obtenir le mois dune date.month of theDate -- rsultat : December

Pour plus dinformations sur le travail avec les valeurs de date et dheure, voir La gestion des dates et des heures (T4 - p.47).

Diverses constantes de scriptAppleScript dfinit les constantes anything, current application, it, me, missing value, my, et result. Les constantes it, me, et my sont dcrites dans T5 - p.12. anything

La constante anything est rarement utilise dans un script, bien que vous puissiez choisir de faire quelque chose comme ce qui suit :set myVariable to anything (* excution doprations qui peuvent changer la valeur de myVariable *) if myVariable is equal to anything then (* excution doprations, sachant que myVariable na jamais chang *) else

T1 - 81

Les constantes

Chapitre 4

Tome 1

--excution dautres oprations si myVariable a chang end if

Contrairement ce que vous pouvez penser, linstruction boolenne if myVariable is equal to anything value true seulement si myVariable est spcifiquement gal la constante anything. Cest dire, comparer le contenu dune variable anything ne garantit pas un rsultat true. Vous pouvez aussi tre amen voir anything comme un paramtre dune commande dapplication ou dun complment de pilotage. Ici, le sens est diffrent, et indique que la commande accepte en entre nimporte quel type de valeur pour ce paramtre. Pour un exemple, voir le With Data Parameters de la commande Make du dictionnaire dAppleWorks. current application

soit lapplication cible par dfaut, soit lapplication usuellement dfinie comme proprit Parent dun script. Vous pouvez dsigner nimporte quelle application comme application courante pour un script, ou un script-objet, simplement en la dsignant comme une proprit Parent. Nimporte quelle commande suivante dans le script, si elle nest pas gre autrement, est envoye lapplication que vous dclarez comme la parente, et toutes les occurences de la constante current application se rfreront cette application.Current

application est

Par exemple, le script suivant dclare le Finder comme sa proprit Parent, alors il envoie les commandes qui ferment la fentre en avant-plan du Finder et retourne le nom de lapplication :property parent : application "Finder" close front window tell current application to return my name -- rsultat : "Finder" missing value

La constante missing value est un paramtre de substitution pour des informations manquantes. Par exemple, si votre script demande lapplication Network Setup Scripting pour la zone de chaque connexion, vous pourriez avoir en retour une liste qui indique la zone actuelle pour chaque connexion AppleTalk, mais llment missing value pour chaque connexion TCP/IP car une connexion TCP/IP na pas de zone. Si linstallation courante avait

Les constantes

T1 - 82

Chapitre 4

Tome 1

deux connexions AppleTalk et deux connexions TCP/IP, la liste rsultante ressemblerait peu prs ce qui suit :{"4th Floor South","4th Floor North",missing value,missing value}

Vous pourriez alors excuter des oprations comme ce qui suit, en utilisant la constante missing value :if item 3 of myZoneList = missing value then -- faire une opration si la connexion na pas de zone else -- faire une autre opration si la connexion a une zone end if result

AppleScript stocke le rsultat dune commande dans la variable prdfinie result. La valeur stocke y reste jusqu ce quune prochaine commande soit excute. Si une commande ne retourne pas de rsultat, la valeur de result est indfinie.tell application "Finder" count files in folder "Apple Extras" of startup disk set numFiles to result -- enregistre result dans la variable numFiles end tell

Constantes des options denregistrementAppleScript dfinit les constantes yes, no, et ask pour utiliser la commande Close. Le script suivant cre un nouveau document, insre un texte, et ferme le document, en demandant lutilisateur sil doit lenregistrer.tell application "AppleWorks" make new document at beginning with properties {name:"New Report"} select text body of document "New Report" set selection of document "New Report" to myText close document "New Report" saving ask end tell

T1 - 83

Les constantes

Chapitre 4

Tome 1

Le terme saving ask signifie demander lutilisateur sil faut enregistrer, donc saving no signifie ne pas enregistrer les modifications du document ferm et saving yes signifie enregistrer sans demander.

Constantes des chanes de caractresApplescript dfinit les constantes return, space, et tab pour reprsenter, respectivement, un retour-chariot, un espace, et une tabulation. Vous pouvez les utiliser avec loprateur de concatnation pour les ajouter une chane de caractres, ou vous pouvez les utiliser dans les oprations de comparaisons.set addressString to return & "66601 Colton Blvd." & return & "Oakland, CA 94611" & return (* rsultat : deux lignes dadresse, dmarrant sur une nouvelle ligne *)

Constantes des styles de texteVous pouvez utiliser les constantes caractristiques de style de texte : suivantes pour spcifier des

all caps, all lowercase, bold, condensed, expanded, hidden, italic, outline, plain, shadow, small caps, strikethrough, subscript, superscript, underline

Le script suivant obtient le style du corps du texte dun document AppleWorks dj ouvert :tell application "AppleWorks" style of text body of document "Draft Report" end tell -- rsultat : {class:text style info, on styles:{plain}, off styles:{italic, underline, outline, shadow, condensed, expanded, strikethrough, superscript, subscript, superior, inferior, double underline}}

Les constantes

T1 - 84

Chapitre 4

Tome 1

Constante VersionVous pouvez utiliser la proprit version dAppleScript pour vrifier la version courante dAppleScript. Le script suivant vrifie que la version est plus grande ou gale la version 1.3.4 avant dexcuter nimporte quelle autre opration.if (version of AppleScript as string) "1.3.4" then (*excute les oprations indiques si la version dAppleScript est 1.3.4 ou suprieure*) end if

Version est une proprit dautres applications en plus dAppleScript, aussi pour accder la version dAppleScript lintrieur dune instruction Tell dune autre application, vous devrez utiliser la phrase AppleScripts version ou version of AppleScript :tell application "AppleWorks" version --rsultat : "5.0v1" (version dAppleWorks) if (AppleScripts version as string) "1.3.4" then (*excution des oprations si la version dAppleScript *)est suprieure ou gale 1.3.4 end if end tell

Pour une description de la variable globale AppleScript, voir Les proprits dAppleScript (T4 - p.20). Le script suivant vrifie que la version du Finder est 8.5 ou suprieure, et affiche un message dalerte en cas de version infrieure.tell application "Finder" set theVersion to (get the version) as number if version is less than 8.5 then beep display dialog "Ce script requiert Mac OS 8.5 ou plus." buttons {"Cancel"} default button 1 with icon 0 end if end tell

T1 - 85

Les constantes

Tome 2

Les Commandes

Chapitre 1

Tome 2

IntroductionUne commande est un mot ou une srie de mots utiliss dans les instructions AppleScript pour demander une action. Chaque commande est adresse une cible ou un objet qui rpond la commande. La cible est gnralement un objet dapplication, mais il peut aussi tre un script-objet ou une routine dfinie par lutilisateur ou une valeur dfinie dans le script. Toutes les commandes ne peuvent pas tre utilises avec toutes sortes de cible. Quand vous utilisez une commande pour demander une action, vous devez choisir une commande compatible avec la cible que vous souhaitez manipuler. Vous devez aussi tre sr de spcifier la cible correctement. Plusieurs facteurs, y compris le paramtre direct que vous fournissez avec une commande, et y compris si la commande est insre ou non lintrieur dune instruction Tell, peuvent dterminer la cible dune commande. Les commandes sont dcrites dans les chapitres suivants : Les types de commandes (T2 - p.7) dcrit les types de commande utiliss avec AppleScript. Il prsente aussi les cibles des commandes, et rsume, quels types de commande travaillent avec quels types de cible. Utilisation des dfinitions de commandes (T2 - p.13) dcrit les diffrentes sections des dfinitions de commande et leurs utilisations. Utilisation des paramtres (T2 - p.17) dcrit comment contraindre des paramtres, comment utiliser des paramtres qui spcifient des emplacements, et comment soccuper des donnes brutes (raw data) dans les paramtres. Utilisation des rsultats (T2 - p.20) dcrit comment visualiser les valeurs gnres par les commandes AppleScript et comment utiliser la variable prdfinie result. Les Chevrons dans les rsultats et les scripts (T2 - p.23) explique ce que signifie la prsence des chevrons ( ) dans un script ou un rsultat. Les dfinitions de commandes (T2 - p.29) fournit les descriptions dtailles des cinq commandes AppleScript et de certaines commandes standards dapplication.

T2 - 6

Introduction

Chapitre 2

Tome 2

Les types de commandes

Il existe quatre types diffrents de commandes que vous pouvez utiliser dans AppleScript pour demander des actions: les commandes dapplication (T2 - p.7) les commandes AppleScript (T2 - p.9) les commandes des complments de pilotage (T2 - p.9) les commandes dfinies par lutilisateur (T2 - p.12) Ce chapitre fournit les descriptions dtailles de toutes les commandes AppleScript et de plusieurs commandes standards dapplication. Il fournit, galement, un bref aperu des commandes dfinies par lutilisateur et des rfrences pour des informations complmentaires sur ce type de commandes. Chaque fois que vous utilisez une commande, vous indiquez la cible, ou le bnficiaire, de la commande. Les cibles potentielles comprennent les objets dapplication, les scripts-objets, le script et lapplication en-cours. Dans certains cas, vous spcifiez explicitement la cible en lintgrant lintrieur dune instruction Tell ou en la dsignant comme un paramtre direct. Dans les autres cas, vous la spcifiez implicitement.

Les commandes dapplicationLes commandes dapplication sont des commandes qui dclenchent des actions dans les applications pilotables. La cible dune commande dapplication est un objet dapplication ou un script-objet. Les diffrents objets dune application rpondent diffrentes commandes. Vous pouvez dterminer les commandes supportes par une application en examinant son dictionnaire. Vous pouvez visualiser un dictionnaire dune application soit en dposant licone de lapplication sur lditeur de scripts, soit en ouvrant le dictionnaire depuis le menu Ouvrir un dictionnaire... du menu Fichier de lditeur de scripts.

Les types de commandes

T2 - 7

Chapitre 2

Tome 2

Il existe deux faons de spcifier un objet, par exemple, comme la cible dune commande, soit dans le paramtre direct de la commande, soit dans une instruction Tell qui contient la commande. Le paramtre direct est une valeur, gnralement une rfrence, qui apparat immdiatement aprs une commande et qui indique la cible de la commande. Toutes les commandes nont pas de paramtre direct. Si une commande peut avoir un paramtre direct, la dfinition de cette commande lindiquera. Par exemple, dans linstruction suivante, la rfrence last file of window 1 of application "Finder" est le paramtre direct de la commande Duplicate :duplicate last file of window 1 of application "Finder"

Une instruction Tell est une instruction qui spcifie une cible par dfaut pour toutes les commandes contenues lintrieur de sa structure. Si une commande est contenue dans une instruction Tell, le paramtre direct est optionnel. Si vous ngligez le paramtre direct, AppleScript utilise la cible par dfaut indique par linstruction Tell. Par exemple, la commande Duplicate de linstruction Tell suivante a le mme effet que la commande Duplicate de lexemple prcdent :tell last file of window 1 of application "Finder" duplicate end tell

De la mme faon, si vous spcifiez une rfrence incomplte dans la ligne de commande, AppleScript utilise la cible par dfaut, indique par linstruction Tell, pour complter la rfrence. Par exemple, linstruction suivante est quivalente aux deux exemples prcdents :tell window 1 of application "Finder" duplicate last file end tell

Noubliez pas que vous pouvez crire vos scripts dans un anglais plus correct, si vous le souhaitez. Par exemple, linstruction suivante est la mme, syntaxiquement, que la premire instruction Duplicate indique ci-dessus :duplicate the last file of the first window of application "Finder"

T2 - 8

Les types de commandes

Chapitre 2

Tome 2

Les commandes AppleScriptLes commandes AppleScript sont des commandes intgres au langage AppleScript. Elles agissent sur des valeurs dans les scripts. La cible dune commande AppleScript est une valeur dans le script courant, elle est gnralement spcifie dans le paramtre direct de la commande. Il ny a que cinq commandes AppleScript : Get, Set, Count, Copy et Run. Toutes ces commandes, excepte la commande Copy, peuvent aussi fonctionner comme des commandes dapplication. Pour les commandes Count, Get, Run, et Set, si le paramtre direct est une valeur, alors la commande fonctionne comme une commande AppleScript, si le paramtre direct est un objet dapplication, la commande fonctionne comme une commande dapplication. Par exemple, la commande Count suivante fonctionne comme une commande AppleScript car le paramtre direct est une valeur (une liste) :count {"How", "many", "items", "in", "this", "list"}

La commande Count suivante fonctionne comme une dapplication car le paramtre direct est un objet dapplication :

commande

count the files in the first window of application "Finder"

Pour plus dexemples sur lutilisation des commandes Get, Set, Count, Copy et Run, voir le chapitre Les dfinitions de