FAQ4

SUJET :
Fermer une boîte de dialogue après un laps de temps.
 
QUESTION :
...Et cela me fait penser à un truc, on fait appel au Finder sous forme d'un Apple Event à chaque Dialog Box vue si on ne répond pas il crée un message d'erreur "Délais d'Apple Event dépassé".
Donc pour bien faire, ne faudrait-il pas mettre un with timeout of xx seconds sur chaque Dialog Box avec une réponse par défaut si l'utilisateur ne clique rien ?
 
REPONSE :
Cette fonction est prévue dans display dialog lui-même :
[giving up after integer] -- number of seconds to wait before automatically dismissing dialog
du genre :
display dialog "Je quitte dans 3 seconde" buttons {"bye-bye"} default button 1 giving up after 3
 
SUJET :
manipuler un fichier texte dans Tex-Edit Plus
 
QUESTION :
AppleScript et AppleWork 6
J'exporte souvant les fichier type tabulation de FileMaker et après les avoir ouvrir avec AW6 et manupuler je les importe aux autre programes.
Mais je devrais faire les manupulation sur le fichier avec Apple Work 6 avant les importer:
1) ajouter une ligne vierge tout debut de le texte,
2) selectioner tout le texte et le transformer en majuscul,
3) fermer et enregistrer en format texte, et quitter l'application.
 
Mon probleme 1: à partir de dialoge d'ouverture de AppleWork 6, je n'arive pas changer ni format de texte à "tout format" pour voir le fichier exporter et ni type de fichier à "traitement de texte" pour ouvrir et enregistrer comme texte.
 
C'est que j'ai reussi à ecrir (ce n'est pas grand chose je sais mais je suis vraiment deboutant et je n'ai pas pu trouver des examples pour travailler dessus.):
 
tell application "Finder"
activate
select file "AppleWorks 6" of folder "AppleWorks 6" of disk "Aplications"
open selection
end tell
tell application "AppleWorks 6"
activate
 
Merci d'avance.
Cordialement
 
Mehmet Selami SAKIROGLU
 
REPONSE :
Pour ce genre d'exercice Tex-Edit Plus est mieux adapté. C'est un logiciel qui ne fait que du traitement de texte et permet une multitude de traitement très complexe, le tout AppleScriptable.
Il a un avantage indégniable : il est enregistrable.
C'est à dire qu'il suffit d'appuyer sur le bouton Mémoriser de l'Éditeur de scripts, d'effectuer toutes les manipulations, puis, une fois terminées, d'appuyer sur le bouton Arrêter de ce même Éditeur de scripts : le script s'est écrit tout seul !
 
Pour ces quelques manipulations le script est du genre :
tell application "Tex-Edit Plus F"
activate
set insertion point before contents of window 1 to "
"
change case contents of window 1 into uppercase
save window 1 in file "disque:Desktop Folder:test23" as string with creator «class TBB6» with unstyled formatting
quit
end tell
 
"Tex-Edit Plus F" se trouve sur les Cds des revues macs ou directement sur le site (780 Ko) :
http://www.malcolmadams.com/te/
 
SUJET :
Lister les polices par type dans un document texte.
 
QUESTION :
Bonsoir J'ai besoin de lister le folder de polices de mon Mac rangé par type (PostScript, etc..) et après garder le résultat comme document SimpleText pour l'imprimer.
Pardon par mon français, il n'est pas trop bon.
Merci beaucoup.
Carlos Sáenz
 
REPONSE :
Voici un essai de listing de police rangé par type. C'est un script applicatif de nom "Fonts list" qui crée un fichier de nom "Liste des polices" qui contient la liste des polices classées par kind. Je n'ai mis que trois type : file, suitecase et postscript, si un type n'est pas reconnu un message vous préviens.
Il suffit alors de continuer le programme pour intégrer le nouveau type.
=> Fonts list.sit
 
SUJET :
Effacer les commentaires de tous les fichiers d'un dossier
 
QUESTION :
Je voudrais un script de dossier capable d'ouvrir la fenêtre lire les informations et d'en effacer les commentaires de tous les fichiers d'un dossier lors de son ouverture.
Je désirerais qu'il procède ainsi : Ouverture de la fenêtre, effacement du commentaire, fermeture, ouverture de la suivante etc. A l'issue, le dossier se referme.
Les boîtes de dialogue avec bouton de confirmation ne sont pas nécessaires.
 
D'avance merci ;-)
Christian Duva
 
REPONSE :
Voici un script suivant vos spécifications.
Il n'efface que les commentaires des fichiers, pas des dossiers ou applications pouvant se trouver dans ce dossier, il ferme le dossier après exécution, il est donc impossible de l'ouvrir, puisqu'à chaque ouverture il se referme immédiatement :
 
on opening folder this_folder
  ListeTousLesFichiers(this_folder)
  EffaceTousLesCommentaires(result)
  FermeLeDossier(this_folder)
end opening folder
 
on ListeTousLesFichiers(this_folder)
  tell application "Finder"
    set |Liste de tous les fichiers| to every file of this_folder
  end tell
  return |Liste de tous les fichiers|
end ListeTousLesFichiers
 
on EffaceTousLesCommentaires(|Liste de tous les fichiers|)
  if |Liste de tous les fichiers| is not {} then
    repeat with FileToFile in |Liste de tous les fichiers|
      tell application "Finder" to set comment of FileToFile to ""
    end repeat
  end if
end EffaceTousLesCommentaires
 
on FermeLeDossier(this_folder)
  tell application "Finder" to close this_folder
end FermeLeDossier
 
On attache un script à un dossier par un ctrl-clic sur celui-ci.

SUJET :
Modifier le type et le créateur de tout fichier qui serait glissé dans un dossier.
 
QUESTION :
Bonjour,
Je cherche un script de dossier pour modifier le type et le créateur de tout fichier qui serait glisser dans le dossier. Le type et le créateur étant défini à l'avance. J'ai tout un tas de document qui ont été converti en format PC, par erreur,et bien sur pour les faire tous un par un, bonjour la durée!!!!!
Merci par avance,
Salut à tous.
Laurent LANDRY
 
REPONSE :
Bonjour,
Vous trouverez ce script à :
http://applescript.pratique.online.fr/scripts/typecreateur
Principe:
- c'est le nom du dossier qui détermine le type et le créateur du fichier mis dans le dossier. Par exemple si on nomme le dossier TEXT,BOBO tous les fichiers introduits auront TEXT comme type et BOBO comme créateur.
 
SUJET:
Enregistrer l'historique de Remote Access dans un fichier puis effacer cet historique.
QUESTION:
Bonjour à tous,
 
Dans l'historique de PPP, des fonctions sont proposées en "manuel" :"Exporter", "Effacer".
Désirant consulter régulièrement l'historique de PPP, l'idée est venue de créer un script [AS].
Le dictionnaire AS donne:
PPP save log: Saves the PPP log to a disk file
PPP save log to file specification -- Name of the file to which the log is saved
[clearing entries boolean] -- Should the log entries be cleared after saving ?
[appending boolean] -- Should the log entries be appended to the disk file ?
[Result: small integer] -- The result code; check the Open Transport PPP Errors list
 
Le script en découlant fût celui-ci
 
On run
PPP save log to ¬
      "Macintosh HD:Desktop Folder:Test" with clearing entries
end run
L'enregistrement du fichier "Test" est correct, mais l'effacement de l'historique PPP n'est pas effectif.
Par contre, dans le script suivant l'ajout fonctionne très bien.
On run
PPP save log to ¬
      "Macintosh HD:Desktop Folder:Test" with appending
end run
 
Des idées sur : comment Effacer l'historique?
Merci d'avance.
 
