Deutsch   English   Français   Italiano  
<sutbvb$jom$2@shakotay.alphanet.ch>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: eternal-september.org!reader02.eternal-september.org!news.freedyn.de!news.imp.ch!news.alphanet.ch!alphanet.ch!.POSTED.lfbn-ren-1-614-45.w81-53.abo.wanadoo.fr!not-for-mail
From: =?UTF-8?B?IkJlbm/DrnQgTC4i?= <benoit@com.invalid>
Newsgroups: fr.comp.sys.mac.programmation
Subject: Re: SignAuPif 1.0.4
Date: Sun, 20 Feb 2022 12:25:15 -0000 (UTC)
Organization: C'est celui qui dit qui est
Sender: bobduvallois@lfbn-ren-1-614-45.w81-53.abo.wanadoo.fr
Archive: no
Message-ID: <sutbvb$jom$2@shakotay.alphanet.ch>
References: <suo3ep$or2$1@shakotay.alphanet.ch> <1pno8pn.5t3hoyd05velN%gd2512@free.fr>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Sun, 20 Feb 2022 12:25:15 -0000 (UTC)
Injection-Info: shakotay.alphanet.ch; posting-host="lfbn-ren-1-614-45.w81-53.abo.wanadoo.fr:81.53.19.45";
	logging-data="20246"; mail-complaints-to="usenet@alphanet.ch"
User-Agent: MacCafe/2.06 (macOS 10.16.0 (21D62) - MacBookPro14,2)
Cancel-Lock: sha1:bDmGRzap99DhCpcE9eagx8EOP0A= sha256:k2ivorOyAI1iAnbQaZ5ZAGVGAD1z130xAePfL1YyRFs=
In-Reply-To: <1pno8pn.5t3hoyd05velN%gd2512@free.fr>
X-No-Archive: yes

Après mûre réflexion, le 20 février 2022 à 12:30, G.Deville eu l'idée
d'écrire :

> "Benoît L." <benoit@com.invalid> wrote:
>
>> Voici une nouvelle version qui devrait fonctionner chez tout le monde,
>
> Une petite remarque préliminaire : quel est intérêt de fournir
> actuellement le script *et* l'applet dans la mesure où votre projet est
> très loin d'être abouti.
>  
> Pour essayer de comprendre pourquoi votre applet est bancal, que faut-il
> faire sinon ouvrir le script de l'applet qui est sans doute le même que
> celui du script isolé, non ?
>
> Je lance donc l'applet : il me demande de choisir un fichier de
> signatures… Késako ? Ça se présente comment ?
> Joseph-B vous a déjà fait cette remarque précédemment et vous a fait une
> suggestion restée lettre morte.
>
> Je finis par récupérer un fichier qui devrait fonctionner à l'adresse
> fournie précédemment (http://globulle.free.fr/gmp.txt).
>
> Je relance donc l'applet et je choisis le fichier de signatures
> ci-dessus mais bing… Fenêtre d'erreur me proposant de modifier le script
> ce que je fais sauf que… le script apparaît alors verrouillé et donc pas
> moyen de le modifier !
>
> Je laisse tomber l'applet et j'ouvre le script : j'ai volontairement
> ôter Dialog Toolkit Plus.scptd de son dossier pour voir si ce que vous
> disiez un peu plus loin à savoir :
> « Quand on ajoute une extension (scripting addition) et qu'il (AS) est
> lancé, elle n'existe toujours pas pour lui. Il faut donc lancer
> l'Éditeur de script après l'avoir installée. »
> reposait sur les faits mais je constate que c'est de votre part une
> affirmation gratuite.
>
> Je réinstalle donc Dialog Toolkit Plus.scptd sans avoir quitté le script
> et je peux maintenant compiler votre script.
>
> Je le lance et je cherche pourquoi ça coince : ce sont des histoires de
> "as text" en lieu et place de "as «class utf8»" et c'est réglé.
>
> Mais :
>
>> — À l'import, tous les « -- espace & return » sont supprimés.
>
> Quel est l'intérêt de supprimer le délimiteur de signature à ce moment
> du script ? Si l'utilisateur souhaite conserver ce délimiteur, il va
> falloir que vous le remettiez par la suite : 2 actions au lieu d'une
> seule car si l'utilisateur ne souhaite pas le conserver, il suffira de
> la supprimer au moment où il fera son choix mais pas d'entrée de jeu.



> Et il y a plus grave : si vous supprimez « -- espace & return » comment
> fait ensuite le script pour savoir où commence et où finit une signature
> ?

Il faut une base de signature qui soit « standard » et à l’import il
peut y avoir des fichiers sans délimiteurs, d’autres avec mais pas
partout…

> Avec cette suppression, votre séquence :
> *******************************************************
> -- Transformation du texte en liste
> set ListeSignatures to createSigListe(monTexte, linefeed & linefeed)
> on createSigListe(monTexte, theSearchString)
>         set AppleScript's text item delimiters to theSearchString
>         set ListeSignatures to every text item of monTexte
>         set AppleScript's text item delimiters to ""
>         return ListeSignatures
> end createSigListe
> *******************************************************
> n'a aucun sens car il n'y a aucun « linefeed & linefeed » dans le texte
> nettoyé et donc il n'y a plus qu'un seul item dans ListeSignatures !

Si, il y en a puisqu’il y a un paragraphe vide entre chaque signature
(qu’elles aient le délimiteur ou non) donc deux linefeed (ou return) qui
se suivent : celui à la fin de la signature et celui du paragraphe vide*.

> Et ça explique pourquoi votre script aboutit toujours à la même réponse
> à savoir la liste complète des signatures…

Bin oui, si tu veux en prendre une au hasard il faut bien que tu les
aient toutes, non ?

-- Je compte le nombre de signatures
set listSize to count items in ListeSignatures
-- Je tire un chiffre au hasard en tre 1 et ce nombre
set randomSigNumber to random number from 1 to listSize
-- Je récupère la signature correspondante dans la liste.
set finalSig to item randomSigNumber of ListeSignatures as «class utf8»

Après, je l’affiche dans la fenêtre. Tu as l’intégralité des signatures
dans la fenêtre ? Quand tu cliques sur « Copier » tu récupères
l’intégralité des signatures ?

> Vous avez du boulot dites donc ! ;-)

Oui, sur le mode d’emploi :)

* Ne me dis pas que dans ton fichier originelle les signatures sont
collées les une aux autres avec juste le délimiteur pour les séparer.

-- 
Vie : n. f. Maladie mortelle sexuellement transmissible
benoit chez leraillez.com