Le 2008-09-27 14:12, Daniel Varlet a écrit :
>
> Le 26 sept. 08 à 16:25, Philippe DREANO a écrit :
>
> Bouh!!
> Rien ne me déviera de mon sacerdoce AppleScriptien.... Vade retro
> Nitendo, qui en plus pille mes noms de variables.
>
> Je reprends donc les points évoqués:
>
> En AS le "set z to" (l'assignation) va jusqu'à la fin de la ligne.
>
> set boo to boo or z starts with "x"
> Avec parenthèses:
> set boo to (boo or (z starts with "x"))
>
> Une autre façon moins intéressante:
> if (z starts with "x") then set boo to true
>
> L'avantage de la première c'est que le court-circuit habituel des
> opérations logiques peut éviter le calcul du deuxième opérande dans
> les tests suivants.
> Et en cas de zillions de tests même complexes ça reste modifiable (on
> peut utiliser le and) et c'est lisible/compréhensible facilement.
> Enfin presque...
>
> Variantes avec des if, mais c'est moins souple.
> if (boo or (z starts with "x")) then set boo to true
> if not boo then set boo to (z starts with "x")
>
> (Les parenthèses c'est pour la lisibilité. AS n'en a pas besoin dans
> tous ces exemples.)
>
> Autre point:
>
> if boo then
> ---bla
> end
>
> boo _n'est pas_ le roi BOO. Farpaitement. C'est bien une variable
> booléenne (true ou false) avec un nom magnifique et explicite de mon
> cru.
> Donc le if est content, il a ce dont il a besoin: un booléen.
>
> Pour être complet(?):
> starts with (synonyme: begins with) est un opérateur de comparaison
> qui renvoi un booléen.
>
> A+
Merci beaucoup Daniel ton explication est lumineuse et j'ai honte de
manipuler si basiquement AppleScript (Si si un peu quand même !!) or
est le ou logique le II de java et de C++ ( et oui je t'avais bien dis
que j'étais sous java actuellement
programme qui est pour moi un paradoxe très agréable a comprendre et à
étudier et une horreur à installer !! vous avez JV Se mais ça ne
marche pas il vous JDK vous installez JDk mais non mais non il vous
faut aussi Ant vous installez tout cela mais non il faut encore
déclarer les path les ClaClass pathes et les HAVAHome si vous utilisez
TOMCAT une horreur je vous dis !!! en fin ça sur windows Xp il parait
que tout est déja installé sur mac mais j'apprends JAVA chez moi donc
pour l'instant sur pc )
Mais revenons sur sur ton explication "le starts with renvoie un
booléen" Voila c'était la clef que je ne comprenais pas, c'était tout
simple comme d'habitude mais je ne l'avais même pas imaginé !!
( Quoi .. Oui oui c'est encore ma femme qui me dit que ça ne l'étonne
pas je manque parfois d'imagination !)
J'ai par contre une colle qui m'inquiète et inquiète certaines
personne sous FileMaker Pro, mon AppleScript d'importation marche très
bien sur mon ordinateur j'en ai donc envoyer une version simplifié
avec un fichier FileMaker a un Forum sur Filemaker pour le tester.
Le Script était le suivant
set chemindef to ((path to documents folder as text) &
"importcourrier:") as alias
tell application "Finder"
get every file of chemindef
set maliste to the result
end tell
try
open first item of maliste
-- try car si la boite au lettre est vide le script ne renvoie pas
une erreur
on error the error_message number the error_number
display dialog "Il n'y a plus d'examen dans la boite aux lettres"
buttons {"Annuler"} default button 1
end try
tell application "TextEdit"
-- maintenant je mets l'integrale de mon fichier dans ma variable
contenu
set contenu to text of the front document of application "TextEdit"
end tell
tell application "FileMaker Pro Advanced"
set cellValue of cell "gimportcourrier" of front database to contenu
end tell
tell application "Finder"
try
close the window of application "TextEdit" without saving
end try
end tell
tell application "Finder"
try
delete the first item of maliste
end try
end tell
PB 1 Pour un utilisateur le script ne faisait qu'ouvrir un fichier
dans TextEdit et s'arrêtait là, il n'importait rien dans la rubrique
gimportcourrier puis à ma demande il a copié le texte de ce script à
partir de Filemaker et l'a lancé à partir del'éditeur de Script du Mac
et cela a marché ( comme si le compilateur d'AppleScript de FileMaker
Pro n'avait pas fait son travail) il n'a eu a le lancé qu'une fois
AppleScript à ârtir de l'editeur après cela il marchait complètement
sous FileMaker et le script s'exécutait normalement
PB 2 Pour un second utilisateur dès qu'il s'agissait d'un fichier doc
ou TXT ( qui s'ouvrait sous Word habituellement sur son Mac je
pense)TextEdit l'affichait mais s'arrêtait là par contre s'il mettait
un fichier TextEdit ou un fichier log quelconque tout marchait à
merveille et lui n'a jamais eu besoin de coller le Script dans
L'éditeur de Script et de le lancer cela marchait directement sous
FileMaker. (En fait dans File maker il existe une commande exécuter
AppleScript ou un champ texte apparaît et ou on peut taper ou coller
son applescript s'il y a des erreurs elles sont déclarer comme dans
l'éditeur de script du mac mais il n'y a pas de couleurs pas
d'historique des événements c'est très basique)
Quelqu'un a t'il une idée dois je améliorer mon script avec le chemin
de FileMaker Pro ? pourquoi set contenu... "TExtEdit" ne marche pas
lorsqu'il s'agit d'un document word ?
Au fait je n'ai pas encore tester le super deuxieme script de Daniel
qui met deux secondes au lieu de 20 mais j'ai inverser mon repeat (nb
to 1 by -1) et cela est toujours aussi lent ce n'est donc pas la
reindexation des paragraphes qui prend
du temps il semble bien que ce soit les delete.
je vous tiens au courant et Milles Merci
Une petite citation pour la fin "Mieux vaut se perdre dans sa
passion que perdre sa passion " HEGEL
_______________________________________________
Applescript_fr mailing list
Applescript_fr@???
http://listes.patpro.net/mailman/listinfo/applescript_fr