Jean-Pierre
 
REPONSE :
 
with clearing entries, permet d'enregistrer le contenu de l'historique en
supprimant tout ce qui était inscript dans le fichier, pas dans
l'historique lui-même.
with appending, permet d'ajouter le contenu de l'historique dans le
fichier, si on exécute plusieurs fois, le même historique est ajouté l'un
derrière l'autre.
Il n'y a aucune fonction qui permette d'effacer l'historique lui-même via
remote access.
Par contre le fichier Historique se trouve toujours dans un endroit bien
déterminé :
dans le dossier "Remote Access" du dossier "Préférences" du dossier
"Système".
Ce fichier est protégé dans une même cession : on ne peut pas le supprimer.
Par contre si il est déplacé, dans la corbeille par exemple, à la prochaine
cession un nouveau fichier sera créé, donc vide.
Pour mettre ce fichier à la corbeille :
tell application "Finder"
delete file "Historique Remote Access" of folder "Remote Access" ¬
of preferences folder of startup disk
end tell
Au prochain démarrage de l'ordinateur, l'historique sera vide.
 
SUJET :
Copier un texte depuis n'importe quelle application et le coller à la suite dans un document d'archive.
 
QUESTION :
Je cherche a faire un script qui copie la portion selectionnee d'un document que je suis en train de lire, et insere cette copie sous forme de nouveau paragraphe dans un document nomme "Archive", situe sur le bureau, puis sauvegarde "Archive"
La logique voudrait que cela s'ecrive comme suit:
 
Tell application "Finder"
copy selection of document 1
open document "Archive"
move insertion point one line down
paste selection
save
end tell
 
Ce n'est pas l'avis du verificateur de syntaxe, qui pousse des hurlements a chaque essai que je fais.
J'utilise un Mac G3 233 et Mac OS 8.1
J'ai essaye de presser "record" et de faire ces operations manuellement, mais le script editor n'a rien enregistre du tout.
Pour sauvegarder ma sanite, j'apprecierais beaucoup que quelqu'un de moins borne que moi m'indique les commandes et la syntaxe qui feraient fonctionner le script ci-dessus.
Par la meme occasion, pourriez vous confirmer si on peut executer un script par un raccourci clavier, par exemple "P" en ajoutant /P apres le nom du script (ou /F8 s'il s'agit d'une F key.)
Merci d'avance!
Maurice
 
REPONSE:
Dans votre script vous ne faites allusion qu'au "Finder". Le problème c'est que la finder n'a jamais servi de traitement de texte. Il sait très bien gérer les volumes, les fichiers et les dossiers, mais surement pas écrire un courrier.
Donc déjà :
Tell application "Finder"
copy selection of document 1
pour le "Finder" document 1 ne veut rien dire, ce mot n'existe pas dans son dictionnaire.
 
Pour les raccoucis claviers, vous avez le tableau de bord "Frappe Clavier" qui permet d'affecter un script à une touche de fonction sous OS9.
Le nom du script avec \P, permet aux logiciels dotés du menu AppleScript, d'affecter cette touche au script. Attention toutefois que cette touche ne soit pas déjà utilisée par l'application elle-même.
Voici un premier script, pour test. Principe :
- Il copie la selection, ouvre un document de nom "Archive" sur le bureau, et colle la sélection à la fin du document "Archive".
- La copie s'effectue depuis n'importe quelle application.
- Le document "Archive" doit être un document de Tex-Edit Plus.
- Il faut affecter le script à une touche de fonction, (systeme 9, Tableau de
bord Frappe Clavier, Touches fonctions..).
- il faut que l'OSAX AutoType soit dans le dossier "Complément de pilotage" du dossier "Système". Cet OSAX se trouve à :
http://applescript.pratique.online.fr/scripts/AutoType.sit
Le script se trouve à l'adresse suivante:
http://applescript.pratique.online.fr/scripts/Copie_colle