IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AppleScript Discussion :

Bibliothèque de routines usuelles


Sujet :

AppleScript

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Novembre 2014
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Novembre 2014
    Messages : 32
    Points : 37
    Points
    37
    Par défaut Bibliothèque de routines usuelles
    Travaillant souvent sur des chaines de caractères, je cherche des Bibliothèques de routines usuelles genre trim, split, concat, etc. J'en ai trouvé une intéressante pleine de choses pas mal mais je sais pas comment la downloader. Avez-vous une idée ? Apparemment pas de lien de téléchargement sur cette page ou alors j'ai mal regardé ! Par contre on peut afficher le code source, ô joie dans une fenêtre de type spoiler!!
    http://applescript.bratis-lover.net/...ring/#trimBoth

    D'autre part j'en recherche d'autres et ça doit sûrement exister sur le Net. Merci de me les communiquer si vous avez des pistes.


    Sinon grâce à l'aide d'un gentil monsieur ici, voici un script qui vous affiche toutes les voix sous forme de liste que vous pouvez tester à l'exclusion de celles postfixées par Compact et dans ce cas il beepe et sort. Idem pour des voix non présentes bien que répertoriées (!!)
    Désolé j'ai pas compris la technique pour que dans l'éditeur ici, il affiche les mêmes couleurs que dans l'éditeur de script.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    set Dos_Voix to path to voices folder
    tell application "Finder"
    	set Mes_Voix to {}
    	set Les_Voix to name of every item of folder Dos_Voix
    	repeat with Voix in Les_Voix
    		set Voix to (text 1 thru ((offset of ".SpeechVoice" in Voix) - 1) of Voix)
    		set Mes_Voix to Mes_Voix & Voix
    	end repeat
    end tell
     
     
    -- Lorsque la voix est introuvable ou qu'elle est sous forme "Compact" le programme quitte sinon il boucle.
    repeat until false
    	set Choix to (choose from list Mes_Voix with title "Voix disponibles" OK button name "Celle-là, oui!") as string
    	if trim(Choix, "Compact") then
    		try
    			tell me to say "make" & Choix using Choix modulation 40
    		on error the error_message number the error_number
    			beep 2
    			display dialog "Error: " & the error_number & ". " & the error_message buttons {"Cancel"} default button 1 with icon stop with title "Un problème !" giving up after 10
    			exit repeat
    		end try
    	else
    		display notification "Ça craint: la voix n'est pas décompactée"
    		beep
    		exit repeat
    	end if
    end repeat
     
     
    on trim(myTexte, someText)
    	--  Elimine les voix contenant la chaine "Compact"
     
    	set j to 1 as integer
    	set Long_Some_Text to (length of someText) as integer
    	set Long_Text to (length of myTexte) as integer
    	repeat with i from 1 to Long_Text - Long_Some_Text
    		if not (character i of myTexte) = (character j of someText) then
    			j = j + 1
    		else
    			return false
    			exit repeat
    		end if
    	end repeat
    	return true
    end trim
    Ceci dit, je sais pas mais je crois que l'algorithme a l'air à peu près bon.
    Sinon que pensez-vous de Script Debugger 4.5 et 5 ? Certains l'ont ici ? Ça vaut le coup de l'acheter ?
    Cher non ? 199$.
    Semble valoir le coup surtout si on fait des bouts de programme avec Cocoa et via Xcode.

  2. #2
    Membre éprouvé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 603
    Points : 1 240
    Points
    1 240
    Par défaut
    Bonsoir Shub22,

    Il y a de nombreuses bibliothèques de manipulations de texte.
    Applescript intègre cependant des fonctions puissantes, qui , bien utilisées sont très performantes.
    Outre le "concat" qui s'obtient simplement avec l'opérateur &, la majeur partie des manipulations de texte se résume souvent à une fonction Recherche & Remplace dont voici un exemple ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    -- exemple de texte
    set A to "essai de texte compact avec des mots"
    
    -- appel de la fonction
    set B to RechercheRemplace(A, "compact", "français")
    
    
    on RechercheRemplace(LText, LCible, LRep)
        set AppleScript's text item delimiters to LCible
        set LResult to text items of LText
        set AppleScript's text item delimiters to LRep
        return LResult as text
    end RechercheRemplace
    C'est simple et très puissant ! Cela peut être utilisé pour remplacer, mais aussi pour supprimer : dans ton cas, il faut remplacer "compact" par "", ce qui va le supprimer !


    Le second point est relatif à l'insertion de code dans tes messages sur ce forum.
    Tu mets ton code dans l'éditeur Applescripts, tu le compiles (pour avoir la couleur, les gras,...), puis tu copies.
    Dans ton message sur ce forum, tu cliques sur le bouton avec le signe #, ce qui va insérer 2 balises de code (début et fin), en positionnant le curseur entre les deux (sympa ce forum !). Tu colles et ton script sera correctement formaté.
    Par honnêteté, je me dois de signaler un bug aléatoire : lors du "coller", il arrive que des espaces ou des retours à la ligne soient perdus ... nuisant à la recompilation par d'autres membres. Il faut donc bien relire et remettre les espace ou return manquants.


    Enfin, je ne connais les voix de type "Compact", donc je sèche sur cette partie. Je ne peux que te conseiller d'utiliser des traces et/ou des bloc on error pour comprendre pourquoi un programme quitte. Le programme quitte toujours pour une bonne raison ... à défaut d'être une raison comprise par le développeur.

    Cordialement

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Novembre 2014
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Novembre 2014
    Messages : 32
    Points : 37
    Points
    37
    Par défaut
    Ouiinnn! Chui nul en copié-coller surtout quand il faut rajouter la couleur. J'en suis encore aux années 60 quand à la télé il y avait que deux chaines en noir et blanc.

    J'ai fait un copié-coller, sélectionné le code Applescript et appuyé sur '#': ça donne bien une page en insert ce qui respecte la tabulation et évite les morceaux de code trop volumineux mais j'ai pas la couleur.
    Bon je vais étudier la question. Merci en tout cas. Déjà un progrès.
    Qq a essayé mon script ? Ça marche ? Normalement il affiche toutes les voix même celles sous forme compactes (donc non décompactées) mais quand on clique sur l'une d'elles, le programme sort. Sinon il boucle ce qui peut donner une idée des voix, timbre et tonalité sans se fatiguer. D'ailleurs la reconnaissance et synthèse vocale ont fait un progrès de géant ces dernières années.
    Inexplicablement, ce bout de script trouve et affiche les voix 'Bad News' et 'Good News': elles figurent bien dans les Préfs. 'dictée et parole' comme voix accessibles. Dans les Préfs. j'appuie sur "Lire" et et elles disent bien un texte. Par contre, dans mon script quand l'une est sélectionnée et que je clique dessus, il dit qu'elle est introuvable.
    Mais c'est vrai, tu as raison: il y a forcément une explication logique qq part.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Bibliothèques de routines de calculs pour les nombres entiers géants
    Par Rekin85 dans le forum Codes sources à télécharger
    Réponses: 10
    Dernier message: 30/01/2015, 16h01
  2. Bibliothèque Gcc/mingw 2.95.3.6
    Par richard dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 11/10/2003, 22h54
  3. Réponses: 8
    Dernier message: 03/09/2003, 00h47
  4. Des fonctions OGL pour les images de format usuel ?
    Par jamal24 dans le forum OpenGL
    Réponses: 3
    Dernier message: 31/05/2003, 21h59
  5. Bibliothèques et documentation
    Par Anonymous dans le forum OpenGL
    Réponses: 4
    Dernier message: 01/04/2002, 12h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo