Re: SignAuPif 1.0.4

Liste des GroupesRevenir à fcsm programmation 
Sujet : Re: SignAuPif 1.0.4
De : benoit (at) *nospam* com.invalid ("Benoît L.")
Groupes : fr.comp.sys.mac.programmation
Date : 20. Feb 2022, 14:25:15
Autres entêtes
Organisation : C'est celui qui dit qui est
Message-ID : <sutbvb$jom$2@shakotay.alphanet.ch>
References : 1 2
User-Agent : MacCafe/2.06 (macOS 10.16.0 (21D62) - MacBookPro14,2)
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


Date Sujet#  Auteur
18 Feb 22 * SignAuPif 1.0.418"Benoît L."
18 Feb 22 +* Re: SignAuPif 1.0.47G.Deville
18 Feb 22 i`* Re: SignAuPif 1.0.46DV
18 Feb 22 i +* Re: SignAuPif 1.0.44G.Deville
18 Feb 22 i i`* Re: SignAuPif 1.0.43"Benoît L."
18 Feb 22 i i `* Re: SignAuPif 1.0.42G.Deville
18 Feb 22 i i  `- Re: SignAuPif 1.0.41"Benoît L."
18 Feb 22 i `- Re: SignAuPif 1.0.41"Benoît L."
18 Feb 22 +- Re: SignAuPif 1.0.41"Benoît L."
20 Feb 22 `* Re: SignAuPif 1.0.49G.Deville
20 Feb 22  +* Re: SignAuPif 1.0.44"Benoît L."
20 Feb 22  i`* Re: SignAuPif 1.0.43G.Deville
20 Feb 22  i `* Re: SignAuPif 1.0.42"Benoît L."
20 Feb 22  i  `- Re: SignAuPif 1.0.41G.Deville
20 Feb 22  +- Re: SignAuPif 1.0.41Joseph-B
20 Feb 22  `* Re: SignAuPif 1.0.43Joseph-B
20 Feb 22   +- Re: SignAuPif 1.0.41G.Deville
20 Feb 22   `- Re: SignAuPif 1.0.41"Benoît L."

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal