# [Applescript] Plusieurs fichiers pour un script



## eNeos (16 Mars 2011)

Bonjour,

Je découvre depuis quelques jours Applescript et me pose une question existentielle... Est-il possible d'avoir un script composé de plusieurs fichiers ?

J'ai bien trouvé l'option d'enregistrement au format "Paquet de scripts" mais ne sais comment l'utiliser et n'ai pas trouvé de doc à ce sujet


----------



## ceslinstinct (16 Mars 2011)

eNeos a dit:


> Bonjour,
> 
> Je découvre depuis quelques jours Applescript et me pose une question existentielle... Est-il possible d'avoir un script composé de plusieurs fichiers ?
> 
> J'ai bien trouvé l'option d'enregistrement au format "Paquet de scripts" mais ne sais comment l'utiliser et n'ai pas trouvé de doc à ce sujet


Bonjour

Avec AppleScript, je me suis créé une application qui en réalité sont 3 applications différentes.

La première (visible) commande la deuxième (invisible) qui elle commande la troisième qui elle aussi est invisible.

Elle travaillent à tour de rôle suivant la demande (mais qu'une à la fois) et en une seule application.

@+


----------



## eNeos (17 Mars 2011)

Bonjour ceslinstinct,

Effectivement, c'est une idée pas bête du tout, bien que pas pratique dans mon cas.
J'ai trouvé un pis-aller qui consiste à enregistrer le fichier principal en une application _monApp.app_. Je vais, à la main, placer mon ou mes _add-on.scpt_ dans _monApp.app/Contents/Resources/Scripts/_.

Pour le code, ça donne :

monApp.app

```
on run {}
	set scptPath to ((path to me) as string) & "Contents:Resources:Scripts:"
	set scptFichier to scptPath & "add-on.scpt"
	set scptAddOn to load script scptFichier as alias
	
	set valeur to "On m'dit rien !"
	set valeur to testEconomiseurEcran() of scptAddOn
	
	return valeur
end run
```

add-on.scpt

```
on testEconomiseurEcran()
	set sleeping to "\"CurrentPowerState\"=1"
	set awake to "\"CurrentPowerState\"=4"
	
	set reponse to do shell script "ioreg -n IODisplayWrangler |grep -i IOPowerManagement"
	if reponse contains awake then
		set resultat to "J'suis en pleine forme"
	else if reponse contains sleeping then
		set resultat to "Tais toi, je dors"
	else
		set resultat to "Devine quoi ? Il y a d'autres cas !"
	end if
	
	return resultat
end testEconomiseurEcran
```

Maintenant, il y a surement mieux... mais je ne connais pas.


----------



## Anonyme (17 Mars 2011)

Bonsoir,



eNeos a dit:


> Bonjour,
> J'ai bien trouvé l'option d'enregistrement au format "Paquet de scripts" mais ne sais comment l'utiliser et n'ai pas trouvé de doc à ce sujet


Si tu enregistres ton script au format "*Paquet de scripts*" 
Clic sur l'icône "*Contenu du paquet*" dans la barre d'outils de l'éditeur.
À partir du *Finder*, ajoutent les scripts désirés  dans le dossier "Scripts" de l'éditeur, ils seront copiés, pas déplacés.

Après il suffit de les éditer par double-clic à partir de l'éditeur.

La syntaxe sera par exemple :
	
	



```
on run {}
	set scptAddOn to load script (path to resource "add-on.scpt" in directory "Scripts")
	return testEconomiseurEcran() of scptAddOn
end run
```
C'est la même syntaxe pour une application


----------



## eNeos (18 Mars 2011)

Super, je te remercie ! Je ne l'avais même pas remarquée cette icône


----------

