| - FONCTION POUR ECRIRE UN TEXTE DANS UN FICHIER TEXTE
- Cette fonction est proposée par Vincent DUVERT.
- Beaucoup de scripts ont besoin d'écrire dans un fichier. Or, ce fichier doit être placé PAR L'UTILISATEUR dans un endroit précis du disque. Et si l'utilisateur ne le place pas le fichier a cet endroit le script risque d'afficher des messages incompréhensibles, ou pire, de planter ! Alors voici une fonction qui résoudra tous ces problèmes, en permettant d'écrire dans un fichier texte situé à un emplacement précis un texte. (a noter que si le fichier texte n'existe pas, cette fonction le crée).
- on ecrire(ceTexte, cheminDAcces, debutDuDocument)
- try
- tell application "Finder" to set the cheminDAcces to the cheminDAcces as text
- set the openCheminDAcces to open for access the file cheminDAcces with write permission
- if debutDuDocument then set eof of the openCheminDAcces to 0
- write ceTexte to the openCheminDAcces starting at eof
- close access the openCheminDAcces
- return true
- on error
- try
- close access the openCheminDAcces
- on error
- end try
- return false
- end try
- end ecrire
- Vous avez du voir, il y a 3 variables a définir; la 1ere, ceTexte, doit contenir le texte a écrire. (ex: "Hello World") la 2eme, cheminDAcces, doit contenir le chemin d'accès jusqu'au fichier (si vous voulez que le script vous demande ou vous vouler l'enregistrer, tapez (new file)) la 3eme, debutDuDocument, vous demande si vous voulez que le script efface tout le fichier avant de mettre le nouveau texte.(tapez true pour oui, false pour non. A noter que si vous créez un nouveau document, cette variable ne sert a rien. Initialisez la à true)
- Pour tester cette fonction, tapez la dans une fenêtre de script, et tapez en dessous: ecrire("Hello World !", (new file),true) -Lancez le script. Un message vous demande ou vous voulez enregistrer.Choisissez un emplacement,donnez un nom et cliquez sur OK. -Retrouvez le fichier et double-cliquez dessus.Il devrait contenir Hello World !
-
- OPTIMISATION D'UN SCRIPT POUR UN MENU SCRIPT
-
- Un des problèmes des scripts lancés depuis le menu script dune application, ce sont les allez-retour lorsque le bloc tell application ... end tell est employé pour atteindre lapplication elle-même.
Il ne faudrait pas lemployer, puisque par défaut le script est lancé depuis lapplication, il se trouve donc déjà dans lenvironnement de cette application, donc à chaque appel il sappelle lui-même... ce qui cause des dysfonctionnements, souvent bloquant. Mais, me direz-vous, on ne peut pas écrire le script sans ce tell application ... end tell, sinon, à la compilation, les termes employés ne sont pas reconnus ... alors, comment faire ?...- Voir la suite du texte : (dans une nouvelle fenêtre du navigateur)
-
-
- DIFFERENCE ENTRE COPY TO ET SET TO
-
- A première vue la différence entre les deux n'est pas évidente puisque si on écrit :
copy 2 to Var ou : set Var to 2 on obtient la même chose, à savoir : Var = 2 Et pourtant la différence entre les deux syntaxes est importante, puisque si on écrit : set MaListe to {1,2,3} set TaListe to MaListe set item 1 of MaListe to 4 dans ce cas nous obtenons TaListe = {4,2,3}, alors que si on écrit : set MaListe to {1,2,3} copy MaListe to TaListe set item 1 of MaListe to 4 dans ce cas nous obtenons TaListe = {1,2,3}. Ceci est valable pour les listes, les records et les script objects. Voir page 206-207 de "AppleScript Language Guide for
| |