Soyez le premier à donner votre avis sur cette source.
Vue 92 154 fois - Téléchargée 555 fois
;******************** ;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, ,$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, ,$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, ) { 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),•)) 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-,&,&,<,<,>,>,",", ,$chr(32),©,$chr(169),$chr(160),$chr(32),ç,ç,Ã,à,è,è,à¨,è,à¹,ù,à©,é,à¢,â,à»,ù),/&#([0-9A-Fx]+);/Ug,$chr($iif($left(\t,1) == x,$base($right(\t,-1),16,10),\t))) ;End Of File
11 mars 2007 à 10:07
11 mars 2007 à 10:49
12 mars 2007 à 22:34
13 mars 2007 à 05:07
Bonne continuation. 10/10
16 janv. 2009 à 20:44
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.