begin process at 2012 02 10 01:06:24
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

AddOns

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

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


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :AddOns Classé sous :dictionnaire, traduction, synonymes, anagrammes, sigles Niveau :Initié Date de création :10/03/2007 Date de mise à jour :18/01/2009 16:03:00 Vu / téléchargé :87 387 / 436

Auteur : RCA ArKanis

Ecrire un message privé
Site perso
Commentaire sur cette source (9)
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.3
  • 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 -> $carac.chg($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 googleuk url -n $+(www.google.co.uk/search?hl=en&q=,$link.chg($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,</a>) - $ifmatch -33)
  • var %r = $carac.chg($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
  • write -c Dico.txt
  • sockwrite -n $sockname GET $+(www.google.fr/search?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" class=std>))) {
  • 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 $calc($ifmatch +4) -1
  • var %l = $calc($bfind(&a,$calc($ifmatch +4),<) - $ifmatch)
  • bcopy &d 1 &a $calc($ifmatch +4) $calc(%l - 4)
  • if ($bvar(&d,0)) bwrite Dico.txt -1 &d
  • bunset &a
  • bcopy &a 1 &c %l -1
  • if ($bfind(&a,1,<font color=#008000>)) {
  • bunset &e &d
  • bcopy &e 1 &a $calc($ifmatch + 20) $calc($bfind(&a,$calc($ifmatch +20),<) - $ifmatch - 20)
  • bcopy &d 1 &a $calc($bfind(&a,$ifmatch,<) +1) -1
  • bunset &a
  • bcopy &a 1 &d 1 -1
  • write Dico.txt $+(http://,$bvar(&e,1,800).text)
  • }
  • write Dico.txt $crlf
  • }
  • }
  • }
  • 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 {
  • var %r = $regsubex($read(Dico.txt,%t),/(<([^>]+)>)/g,$gettok(¥ $chr(167),$findtok(br /ul,\2,1,32),32)), %r = $regsubex(%r,/(&#([0-9]{2});)/g,$chr(\2))/g,$chr(32))
  • if ($chr(167) 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 (%g == Conseils de recherche) break
  • else echo 2 -t @Dictionnaire * $regsubex(%g,/&#([0-9]+);/g,$chr(\1))
  • inc %i
  • }
  • 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?t=s&q=,$link.chg($sock($sockname).mark)) HTTP/1.0
  • sockwrite -n $sockname Host: $+(www.sigles.net,$str($crlf,2))
  • }
  • on *:sockread:Sigles.*:{
  • var %a
  • sockread %a
  • if ($regex(%a,<dd><a href="([^>]+)">([^<]+)</a>)) write Sigles.txt $regml(2) $regml(1)
  • }
  • on *:sockclose:Sigles.*:{
  • 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), %m2 = $numtok(%r,32)
  • %c * $+(,$gettok(%r,$+(1-,$calc(%m2 - 1)),32),) - $+(www.sigles.net,$gettok(%r,-1,32))
  • if (%t != %m) %c *
  • inc %t
  • }
  • %c *********** Fin %y - Affichage des données en $calc($ticks - %ticks) ms
  • .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 $regsubex($replace($1-,&amp;,&,&lt;,<,&gt;,>,&quot;,",&nbsp;,$chr(32),&copy;,$chr(169),$chr(160),$chr(32),ç,ç,Ã,à,Ã&#168;,è,à&#168;,è,à¹,ù,à©,é,à¢,â,à»,ù),/&#([0-9A-Fx]+);/Ug,$chr($iif($left(\t,1) == x,$base($right(\t,-1),16,10),\t)))
  • ;End Of File
;********************
;Outils linguistiques
;     By ArKanis
;   www.arkanis.eu
;********************
;v 1.3
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 -> $carac.chg($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 googleuk url -n $+(www.google.co.uk/search?hl=en&q=,$link.chg($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,</a>) - $ifmatch -33)
    var %r = $carac.chg($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
  write -c Dico.txt
  sockwrite -n $sockname GET $+(www.google.fr/search?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" class=std>))) {
    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 $calc($ifmatch +4) -1
      var %l = $calc($bfind(&a,$calc($ifmatch +4),<) - $ifmatch)
      bcopy &d 1 &a $calc($ifmatch +4) $calc(%l - 4)
      if ($bvar(&d,0)) bwrite Dico.txt -1 &d
      bunset &a
      bcopy &a 1 &c %l -1

      if ($bfind(&a,1,<font color=#008000>)) {
        bunset &e &d
        bcopy &e 1 &a $calc($ifmatch + 20) $calc($bfind(&a,$calc($ifmatch +20),<) - $ifmatch - 20)
        bcopy &d 1 &a $calc($bfind(&a,$ifmatch,<) +1) -1
        bunset &a
        bcopy &a 1 &d 1 -1
        write Dico.txt $+(http://,$bvar(&e,1,800).text)
      }
      write Dico.txt $crlf
    }
  }
}
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 {
    var %r = $regsubex($read(Dico.txt,%t),/(<([^>]+)>)/g,$gettok(¥ $chr(167),$findtok(br /ul,\2,1,32),32)), %r = $regsubex(%r,/(&#([0-9]{2});)/g,$chr(\2))/g,$chr(32))
    if ($chr(167) 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 (%g == Conseils de recherche) break
      else echo 2 -t @Dictionnaire * $regsubex(%g,/&#([0-9]+);/g,$chr(\1))
      inc %i
    }
    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?t=s&q=,$link.chg($sock($sockname).mark)) HTTP/1.0
  sockwrite -n $sockname Host: $+(www.sigles.net,$str($crlf,2))
}
on *:sockread:Sigles.*:{
  var %a
  sockread %a
  if ($regex(%a,<dd><a href="([^>]+)">([^<]+)</a>)) write Sigles.txt $regml(2) $regml(1)
}
on *:sockclose:Sigles.*:{
  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), %m2 = $numtok(%r,32)
    %c * $+(,$gettok(%r,$+(1-,$calc(%m2 - 1)),32),) - $+(www.sigles.net,$gettok(%r,-1,32))
    if (%t != %m) %c *
    inc %t
  }
  %c *********** Fin %y - Affichage des données en $calc($ticks - %ticks) ms
  .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 $regsubex($replace($1-,&amp;,&,&lt;,<,&gt;,>,&quot;,",&nbsp;,$chr(32),&copy;,$chr(169),$chr(160),$chr(32),ç,ç,Ã,à,Ã&#168;,è,à&#168;,è,à¹,ù,à©,é,à¢,â,à»,ù),/&#([0-9A-Fx]+);/Ug,$chr($iif($left(\t,1) == x,$base($right(\t,-1),16,10),\t)))
;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

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

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 ...
16 janvier 2009 20:16:36 :
Mise à jour des fonctions "dictionnaire" et "sigles"
16 janvier 2009 20:21:05 :
une ligne de trop
18 janvier 2009 16:03:00 :
.

 Sources du même auteur

Source avec Zip EPGUIDES : SORTIES DES SÉRIES
Source avec Zip Source avec une capture BELOTE (MULTIJOUEURS) EN PICWIN
Source avec Zip EDITB - ALIASES FAVORIS DANS L'EDITBOX (SUGGESTION, COMPLETI...
Source avec Zip Source avec une capture METEO, DEPARTEMENTS ET ENSOLEILLEMENT MONDIAL
Source avec Zip Source avec une capture ARKATOOL (MENU INTERACTIF DU STYLE LECTEUR MP3)

 Sources de la même categorie

PACMAN MULTI-JOUEUR EN LIGNE par wims
PROXY&SOCKS SCANNER+LEECHER par independentt
GESTIONNAIRE DE HIGHLIGHT AVANCÉ AVEC IGNORE SALON OU PSEUDO par doob666
AUTOJOIN HTABLE MULTISERVER par doob666
TCL - AJOUT SUPPRESSION DE LOGS par Atok

 Sources en rapport avec celle ci

SALON TRADUCTION par CsDarkman
Source avec Zip Source avec une capture DICTIONNAIRE (SOCKET) par Le_Corse

Commentaires et avis

Commentaire de Niamor7 le 11/03/2007 10:07:16

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

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 :)

Commentaire de KiNdErMaXi le 12/03/2007 22:34:35

Oh my god

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

Commentaire de hunter38 le 09/06/2007 15:13:28

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

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.

Commentaire de LooSe le 16/01/2009 15:54:26

Le dico ne me trouve aucun mot c'est normal ? "/dico chien" par exemple il ne trouve pas de définition ni aucun autre mot d'ailleurs. Sinon a part les sigles RAS joli script

Commentaire de LooSe le 16/01/2009 20:44:25 10/10

Merci pour la mise à jour rapide en plus, encore merci et continue comme ça à bientôt :D

Commentaire de Moitorche le 16/01/2010 17:53:44

Franchement bien joué mais je voudrais le mettre sur mon fun bot , ca serait une idée de source !

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Un traducteur utilisant babelfish [ par lambda_man ] Salut!J'ai un petit probleme avec un script que j'ai fais il ya 6 mois qui ne marche plus maintenant. C'est un traducteur qui utilise une socket (évid traduction [ par pti_suisse ] bonjour je sait que je suis chiant avec toute mes questions en tr&#232;s peu de temps mais voila en fait je voudrait cr&#233;&#233; un language cod&#2 besoin urgent d un dictionnaire au format texte DICO SYNO ANTONYMES COULEURS.... [ par gregroar ] dictionnaire des synonymes, de francais, d autres langes aussi si jamais dictionnaire des antonymes, des couleurs genre : ocre turquoie = [R][G][B] o


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,229 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales