begin process at 2008 07 06 07:29:34
1 205 472 membres
51 nouveaux aujourd'hui
14 119 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

OUTILS LINGUISTIQUE (DICTIONNAIRE, TRADUCTEUR, SYNONYMES, SIGLES, ANAGRAMMES, GOOGLE)


Information sur la source

Catégorie :AddOns Classé sous : dictionnaire, traduction, synonymes, anagrammes, sigles Niveau : Initié Date de création : 10/03/2007 Date de mise à jour : 13/01/2008 15:29:41 Vu / téléchargé: 46 715 / 257

Note :
10 / 10 - par 3 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

Description

Cet Add-On présente une multitude d'aliases qui concernent la langue française ainsi que d'autres langues européennes.
Il possède :

1. Un dictionnaire (/dico <expression>) - exemple : /dico irc
2. Un dictionnaire des synonymes (/synonymes <mot>) - exemple : /synonymes informaticien
3. Un dictionnaire des anagrammes (/anagrammes <mot>) - exemple : /anagrammes scripting
4. Un dictionnaire des sigles (/sigles <sigle>)
5. Un traducteur (/translate lang1>lang1 <phrase/mot>) - exemple : /translate en>fr Hello everybody. Langages disponibles : Anglais Allemand Français Espagnol Italien Portugais
6. Un outil Google :
6.1 Recherche simple avec affichage des résultats et suggestion si suggestion il y a (/google <expression>) - exemple : /google orthograf
6.2 Recherche avec la suggestion (/google? <expression>) - exemple : /google? orthograf (qui va en fait rechercher orthographe)
6.3 Affichage de la suggestion (/ortho <expression>) - exemple : /ortho orthograf (va afficher orthographe)
6.4 GoogleFight : comparaison du nombre de résultats entre deux expressions  (/googlefight <expression 1> vs <expression 2>) - exemple : /googlefight microsoft vs apple

Le but est de faciliter l'accès aux informations, et pourquoi pas d'améliorer le niveau de votre langue :)
Il utilise principalement des sockets pour récupérer les infos et des binvars pour les faire stocker. La plupart sont affichées ensuite dans une /window possédant un editbox, et rendant encore plus rapide la saisie de nouveaux paramètres.

Tapez help sur l'une de ces fenêtres pour avoir de l'aide.

Source

  • ;********************
  • ;Outils Linguistiques
  • ; By ArKanis
  • ; www.arkanis.eu
  • ;********************
  • ;v 1.1
  • alias translate {
  • if (!$1-) {
  • window -aez @Translate
  • echo 2 -t @Translate * Tapez help pour obtenir de l'aide
  • return
  • }
  • if ($regex($1,/^([a-z]{2})>([a-z]{2})/i)) {
  • var %a = $regml(1), %b = $regml(2)
  • if (!$istok(en.de.fr.es.it.pt,%a,46)) var %a = fr
  • if (!$istok(en.de.fr.es.it.pt,%b,46)) var %b = en
  • tokenize 32 $2-
  • }
  • else var %a = fr, %b = en
  • if (%a == %b) return
  • if (!$istok(en>fr en>de en>it en>pt en>es fr>en fr>de de>en de>fr it>en pt>en es>en,$+(%a,>,%b),32)) {
  • var %b = $+(en>,%b)
  • echo 2 -at * Le passage de %a à %b n'existe pas. Il faut passer par l'anglais. Le résultat n'est pas garanti
  • }
  • var %s = $+($iif(!$show,.),Translate.,$ticks,.,$r(a,z))
  • write -c Translate.txt
  • sockclose %s
  • sockopen %s www.translate.google.com 80
  • sockmark %s %a %b $1-
  • }
  • on *:sockopen:*Translate.*:{
  • if ($sockerr) return
  • tokenize 32 $$sock($sockname).mark
  • sockwrite -n $sockname GET $+(www.translate.google.com/translate_t?langpair=,$1,$chr(124),$gettok($2,1,62),&text=,$link.chg($3-)) HTTP/1.0
  • sockwrite -n $sockname Host: $+(www.translate.google.com,$str($crlf,2))
  • }
  • alias -l translate.read {
  • var %ticks = $ticks, %y = de la traduction de $+(,$2,) en $+(,$3,) de $+(,$4-,)
  • window -aez @Translate
  • if ($left($1,1) != .) echo 2 -t @Translate *********** Début %y - Récupération des données en $calc($ticks - $gettok($1,2,46)) ms
  • echo 2 -t @Translate * $+(,$gettok(Anglais Allemand Français Espagnol Italien Portugais,$findtok(en.de.fr.es.it.pt,$gettok($3,1,62),1,46),32),)
  • echo 2 -t @Translate -> $read(Translate.txt,1)
  • echo 2 -t @Translate *
  • if ($regex(A,$3,([a-z]{2})>([a-z]{2}))) .translate $+(en>,$gettok($3,2,62)) $read(Translate.txt,1)
  • else echo 2 -t @Translate *********** Fin de la traduction - Affichage des données en $calc($ticks - %ticks) ms
  • .remove Translate.txt
  • sockclose $1
  • }
  • on *:sockread:*Translate.*:{
  • sockread &a
  • if ($bfind(&a,1,id=suggestion>)) {
  • bcopy &b 1 &a $calc($ifmatch +14) -1
  • if ($bfind(&b,1,</textarea>)) {
  • bcopy &c 1 &b 1 $calc($ifmatch -1)
  • bwrite Translate.txt -1 -1 &c
  • translate.read $sockname $sock($sockname).mark
  • }
  • else {
  • bwrite Translate.txt -1 -1 &b
  • sockmark $sockname 1 $sock($sockname).mark
  • }
  • }
  • elseif ($gettok($sock($sockname).mark,1,32) == 1) {
  • if ($bfind(&a,1,</textarea>)) {
  • bcopy &b 1 &a 1 $calc($ifmatch -1)
  • bwrite Translate.txt -1 -1 &c
  • translate.read $sockname $sock($sockname).mark
  • }
  • }
  • }
  • alias ortho $google?($1-)
  • alias google .google? $1-
  • alias google! url -n $+(www.google.fr/search?q=,$link.chg($1-))
  • alias google? {
  • if (!$1-) {
  • if ($hget(Google,Ortho)) google! $hget(Google,Ortho)
  • else {
  • echo 2 -at * Commandes Google
  • echo 2 -at * /google? <expression> - Ouvre l'explorateur Google en utilisant l'expression conseillée par Google (en cas de faute d'orthographe par exemple)
  • echo 2 -at * /google <expression> - Ouvre l'explorateur Google et indique au passage si une expression différente est conseillée par Google.
  • echo 2 -at * /ortho <expression> - Affiche uniquement si une expression est conseillée par Google.
  • }
  • if ($hget(Google)) hfree Google
  • return
  • }
  • if ($hget(Google)) hfree Google
  • var %s = §
  • if (!$show) {
  • var %s = .
  • google! $1-
  • }
  • elseif ($isid) var %s = :
  • var %s = $+(%s,Ortho.,$ticks,.,$r(a,z))
  • hadd -m Google Last $1-
  • sockclose %s
  • sockopen %s google.fr 80
  • sockmark %s $1-
  • }
  • on *:sockopen:?Ortho.*:{
  • if ($sockerr) return
  • google.ch $sockname $sock($sockname).mark
  • }
  • on *:sockread:?Ortho.*:{
  • sockread &a
  • if ($bfind(&a,1,sur un total d'environ <b>)) {
  • bunset &b
  • bcopy &b 1 &a $calc($ifmatch +26) $calc($bfind(&a,$ifmatch,</b>) - $ifmatch -26)
  • echo 2 -at * La recherche de $+(",$sock($sockname).mark,") a aboutit à $replace($bvar(&b,1,$bvar(&b,0)).text,&nbsp;,$chr(32)) résultats.
  • }
  • if ($bfind(&a,1,Essayez avec cette orthographe)) {
  • bunset &b
  • bcopy &b 1 &a $calc($ifmatch +33) $calc($bfind(&a,$ifmatch,</i>) - $ifmatch -33)
  • var %r = $regsubex($bvar(&b,1,$bvar(&b,0)).text,/<[^>]+>/gi,)
  • echo 2 -at -> Google propose : $+(,%r,) - Vérification faite en $calc($ticks - $gettok($sockname,2,46)) ms
  • hadd -mu60 Google Ortho %r
  • if (!$istok(: .,$left($sockname,1),32)) google! %r
  • else echo 2 -at * Tapez /google pour effectuer la recherche en tenant compte de la suggestion
  • sockclose $sockname
  • }
  • elseif ($bfind(&a,1,Aucun document ne correspond aux termes de recherche spécifiés)) {
  • echo 2 -at * Il n'y a aucun résultat pour la recherche de de $+(",$sock($sockname).mark,") - Vérification faite en $calc($ticks - $gettok($sockname,2,46)) ms
  • sockclose $sockname
  • }
  • }
  • on *:sockclose:?Ortho.*:if ($left($sockname,1) == :) echo 2 -at * L'orthographe de $sock($sockname).mark semble correcte (google n'a pas proposé une autre possibilité) - Vérification faite en $calc($ticks - $gettok($sockname,2,46)) ms
  • alias googlefight {
  • if (!$1-) {
  • echo 2 -at * Commandes /GoogleFight : /googlefight <expression 1> vs <expression 2> - S'il n'y a que deux mots : /googlefight <mot 1> <mot 2>
  • echo 2 -at * Donne le nombre de résultats pour la recherche de l'expression 1 et le compare au nombre de l'expression 2.
  • return
  • }
  • if ($0 == 2) tokenize 32 $1 vs $2
  • if (!$regex(N,$1-,/^(.+)\svs\s(.+)$/i)) return
  • var %1 = $link.chg($regml(N,1)), %2 = $link.chg($regml(N,2))
  • if (($hget(Fight,%1) != $null) && ($hget(Fight,%2) != $null)) {
  • var %c = $hget(Fight,%1), %d = $hget(Fight,%2), %a = $remove(%c,$chr(32)), %b = $remove(%d,$chr(32))
  • echo 2 -at * Fight $regml(N,1) CONTRE $regml(N,2)
  • echo 2 -at -> $iif(%a < %b,%c - $+(,%d,),$+(,%c,) - %d) $+($chr(40),$disp.num($abs($calc(%a - %b))) de différence,$chr(41))
  • }
  • else {
  • var %s = $+(Fight.,$ticks,.,$r(a,z),.,$iif($hget(Fight,%1) != $null,2,1))
  • sockclose %s
  • sockopen %s google.fr 80
  • sockmark %s $regml(N,1) VS $regml(N,2)
  • }
  • }
  • on *:sockopen:Fight.*:{
  • if ($sockerr) return
  • if (!$regex($sock($sockname).mark,/^(.+)\svs\s(.+)$/i)) return
  • google.ch $sockname $regml($right($sockname,1))
  • }
  • on *:sockread:Fight.*:{
  • sockread &a
  • if (!$regex(S,$sock($sockname).mark,/^(.+)\svs\s(.+)$/i)) return
  • var %r = $link.chg($regml(S,$right($sockname,1)))
  • if ($bfind(&a,1,sur un total d'environ <b>)) {
  • bunset &b
  • bcopy &b 1 &a $calc($ifmatch +26) $calc($bfind(&a,$ifmatch,</b>) - $ifmatch -26)
  • hadd -m Fight %r $replace($bvar(&b,1,$bvar(&b,0)).text,&nbsp;,$chr(32))
  • }
  • elseif ($bfind(&a,1,Aucun document ne correspond aux termes de recherche spécifiés)) hadd -m Fight %r 0
  • if ($hget(Fight,%r) != $null) {
  • googlefight $sock($sockname).mark
  • sockclose $sockname
  • }
  • }
  • alias synonymes {
  • if (!$1-) {
  • window -aez @Synonymes
  • echo 2 -t @Synonymes * Tapez help pour obtenir de l'aide
  • return
  • }
  • var %s = $+(Syn.,$ticks,.,$r(a,z))
  • write -c Synonymes.txt
  • sockclose %s
  • sockopen %s dico.isc.cnrs.fr 80
  • sockmark %s $1-
  • }
  • on *:sockopen:Syn.*:{
  • if ($sockerr) return
  • sockwrite -n $sockname GET $+(/dico/fr/chercher?r=,$link.chg($sock($sockname).mark)) HTTP/1.0
  • sockwrite -n $sockname Host: $+(www.dico.isc.cnrs.fr,$str($crlf,2))
  • }
  • on *:sockread:Syn.*:{
  • sockread &a
  • if (($gettok($sock($sockname).mark,1,32) != 1) && ($bfind(&a,1,<br><br>))) {
  • bunset &b
  • bcopy &b 1 &a $ifmatch -1
  • bunset &a
  • bcopy &a 1 &b 1 -1
  • sockmark $sockname 1 $sock($sockname).mark
  • }
  • if ($gettok($sock($sockname).mark,1,32) == 1) {
  • while ($bfind(&a,1,TYPE="CHECKBOX")) {
  • var %l = $ifmatch
  • bunset &c &d
  • bcopy &c 1 &a 1 $calc(%l -1)
  • bcopy &d 1 &a $calc(%l +34) -1
  • bunset &a
  • bcopy &a 1 &d 1 -1
  • while $bfind(&c,1,HREF=chercher?r=) {
  • bunset &e &d
  • bcopy &e 1 &c 1 $calc($ifmatch -1)
  • bcopy &d 1 &c $calc($ifmatch +16) -1
  • bwrite Synonymes.txt -1 &e
  • bunset &c
  • bcopy &c 1 &d 1 -1
  • }
  • if ($bvar(&c,0)) bwrite Synonymes.txt -1 &c
  • write Synonymes.txt $cr
  • }
  • while $bfind(&a,1,HREF=chercher?r=) {
  • bunset &c &d
  • bcopy &c 1 &a 1 $calc($ifmatch -3)
  • bcopy &d 1 &a $calc($ifmatch +16) -1
  • bwrite Synonymes.txt -1 &c
  • bunset &a
  • bcopy &a 1 &d 1 -1
  • }
  • if ($bvar(&a,0)) bwrite Synonymes.txt -1 &a
  • }
  • }
  • on *:sockclose:Syn.*:{
  • var %ticks = $ticks, %y = des synonymes de $+(,$gettok($sock($sockname).mark,2-,32),)
  • window -aez @Synonymes
  • echo 2 -t @Synonymes *********** Début %y (Classement thématique) - Récupération des données en $calc($ticks - $gettok($sockname,2,46)) ms
  • if ($fopen(Syn)) .fclose Syn
  • .fopen Syn Synonymes.txt
  • while ((!$feof) && (!$ferr) && ($fopen(Syn))) {
  • var %t = 1, %r
  • while ((($len(%r) <= 500) || ($left(%r,1) == $chr(44))) && (!$feof) && (!$ferr) && ($fopen(Syn))) {
  • var %c = $fgetc(Syn)
  • if (%c == 32) var %c = 165
  • if ($istok(13 10,%c,32)) {
  • var %r = $regsubex(%r,/(<[^>]+>)/g,)
  • while ($regsub(%r,/^([^>]*>)/g,,%r)) noop
  • while ($regsub(%r,/((<[^<]*))$/g,,%r)) noop
  • if (%r) echo 2 -t @Synonymes * $replace(%r,$chr(165),$chr(32))
  • var %r
  • }
  • else {
  • var %r = $+(%r,$chr(%c))
  • if (!$calc($len(%r) % 230)) {
  • var %r = $regsubex(%r,/(<[^>]+>)/g,)
  • if (Interface¥française isin %r) .fclose Syn
  • if (Nouvelle¥requête isin %r) {
  • echo 2 -t @Synonymes * Aucun résultat
  • .fclose Syn
  • }
  • }
  • }
  • }
  • if ($fopen(Syn)) {
  • var %r = $regsubex(%r,/(<[^>]+>)/g,)
  • while ($regsub(%r,/^([^>]*>)/g,,%r)) noop
  • while ($regsub(%r,/((<[^<]*))$/g,,%r)) noop
  • echo 2 -t @Synonymes * $replace(%r,$chr(165),$chr(32))
  • }
  • }
  • echo 2 -t @Synonymes *********** Fin %y - Affichage en $calc($ticks - %ticks) ms
  • if ($fopen(Syn)) .fclose Syn
  • .remove Synonymes.txt
  • return
  • var %t = 1, %l = $lines(Synonymes.txt)
  • window -aez @Synonymes
  • echo 2 -t @Synonymes *********** Début %y (Classement thématique) - Traitement en $calc($ticks - $gettok($sockname,2,46)) ms
  • while %t <= %l {
  • if ($read(Synonymes.txt,%t) == <br><br>) break
  • var %r = $regsubex($read(Synonymes.txt,%t),/(<[^>]+>)/g,)
  • while ($regsub(%r,/^([^>]*>)/g,,%r)) noop
  • while ($regsub(%r,/((<[^<]*))$/g,,%r)) noop
  • if (%r) echo 2 -t @Synonymes * %r
  • inc %t
  • }
  • echo 2 -t @Synonymes *********** Fin %y - Affichage en $calc($ticks - %ticks) ms
  • }
  • alias dico dictionnaire $1-
  • alias dictionnaire {
  • if (!$1-) {
  • window -aez @Dictionnaire
  • echo 2 -t @Dictionnaire * Tapez help pour obtenir de l'aide
  • return
  • }
  • var %s = $+(Dico.,$ticks,.,$r(a,z))
  • write -c Dico.txt
  • sockclose %s
  • sockopen %s google.fr 80
  • sockmark %s $1-
  • }
  • on *:sockopen:Dico.*:{
  • if ($sockerr) return
  • sockwrite -n $sockname GET $+(www.google.fr/custom?hl=fr&q=,$link.chg($+(define:,$gettok($sock($sockname).mark,1-,32)))) HTTP/1.0
  • sockwrite -n $sockname Host: $+(www.google.fr,$str($crlf,2))
  • }
  • on *:sockread:Dico.*:{
  • sockread &a
  • if (($gettok($sock($sockname).mark,1,32) != 1) && ($bfind(&a,1,<ul type="disc"><font size=-1>))) {
  • bunset &b
  • bcopy &b 1 &a $ifmatch -1
  • bunset &a
  • bcopy &a 1 &b 1 -1
  • sockmark $sockname 1 $sock($sockname).mark
  • }
  • if ($gettok($sock($sockname).mark,1,32) == 1) {
  • while $bfind(&a,1,<li>) {
  • bunset &c &d
  • bcopy &c 1 &a 1 $calc($ifmatch -1)
  • bcopy &d 1 &a $calc($ifmatch +4) -1
  • bunset &a
  • bcopy &a 1 &d 1 -1
  • while ($bfind(&c,1,<a href=)) {
  • bunset &e &d
  • bcopy &e 1 &c 1 $calc($ifmatch -1)
  • bcopy &d 1 &c $calc($bfind(&c,$ifmatch,>) +1) -1
  • bunset &c
  • bcopy &c 1 &d 1 -1
  • bwrite Dico.txt -1 &e
  • }
  • if ($bvar(&c,0)) bwrite Dico.txt -1 &c
  • write Dico.txt $cr
  • if (1 == 2) {
  • bwrite Dico.txt -1 &c
  • write Dico.txt $cr
  • }
  • }
  • if ($bvar(&a,0)) bwrite Dico.txt -1 &a
  • }
  • }
  • on *:sockclose:Dico.*:{
  • var %t = 1, %m = $lines(Dico.txt), %o, %y = de la définition de $+(,$gettok($sock($sockname).mark,2-,32),), %ticks = $ticks
  • window -aez @Dictionnaire
  • echo 2 -t @Dictionnaire *********** Début %y - Récupération des infos en $calc($ticks - $gettok($sockname,2,46)) ms
  • while %t <= %m {
  • if (%o) {
  • var %r = $regsubex($read(Dico.txt,%t),/(<([^>]+)>)/g,$gettok(¥ §¿,$findtok(br /ul,\2,1,32),32)), %r = $regsubex(%r,/(&#([0-9]{2});)/g,$chr(\2))/g,$chr(32))
  • if (§¿ isin %r) var %r = $gettok(%r,1,167), %t = %m
  • var %r = $replace($carac.chg(%r),<br>,¥), %r = $regsubex(%r,/(&[a-z];)/g,), %i = 1, %k = $numtok(%r,165)
  • if (!%k) var %k = 1
  • while %i <= %k {
  • var %g = $gettok(%r,%i,165))
  • if ($regex(%g,[^\s]+/[^\s]+/[^\s]+)) var %g = $+(http://,%g)
  • if (%g == Conseils de recherche) break
  • else echo 2 -t @Dictionnaire * $regsubex(%g,/&#([0-9]+);/g,$chr(\1))
  • inc %i
  • }
  • }
  • elseif (<font size=-1> isin $read(Dico.txt,%t)) var %o = 1
  • inc %t
  • }
  • if (%m <= 1) echo 2 -t @Dictionnaire * Aucun résultat
  • else echo 2 -t @Dictionnaire *
  • echo 2 -t @Dictionnaire *********** Fin %y - Affichage en $calc($ticks - %ticks) ms
  • .remove Dico.txt
  • }
  • alias anagrammes {
  • if (!$1-) {
  • window -aez @Anagrammes
  • echo 2 -t @Anagrammes * Tapez help pour obtenir de l'aide
  • return
  • }
  • var %s = $+(Ana.,$ticks,.,$r(a,z))
  • write -c Anagrammes.txt
  • sockclose %s
  • sockopen %s www.sensagent.com 80
  • sockmark %s $1-
  • }
  • on *:sockopen:Ana.*:{
  • if ($sockerr) return
  • sockwrite -n $sockname GET $+(/fr/dictionnaire-anagrammes/recherche-anagrammes.jsp?tl=fr&dl=fr&w=,$link.chg($sock($sockname).mark))
  • sockwrite -n $sockname Host: $+(www.sensagent.com,$str($crlf,2))
  • }
  • on *:sockread:Ana.*:{
  • sockread &a
  • if ($bfind(&a,1,anagdata)) {
  • bcopy &b 1 &a $calc($ifmatch +10) -1
  • bunset &a
  • bcopy &a 1 &b 1 -1
  • sockmark $sockname 1 $sock($sockname).mark
  • }
  • if ($gettok($sock($sockname).mark,1,32) == 1) {
  • while $bfind(&a,1,&nbsp;) {
  • bcopy &c 1 &a 1 $calc($ifmatch -1)
  • bunset &d
  • bcopy -z &d 1 &a $calc($ifmatch +6) -1
  • bunset &a
  • bcopy -z &a 1 &d 1 -1
  • if ($bvar(&c,0)) bwrite Anagrammes.txt -1 &c
  • bunset &c
  • write Anagrammes.txt $lf
  • }
  • bwrite Anagrammes.txt -1 &a
  • }
  • }
  • on *:sockclose:Ana.*:{
  • var %t = 1, %m = $lines(Anagrammes.txt), %o, %y = des anagrammes de $+(,$gettok($sock($sockname).mark,2-,32),), %ticks = $ticks
  • window -aez @Anagrammes
  • echo 2 -t @Anagrammes *********** Début %y - Récupération des infos en $calc($ticks - $gettok($sockname,2,46)) ms
  • while %t <= %m {
  • var %r = $regsubex($read(Anagrammes.txt,%t),/(<([^>]+)>)/g,$iif(\2 == /p,¥)), %i = 1, %k = $numtok(%r,165)
  • while %i <= %k {
  • var %g = $carac.chg($remove($gettok(%r,%i,165),&#x2022;))
  • if (%g == mode d'emploi) var %t = %m
  • else echo 2 -t @Anagrammes * %g
  • inc %i
  • }
  • inc %t
  • }
  • echo 2 -t @Anagrammes *********** Fin %y - Affichage en $calc($ticks - %ticks) ms
  • .remove Anagrammes.txt
  • }
  • alias sigles {
  • if (!$1-) {
  • window -aez @Sigles
  • echo 2 -t @Sigles * Tapez help pour obtenir de l'aide
  • return
  • }
  • var %s = $+(Sigles.,$ticks,.,$r(a,z))
  • write -c Sigles.txt
  • sockclose %s
  • sockopen %s sigles.net 80
  • sockmark %s $1-
  • }
  • on *:sockopen:Sigles.*:{
  • if ($sockerr) return
  • sockwrite -n $sockname GET $+(/recherche/resultats?requete%5Btype_requete_id%5D=1&requete%5Blanguage_id%5D=&requete%5Blibelle%5D=,$link.chg($sock($sockname).mark)) HTTP/1.0
  • sockwrite -n $sockname Host: $+(www.sigles.net,$str($crlf,2))
  • }
  • on *:sockread:Sigles.*:{
  • sockread &a
  • while ($bfind(&a,1,<dt>)) {
  • bunset &b &c
  • var %l = $ifmatch
  • if ($gettok($sock($sockname).mark,1,32) == 1) {
  • bcopy &c 1 &a 1 $calc(%l -1)
  • bwrite Sigles.txt -1 &c
  • }
  • else sockmark $sockname 1 $sock($sockname).mark
  • bcopy &b 1 &a $calc(%l +4) -1
  • bunset &a
  • bcopy &a 1 &b 1 -1
  • }
  • if ($bvar(&b,0)) {
  • if ($bfind(&b,1,</dl>)) {
  • bunset &c
  • bcopy &c 1 &b 1 $calc($ifmatch -1)
  • bunset &b
  • bcopy &b 1 &c 1 -1
  • }
  • bwrite Sigles.txt -1 &b
  • bunset &b
  • sigles.end $sockname $sock($sockname).mark
  • }
  • elseif $bfind(&a,1,class="no_result") {
  • write Sigles.txt <acronym lang="Aucun résultat trouvé">0</acronym></dt>
  • sigles.end $sockname $sock($sockname).mark
  • }
  • }
  • alias -l sigles.end {
  • window -aez @Sigles
  • var %ticks = $ticks, %t = 1, %m = $lines(Sigles.txt), %y = de la liste des sigles de $+(,$3-,), %c = echo 2 -t @Sigles
  • %c *********** Début %y - Récupération des données en $calc($ticks - $gettok($1,2,46)) ms
  • while %t <= %m {
  • var %r = $read(Sigles.txt,%t)
  • if ($regex(%r,<acronym lang="(.+)">.+</acronym></dt>)) %c * $regml(1)
  • elseif ($regex(%r,<dd><a href="(.+)">(.+)</a> </dd>)) {
  • %c * $+(,$regml(2),) - $regml(1)
  • if (%t != %m) %c *
  • }
  • inc %t
  • }
  • %c *********** Fin %y - Affichage des données en $calc($ticks - %ticks) ms
  • sockclose $1
  • .remove Sigles.txt
  • }
  • ;*******
  • ;Windows
  • ;*******
  • on *:input:@Dictionnaire,@Synonymes,@Anagrammes,@Translate,@Sigles:{
  • if ($istok(help aide,$1,32)) {
  • var %c = echo 2 -t $target, %r = <mot>
  • %c ??? Aide de $target ???
  • if ($target == @Dictionnaire) {
  • var %r = <mot/expression>
  • %c Tapez /dico %r pour en avoir une ou plusieurs définitions.
  • }
  • elseif ($target == @Synonymes) %c Tapez /synonymes %r pour en avoir des synonymes.
  • elseif ($target == @Anagrammes) %c Tapez /anagrammes %r pour en avoir des anagrammes.
  • elseif ($target == @Translate) {
  • var %r = langue1>langue2 <mot/phrase>
  • %c Tapez /translate %r pour en avoir la traduction de la langue1 vers la langue2.
  • %c Vous pouvez également taper <mot/phrase> pour traduire rapidement du français en anglais.
  • %c Les langues suivantes sont disponibles : anglais (en), allemand (de), français (fr), espagnol (es), italien (it), portugais (pt)
  • }
  • elseif ($target == @Sigles) {
  • var %r = <sigle>
  • %c Tapez /sigles %r pour en avoir la forme développée.
  • }
  • %c Tapez %r directement sur la fenêtre $target pour aller plus vite.
  • %c Autres commandes disponibles : /googlefight - /google - /google? - /ortho - /dictionnaire - /synonymes - /anagrammes - /translate - /sigles
  • %c ??? Fin de l'aide ???
  • }
  • elseif (!$istok($chr(36) /,$left($1,1),32)) $right($target,-1) $1-
  • }
  • ;**************
  • ;Aliases utiles
  • ;**************
  • alias -l disp.num {
  • var %l, %m = $1
  • while ($regex(%m,/([0-9]+)([0-9]{3})$/)) var %l = $instok(%l,$regml(2),1,32), %m = $regml(1)
  • if (%m) var %l = $instok(%l,%m,1,32)
  • return %l
  • }
  • alias -l link.chg return $regsubex($$1-,/([^a-z])/gi,$+($chr(37),$base($asc(\t),10,16)))
  • alias -l google.ch {
  • if (!$sock($1)) return
  • sockwrite -n $1 GET $+(www.google.fr/search?q=,$link.chg($2-)) HTTP/1.0
  • sockwrite -n $1 Host: $+(www.google.fr,$str($crlf,2))
  • }
  • alias -l carac.chg return $replace($regsubex($1-,/&#x([0-9A-F]+);/Ug,$chr($base(\t,16,10))),&lt;,<,&gt;,>,&quot;,",&nbsp;,$chr(32),&copy;,$chr(169),$chr(160),$chr(32),ç,ç,Ã,à,è,è,à¨,è,à¹,ù,à©,é,à¢,â,à»,ù)
  • ;End Of File
;********************
;Outils Linguistiques
;     By ArKanis
;   www.arkanis.eu
;********************
;v 1.1
alias translate {
  if (!$1-) {
    window -aez @Translate
    echo 2 -t @Translate * Tapez help pour obtenir de l'aide
    return
  }
  if ($regex($1,/^([a-z]{2})>([a-z]{2})/i)) {
    var %a = $regml(1), %b = $regml(2)
    if (!$istok(en.de.fr.es.it.pt,%a,46)) var %a = fr
    if (!$istok(en.de.fr.es.it.pt,%b,46)) var %b = en
    tokenize 32 $2-
  }
  else var %a = fr, %b = en
  if (%a == %b) return
  if (!$istok(en>fr en>de en>it en>pt en>es fr>en fr>de de>en de>fr it>en pt>en es>en,$+(%a,>,%b),32)) {
    var %b = $+(en>,%b)
    echo 2 -at * Le passage de %a à %b n'existe pas. Il faut passer par l'anglais. Le résultat n'est pas garanti
  }
  var %s = $+($iif(!$show,.),Translate.,$ticks,.,$r(a,z))
  write -c Translate.txt
  sockclose %s
  sockopen %s www.translate.google.com 80
  sockmark %s %a %b $1-
}
on *:sockopen:*Translate.*:{
  if ($sockerr) return
  tokenize 32 $$sock($sockname).mark
  sockwrite -n $sockname GET $+(www.translate.google.com/translate_t?langpair=,$1,$chr(124),$gettok($2,1,62),&text=,$link.chg($3-)) HTTP/1.0
  sockwrite -n $sockname Host: $+(www.translate.google.com,$str($crlf,2))
}
alias -l translate.read {
  var %ticks = $ticks, %y = de la traduction de $+(,$2,) en $+(,$3,) de $+(,$4-,)
  window -aez @Translate
  if ($left($1,1) != .) echo 2 -t @Translate *********** Début %y - Récupération des données en $calc($ticks - $gettok($1,2,46)) ms
  echo 2 -t @Translate * $+(,$gettok(Anglais Allemand Français Espagnol Italien Portugais,$findtok(en.de.fr.es.it.pt,$gettok($3,1,62),1,46),32),)
  echo 2 -t @Translate -> $read(Translate.txt,1)
  echo 2 -t @Translate *
  if ($regex(A,$3,([a-z]{2})>([a-z]{2}))) .translate $+(en>,$gettok($3,2,62)) $read(Translate.txt,1)
  else echo 2 -t @Translate *********** Fin de la traduction - Affichage des données en $calc($ticks - %ticks) ms
  .remove Translate.txt
  sockclose $1
}
on *:sockread:*Translate.*:{
  sockread &a
  if ($bfind(&a,1,id=suggestion>)) {
    bcopy &b 1 &a $calc($ifmatch +14) -1
    if ($bfind(&b,1,</textarea>)) {
      bcopy &c 1 &b 1 $calc($ifmatch -1)
      bwrite Translate.txt -1 -1 &c
      translate.read $sockname $sock($sockname).mark
    }
    else {
      bwrite Translate.txt -1 -1 &b
      sockmark $sockname 1 $sock($sockname).mark
    }
  }
  elseif ($gettok($sock($sockname).mark,1,32) == 1) {
    if ($bfind(&a,1,</textarea>)) {
      bcopy &b 1 &a 1 $calc($ifmatch -1)
      bwrite Translate.txt -1 -1 &c
      translate.read $sockname $sock($sockname).mark
    }
  }
}
alias ortho $google?($1-)
alias google .google? $1-
alias google! url -n $+(www.google.fr/search?q=,$link.chg($1-))
alias google? {
  if (!$1-) {
    if ($hget(Google,Ortho)) google! $hget(Google,Ortho)
    else {
      echo 2 -at * Commandes Google
      echo 2 -at * /google? <expression> - Ouvre l'explorateur Google en utilisant l'expression conseillée par Google (en cas de faute d'orthographe par exemple)
      echo 2 -at * /google <expression> - Ouvre l'explorateur Google et indique au passage si une expression différente est conseillée par Google.
      echo 2 -at * /ortho <expression> - Affiche uniquement si une expression est conseillée par Google.
    }
    if ($hget(Google)) hfree Google
    return
  }
  if ($hget(Google)) hfree Google
  var %s = §
  if (!$show) {
    var %s = .
    google! $1-
  }
  elseif ($isid) var %s = :
  var %s = $+(%s,Ortho.,$ticks,.,$r(a,z))
  hadd -m Google Last $1-
  sockclose %s
  sockopen %s google.fr 80
  sockmark %s $1-
}
on *:sockopen:?Ortho.*:{
  if ($sockerr) return
  google.ch $sockname $sock($sockname).mark
}
on *:sockread:?Ortho.*:{
  sockread &a
  if ($bfind(&a,1,sur un total d'environ <b>)) {
    bunset &b
    bcopy &b 1 &a $calc($ifmatch +26) $calc($bfind(&a,$ifmatch,</b>) - $ifmatch -26)
    echo 2 -at * La recherche de $+(",$sock($sockname).mark,") a aboutit à $replace($bvar(&b,1,$bvar(&b,0)).text,&nbsp;,$chr(32)) résultats.
  }
  if ($bfind(&a,1,Essayez avec cette orthographe)) {
    bunset &b
    bcopy &b 1 &a $calc($ifmatch +33) $calc($bfind(&a,$ifmatch,</i>) - $ifmatch -33)
    var %r = $regsubex($bvar(&b,1,$bvar(&b,0)).text,/<[^>]+>/gi,)
    echo 2 -at -> Google propose : $+(,%r,) - Vérification faite en $calc($ticks - $gettok($sockname,2,46)) ms
    hadd -mu60 Google Ortho %r
    if (!$istok(: .,$left($sockname,1),32)) google! %r
    else echo 2 -at * Tapez /google pour effectuer la recherche en tenant compte de la suggestion
    sockclose $sockname
  }
  elseif ($bfind(&a,1,Aucun document ne correspond aux termes de recherche spécifiés)) {
    echo 2 -at * Il n'y a aucun résultat pour la recherche de de $+(",$sock($sockname).mark,") - Vérification faite en $calc($ticks - $gettok($sockname,2,46)) ms
    sockclose $sockname
  }
}
on *:sockclose:?Ortho.*:if ($left($sockname,1) == :) echo 2 -at * L'orthographe de $sock($sockname).mark semble correcte (google n'a pas proposé une autre possibilité) - Vérification faite en $calc($ticks - $gettok($sockname,2,46)) ms
alias googlefight {
  if (!$1-) {
    echo 2 -at * Commandes /GoogleFight : /googlefight <expression 1> vs <expression 2> - S'il n'y a que deux mots : /googlefight <mot 1> <mot 2>
    echo 2 -at * Donne le nombre de résultats pour la recherche de l'expression 1 et le compare au nombre de l'expression 2.
    return
  }
  if ($0 == 2) tokenize 32 $1 vs $2
  if (!$regex(N,$1-,/^(.+)\svs\s(.+)$/i)) return
  var %1 = $link.chg($regml(N,1)), %2 = $link.chg($regml(N,2))
  if (($hget(Fight,%1) != $null) && ($hget(Fight,%2) != $null)) {
    var %c = $hget(Fight,%1), %d = $hget(Fight,%2), %a = $remove(%c,$chr(32)), %b = $remove(%d,$chr(32))
    echo 2 -at * Fight $regml(N,1) CONTRE $regml(N,2)
    echo 2 -at -> $iif(%a < %b,%c - $+(,%d,),$+(,%c,) - %d) $+($chr(40),$disp.num($abs($calc(%a - %b))) de différence,$chr(41))
  }
  else {
    var %s = $+(Fight.,$ticks,.,$r(a,z),.,$iif($hget(Fight,%1) != $null,2,1))
    sockclose %s
    sockopen %s google.fr 80
    sockmark %s $regml(N,1) VS $regml(N,2)
  }
}
on *:sockopen:Fight.*:{
  if ($sockerr) return
  if (!$regex($sock($sockname).mark,/^(.+)\svs\s(.+)$/i)) return
  google.ch $sockname $regml($right($sockname,1))
}
on *:sockread:Fight.*:{
  sockread &a
  if (!$regex(S,$sock($sockname).mark,/^(.+)\svs\s(.+)$/i)) return
  var %r = $link.chg($regml(S,$right($sockname,1)))
  if ($bfind(&a,1,sur un total d'environ <b>)) {
    bunset &b
    bcopy &b 1 &a $calc($ifmatch +26) $calc($bfind(&a,$ifmatch,</b>) - $ifmatch -26)
    hadd -m Fight %r $replace($bvar(&b,1,$bvar(&b,0)).text,&nbsp;,$chr(32))
  }
  elseif ($bfind(&a,1,Aucun document ne correspond aux termes de recherche spécifiés)) hadd -m Fight %r 0
  if ($hget(Fight,%r) != $null) {
    googlefight $sock($sockname).mark
    sockclose $sockname
  }
}
alias synonymes {
  if (!$1-) {
    window -aez @Synonymes
    echo 2 -t @Synonymes * Tapez help pour obtenir de l'aide
    return
  }
  var %s = $+(Syn.,$ticks,.,$r(a,z))
  write -c Synonymes.txt
  sockclose %s
  sockopen %s dico.isc.cnrs.fr 80
  sockmark %s $1-
}
on *:sockopen:Syn.*:{
  if ($sockerr) return
  sockwrite -n $sockname GET $+(/dico/fr/chercher?r=,$link.chg($sock($sockname).mark)) HTTP/1.0
  sockwrite -n $sockname Host: $+(www.dico.isc.cnrs.fr,$str($crlf,2))
}
on *:sockread:Syn.*:{
  sockread &a
  if (($gettok($sock($sockname).mark,1,32) != 1) && ($bfind(&a,1,<br><br>))) {
    bunset &b
    bcopy &b 1 &a $ifmatch -1
    bunset &a
    bcopy &a 1 &b 1 -1
    sockmark $sockname 1 $sock($sockname).mark
  }
  if ($gettok($sock($sockname).mark,1,32) == 1) {
    while ($bfind(&a,1,TYPE="CHECKBOX")) {
      var %l = $ifmatch
      bunset &c &d
      bcopy &c 1 &a 1 $calc(%l -1)
      bcopy &d 1 &a $calc(%l +34) -1
      bunset &a
      bcopy &a 1 &d 1 -1
      while $bfind(&c,1,HREF=chercher?r=) {
        bunset &e &d
        bcopy &e 1 &c 1 $calc($ifmatch -1)
        bcopy &d 1 &c $calc($ifmatch +16) -1
        bwrite Synonymes.txt -1 &e
        bunset &c
        bcopy &c 1 &d 1 -1
      }
      if ($bvar(&c,0)) bwrite Synonymes.txt -1 &c
      write Synonymes.txt $cr
    }
    while $bfind(&a,1,HREF=chercher?r=) {
      bunset &c &d
      bcopy &c 1 &a 1 $calc($ifmatch -3)
      bcopy &d 1 &a $calc($ifmatch +16) -1
      bwrite Synonymes.txt -1 &c
      bunset &a
      bcopy &a 1 &d 1 -1
    }
    if ($bvar(&a,0)) bwrite Synonymes.txt -1 &a
  }
}
on *:sockclose:Syn.*:{
  var %ticks = $ticks, %y = des synonymes de $+(,$gettok($sock($sockname).mark,2-,32),)
  window -aez @Synonymes
  echo 2 -t @Synonymes *********** Début %y (Classement thématique) - Récupération des données en $calc($ticks - $gettok($sockname,2,46)) ms
  if ($fopen(Syn)) .fclose Syn
  .fopen Syn Synonymes.txt
  while ((!$feof) && (!$ferr) && ($fopen(Syn))) {
    var %t = 1, %r
    while ((($len(%r) <= 500) || ($left(%r,1) == $chr(44))) && (!$feof) && (!$ferr) && ($fopen(Syn))) {
      var %c = $fgetc(Syn)
      if (%c == 32) var %c = 165
      if ($istok(13 10,%c,32)) {
        var %r = $regsubex(%r,/(<[^>]+>)/g,)
        while ($regsub(%r,/^([^>]*>)/g,,%r)) noop
        while ($regsub(%r,/((<[^<]*))$/g,,%r)) noop
        if (%r) echo 2 -t @Synonymes * $replace(%r,$chr(165),$chr(32))
        var %r
      }
      else {
        var %r = $+(%r,$chr(%c))
        if (!$calc($len(%r) % 230)) {
          var %r = $regsubex(%r,/(<[^>]+>)/g,)
          if (Interface¥française isin %r) .fclose Syn
          if (Nouvelle¥requête isin %r) {
            echo 2 -t @Synonymes * Aucun résultat
            .fclose Syn
          }
        }
      }
    }
    if ($fopen(Syn)) {
      var %r = $regsubex(%r,/(<[^>]+>)/g,)
      while ($regsub(%r,/^([^>]*>)/g,,%r)) noop
      while ($regsub(%r,/((<[^<]*))$/g,,%r)) noop
      echo 2 -t @Synonymes * $replace(%r,$chr(165),$chr(32))
    }
  }
  echo 2 -t @Synonymes *********** Fin %y - Affichage en $calc($ticks - %ticks) ms
  if ($fopen(Syn)) .fclose Syn
  .remove Synonymes.txt
  return
  var %t = 1, %l = $lines(Synonymes.txt)
  window -aez @Synonymes
  echo 2 -t @Synonymes *********** Début %y (Classement thématique) - Traitement en $calc($ticks - $gettok($sockname,2,46)) ms
  while %t <= %l {
    if ($read(Synonymes.txt,%t) == <br><br>) break
    var %r = $regsubex($read(Synonymes.txt,%t),/(<[^>]+>)/g,)
    while ($regsub(%r,/^([^>]*>)/g,,%r)) noop
    while ($regsub(%r,/((<[^<]*))$/g,,%r)) noop
    if (%r) echo 2 -t @Synonymes * %r
    inc %t
  }
  echo 2 -t @Synonymes *********** Fin %y - Affichage en $calc($ticks - %ticks) ms
}
alias dico dictionnaire $1-
alias dictionnaire {
  if (!$1-) {
    window -aez @Dictionnaire
    echo 2 -t @Dictionnaire * Tapez help pour obtenir de l'aide
    return
  }
  var %s = $+(Dico.,$ticks,.,$r(a,z))
  write -c Dico.txt
  sockclose %s
  sockopen %s google.fr 80
  sockmark %s $1-
}
on *:sockopen:Dico.*:{
  if ($sockerr) return
  sockwrite -n $sockname GET $+(www.google.fr/custom?hl=fr&q=,$link.chg($+(define:,$gettok($sock($sockname).mark,1-,32)))) HTTP/1.0
  sockwrite -n $sockname Host: $+(www.google.fr,$str($crlf,2))
}
on *:sockread:Dico.*:{
  sockread &a
  if (($gettok($sock($sockname).mark,1,32) != 1) && ($bfind(&a,1,<ul type="disc"><font size=-1>))) {
    bunset &b
    bcopy &b 1 &a $ifmatch -1
    bunset &a
    bcopy &a 1 &b 1 -1
    sockmark $sockname 1 $sock($sockname).mark
  }
  if ($gettok($sock($sockname).mark,1,32) == 1) {
    while $bfind(&a,1,<li>) {
      bunset &c &d
      bcopy &c 1 &a 1 $calc($ifmatch -1)
      bcopy &d 1 &a $calc($ifmatch +4) -1
      bunset &a
      bcopy &a 1 &d 1 -1
      while ($bfind(&c,1,<a href=)) {
        bunset &e &d
        bcopy &e 1 &c 1 $calc($ifmatch -1)
        bcopy &d 1 &c $calc($bfind(&c,$ifmatch,>) +1) -1
        bunset &c
        bcopy &c 1 &d 1 -1
        bwrite Dico.txt -1 &e
      }
      if ($bvar(&c,0)) bwrite Dico.txt -1 &c
      write Dico.txt $cr
      if (1 == 2) {
        bwrite Dico.txt -1 &c
        write Dico.txt $cr
      }
    }
    if ($bvar(&a,0)) bwrite Dico.txt -1 &a
  }
}
on *:sockclose:Dico.*:{
  var %t = 1, %m = $lines(Dico.txt), %o, %y = de la définition de $+(,$gettok($sock($sockname).mark,2-,32),), %ticks = $ticks
  window -aez @Dictionnaire
  echo 2 -t @Dictionnaire *********** Début %y - Récupération des infos en $calc($ticks - $gettok($sockname,2,46)) ms
  while %t <= %m {
    if (%o) {
      var %r = $regsubex($read(Dico.txt,%t),/(<([^>]+)>)/g,$gettok(¥ §¿,$findtok(br /ul,\2,1,32),32)), %r = $regsubex(%r,/(&#([0-9]{2});)/g,$chr(\2))/g,$chr(32))
      if (§¿ isin %r) var %r = $gettok(%r,1,167), %t = %m
      var %r = $replace($carac.chg(%r),<br>,¥), %r = $regsubex(%r,/(&[a-z];)/g,), %i = 1, %k = $numtok(%r,165)
      if (!%k) var %k = 1
      while %i <= %k {
        var %g = $gettok(%r,%i,165))
        if ($regex(%g,[^\s]+/[^\s]+/[^\s]+)) var %g = $+(http://,%g)
        if (%g == Conseils de recherche) break
        else echo 2 -t @Dictionnaire * $regsubex(%g,/&#([0-9]+);/g,$chr(\1))
        inc %i
      }
    }
    elseif (<font size=-1> isin $read(Dico.txt,%t)) var %o = 1
    inc %t
  }
  if (%m <= 1) echo 2 -t @Dictionnaire * Aucun résultat
  else echo 2 -t @Dictionnaire *
  echo 2 -t @Dictionnaire *********** Fin %y - Affichage en $calc($ticks - %ticks) ms
  .remove Dico.txt
}
alias anagrammes {
  if (!$1-) {
    window -aez @Anagrammes
    echo 2 -t @Anagrammes * Tapez help pour obtenir de l'aide
    return
  }
  var %s = $+(Ana.,$ticks,.,$r(a,z))
  write -c Anagrammes.txt
  sockclose %s
  sockopen %s www.sensagent.com 80
  sockmark %s $1-
}
on *:sockopen:Ana.*:{
  if ($sockerr) return
  sockwrite -n $sockname GET $+(/fr/dictionnaire-anagrammes/recherche-anagrammes.jsp?tl=fr&dl=fr&w=,$link.chg($sock($sockname).mark))
  sockwrite -n $sockname Host: $+(www.sensagent.com,$str($crlf,2))
}
on *:sockread:Ana.*:{
  sockread &a
  if ($bfind(&a,1,anagdata)) {
    bcopy &b 1 &a $calc($ifmatch +10) -1
    bunset &a
    bcopy &a 1 &b 1 -1
    sockmark $sockname 1 $sock($sockname).mark
  }
  if ($gettok($sock($sockname).mark,1,32) == 1) {
    while $bfind(&a,1,&nbsp;) {
      bcopy &c 1 &a 1 $calc($ifmatch -1)
      bunset &d
      bcopy -z &d 1 &a $calc($ifmatch +6) -1
      bunset &a
      bcopy -z &a 1 &d 1 -1
      if ($bvar(&c,0)) bwrite Anagrammes.txt -1 &c
      bunset &c
      write Anagrammes.txt $lf
    }
    bwrite Anagrammes.txt -1 &a
  }
}
on *:sockclose:Ana.*:{
  var %t = 1, %m = $lines(Anagrammes.txt), %o, %y = des anagrammes de $+(,$gettok($sock($sockname).mark,2-,32),), %ticks = $ticks
  window -aez @Anagrammes 
  echo 2 -t @Anagrammes *********** Début %y - Récupération des infos en $calc($ticks - $gettok($sockname,2,46)) ms
  while %t <= %m {
    var %r = $regsubex($read(Anagrammes.txt,%t),/(<([^>]+)>)/g,$iif(\2 == /p,¥)), %i = 1, %k = $numtok(%r,165)
    while %i <= %k {
      var %g = $carac.chg($remove($gettok(%r,%i,165),&#x2022;))
      if (%g == mode d'emploi) var %t = %m
      else echo 2 -t @Anagrammes * %g
      inc %i
    }
    inc %t
  }
  echo 2 -t @Anagrammes *********** Fin %y - Affichage en $calc($ticks - %ticks) ms
  .remove Anagrammes.txt
}
alias sigles {
  if (!$1-) {
    window -aez @Sigles
    echo 2 -t @Sigles * Tapez help pour obtenir de l'aide
    return
  }
  var %s = $+(Sigles.,$ticks,.,$r(a,z))
  write -c Sigles.txt
  sockclose %s
  sockopen %s sigles.net 80
  sockmark %s $1-
}
on *:sockopen:Sigles.*:{
  if ($sockerr) return
  sockwrite -n $sockname GET $+(/recherche/resultats?requete%5Btype_requete_id%5D=1&requete%5Blanguage_id%5D=&requete%5Blibelle%5D=,$link.chg($sock($sockname).mark)) HTTP/1.0
  sockwrite -n $sockname Host: $+(www.sigles.net,$str($crlf,2))
}
on *:sockread:Sigles.*:{
  sockread &a
  while ($bfind(&a,1,<dt>)) {
    bunset &b &c
    var %l = $ifmatch
    if ($gettok($sock($sockname).mark,1,32) == 1) {
      bcopy &c 1 &a 1 $calc(%l -1)
      bwrite Sigles.txt -1 &c
    }
    else sockmark $sockname 1 $sock($sockname).mark
    bcopy &b 1 &a $calc(%l +4) -1
    bunset &a
    bcopy &a 1 &b 1 -1
  }
  if ($bvar(&b,0)) {
    if ($bfind(&b,1,</dl>)) {
      bunset &c
      bcopy &c 1 &b 1 $calc($ifmatch -1)
      bunset &b
      bcopy &b 1 &c 1 -1
    }
    bwrite Sigles.txt -1 &b
    bunset &b
    sigles.end $sockname $sock($sockname).mark
  }
  elseif $bfind(&a,1,class="no_result") {
    write Sigles.txt <acronym lang="Aucun résultat trouvé">0</acronym></dt>
    sigles.end $sockname $sock($sockname).mark
  }
}
alias -l sigles.end {
  window -aez @Sigles
  var %ticks = $ticks, %t = 1, %m = $lines(Sigles.txt), %y = de la liste des sigles de $+(,$3-,), %c = echo 2 -t @Sigles
  %c *********** Début %y - Récupération des données en $calc($ticks - $gettok($1,2,46)) ms
  while %t <= %m {
    var %r = $read(Sigles.txt,%t)
    if ($regex(%r,<acronym lang="(.+)">.+</acronym></dt>)) %c * $regml(1)
    elseif ($regex(%r,<dd><a href="(.+)">(.+)</a> </dd>)) {
      %c * $+(,$regml(2),) - $regml(1)
      if (%t != %m) %c *
    }
    inc %t
  }
  %c *********** Fin %y - Affichage des données en $calc($ticks - %ticks) ms
  sockclose $1
  .remove Sigles.txt
}
;*******
;Windows
;*******
on *:input:@Dictionnaire,@Synonymes,@Anagrammes,@Translate,@Sigles:{
  if ($istok(help aide,$1,32)) {
    var %c = echo 2 -t $target, %r = <mot>
    %c ??? Aide de $target ???
    if ($target == @Dictionnaire) {
      var %r = <mot/expression>
      %c Tapez /dico %r pour en avoir une ou plusieurs définitions.
    }
    elseif ($target == @Synonymes) %c Tapez /synonymes %r pour en avoir des synonymes.
    elseif ($target == @Anagrammes) %c Tapez /anagrammes %r pour en avoir des anagrammes.
    elseif ($target == @Translate) {
      var %r = langue1>langue2 <mot/phrase>
      %c Tapez /translate %r pour en avoir la traduction de la langue1 vers la langue2.
      %c Vous pouvez également taper <mot/phrase> pour traduire rapidement du français en anglais.
      %c Les langues suivantes sont disponibles : anglais (en), allemand (de), français (fr), espagnol (es), italien (it), portugais (pt)
    }
    elseif ($target == @Sigles) {
      var %r = <sigle>
      %c Tapez /sigles %r pour en avoir la forme développée.
    }
    %c Tapez %r directement sur la fenêtre $target pour aller plus vite.
    %c Autres commandes disponibles : /googlefight - /google - /google? - /ortho - /dictionnaire - /synonymes - /anagrammes - /translate - /sigles
    %c ??? Fin de l'aide ???
  }
  elseif (!$istok($chr(36) /,$left($1,1),32)) $right($target,-1) $1-
}
;**************
;Aliases utiles
;**************
alias -l disp.num {
  var %l, %m = $1
  while ($regex(%m,/([0-9]+)([0-9]{3})$/)) var %l = $instok(%l,$regml(2),1,32), %m = $regml(1)
  if (%m) var %l = $instok(%l,%m,1,32)
  return %l
}
alias -l link.chg return $regsubex($$1-,/([^a-z])/gi,$+($chr(37),$base($asc(\t),10,16)))
alias -l google.ch {
  if (!$sock($1)) return
  sockwrite -n $1 GET $+(www.google.fr/search?q=,$link.chg($2-)) HTTP/1.0
  sockwrite -n $1 Host: $+(www.google.fr,$str($crlf,2))
}

alias -l carac.chg return $replace($regsubex($1-,/&#x([0-9A-F]+);/Ug,$chr($base(\t,16,10))),&lt;,<,&gt;,>,&quot;,",&nbsp;,$chr(32),&copy;,$chr(169),$chr(160),$chr(32),ç,ç,Ã,à,è,è,à¨,è,à¹,ù,à©,é,à¢,â,à»,ù)
;End Of File

Conclusion

Veuillez avoir une version de mIRC récente (à partir de 6.17), la 6.21 au minimum étant conseillée, afin que le code fonctionne correctement.
Merci à Jordane et à Panthouffle pour leur test et leurs avis

J'espère avoir un peu plus de commentaires que d'habitude ... :(

Ca faisait longtemps que mes sources sur ircfr étaient des PicWins, ça change un peu :D
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

13 janvier 2008 15:20:38 :
Version 1.1 : Correction de la fonction Translate suite à la modification du site (translate.google.com)
13 janvier 2008 15:29:47 :
Modification du zip qui n'avait pas été pris ...

Sources en rapport avec celle ci

  • signaler à un administrateur
    Commentaire de Niamor7 le 11/03/2007 10:07:16

    Ca c'est de la source je vais le testez ^^

  • signaler à un administrateur
    Commentaire de VestaX le 11/03/2007 10:49:07

    j'ai pas encore testé, mais je penses que sous forme de dialog ca aurrais été mieux :)

  • signaler à un administrateur
    Commentaire de KiNdErMaXi le 12/03/2007 22:34:35

    Oh my god

  • signaler à un administrateur
    Commentaire de Tek Hi le 13/03/2007 05:07:01

    Super ton Addon, très rapide, simple, et très utile.
    Bonne continuation. 10/10

  • signaler à un administrateur
    Commentaire de hunter38 le 09/06/2007 15:13:28

    !génial!
    TOU SIMPLEMENT extraordinaire!!!!!!!!!!
    )._________'   _____
    /  ////_______I|BRAVO>
    )   /(_)       -----
    /__/

  • signaler à un administrateur
    Commentaire de hunter38 le 09/06/2007 15:14:24

    oulha
    dsl pour ces signe ya un léger bug....
    bon bravo pour ton script.

Ajouter un commentaire

Discussions en rapport avec ce code source

Un traducteur utilisant babelfish par lambda_man

traduction par pti_suisse

Pub



Appels d'offres

Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€
creation de marque et ...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS