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 !

AUTO CORRECTION


Information sur la source

Catégorie :AddOns Niveau : Débutant Date de création : 16/03/2005 Date de mise à jour : 16/03/2005 20:00:39 Vu : 4 272

Note :
5,86 / 10 - par 7 personnes
5,86 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

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

Description

Cet addon corrige les mots que vous avez spécifié dans une liste. Les mots sont stockés dans un .txt
 

Source

  • alias correction {
  • if ($1 == ADD) {
  • if ($3) {
  • var %ù 1
  • while ($read(correction.txt,%ù)) {
  • if ($gettok($ifmatch,1,32) == $2) { echo -a [3Correction] Le mot $+(",$2,") est déjà dans la liste. | halt }
  • inc %ù
  • }
  • write correction.txt $2-
  • echo -a [3Correction] Le mot $+(",$2,") sera désormais remplacé par $+(",$3-,")
  • }
  • else { echo -a [3Correction] Syntaxe : /correction ADD Mot a remplacer Remplacer par... }
  • }
  • elseif ($1 == DEL) {
  • if ($2 && !$3) {
  • var %o 1
  • while ($read(correction.txt,%o)) {
  • if ($gettok($ifmatch,1,32) == $2) { write $+(-dl,%o) correction.txt | echo -a [4Correction] Le mot $+(",$2,") a été supprimé de la liste. | halt }
  • inc %o
  • }
  • echo -a [4Correction] Le mot $+(",$2,") est introuvable dans la liste.
  • }
  • else { echo -a [4Correction] Syntaxe : /correction DEL Mot }
  • }
  • elseif ($1 == LIST) {
  • if (!$2) {
  • echo -a [12Correction] Liste des mots corrigés...
  • var %^ 1
  • while ($read(correction.txt,%^)) { echo -a [12Correction] Le mot $+(",$gettok($ifmatch,1,32),") est remplacé par $+(",$gettok($ifmatch,2-,32),") | inc %^ }
  • echo -a [12Correction] Fin de la liste des mots corrigés.
  • }
  • else { echo -a [12Correction] Syntaxe : /correction LIST }
  • }
  • elseif ($1 == STATUS) {
  • if ($istok(0.1,$2,46) && !$3) {
  • $iif($2,set,unset) %correction 1
  • echo -a [7Correction] La correction est maintenant $iif($2,activée,désactivée.)
  • }
  • else { echo -a [7Correction] Syntaxe : /correction STATUS 0|1 }
  • }
  • }
  • alias corrige {
  • var %a = $1-, %e = 1
  • while ($gettok(%a,%e,32)) {
  • if ($read(correction.txt,s,$ifmatch)) { var %a = $puttok(%a,$ifmatch,%e,32) }
  • inc %e $iif($numtok($ifmatch,32) > 1,$calc($numtok($ifmatch,32) + 1))
  • }
  • return %a
  • }
  • on *:INPUT:#:{
  • if (%correction && $left($1-,1) !isin /!.) { msg $active $corrige($1-) | halt }
  • }
alias correction {
  if ($1 == ADD) {
    if ($3) {
      var %ù 1
      while ($read(correction.txt,%ù)) {  
        if ($gettok($ifmatch,1,32) == $2) { echo -a [3Correction] Le mot $+(",$2,") est déjà dans la liste. | halt }
        inc %ù
      }
      write correction.txt $2-
      echo -a [3Correction] Le mot $+(",$2,") sera désormais remplacé par $+(",$3-,")
    }
    else { echo -a [3Correction] Syntaxe : /correction ADD Mot a remplacer Remplacer par... }
  }
  elseif ($1 == DEL) {
    if ($2 && !$3) {
      var %o 1
      while ($read(correction.txt,%o)) { 
        if ($gettok($ifmatch,1,32) == $2) { write $+(-dl,%o) correction.txt | echo -a [4Correction] Le mot $+(",$2,") a été supprimé de la liste. | halt }
        inc %o 
      }
      echo -a [4Correction] Le mot $+(",$2,") est introuvable dans la liste.
    }
    else { echo -a [4Correction] Syntaxe : /correction DEL Mot }
  }
  elseif ($1 == LIST) {
    if (!$2) {  
      echo -a [12Correction] Liste des mots corrigés...
      var %^ 1
      while ($read(correction.txt,%^)) { echo -a [12Correction] Le mot $+(",$gettok($ifmatch,1,32),") est remplacé par $+(",$gettok($ifmatch,2-,32),") | inc %^ }
      echo -a [12Correction] Fin de la liste des mots corrigés.
    }
    else { echo -a [12Correction] Syntaxe : /correction LIST }
  }
  elseif ($1 == STATUS) {
    if ($istok(0.1,$2,46) && !$3) {
      $iif($2,set,unset) %correction 1
      echo -a [7Correction] La correction est maintenant $iif($2,activée,désactivée.)
    }
    else { echo -a [7Correction] Syntaxe : /correction STATUS 0|1 }
  }
}
alias corrige {
  var %a = $1-, %e = 1
  while ($gettok(%a,%e,32)) {
    if ($read(correction.txt,s,$ifmatch)) { var %a = $puttok(%a,$ifmatch,%e,32) }
    inc %e $iif($numtok($ifmatch,32) > 1,$calc($numtok($ifmatch,32) + 1))
  }
  return %a
}
on *:INPUT:#:{
  if (%correction && $left($1-,1) !isin /!.) { msg $active $corrige($1-) | halt }
}

Conclusion

- Liste des commandes :

/correction ADD mot_a_remplacer remplacer_par
/correction DEL mot
/correction STATUS 0|1 (pour activer/desactiver l'addon)
/correction LIST

- Utilisation manuelle : $corrige(texte a corriger)

/!\ Si vous avez un autre addon qui utilise un on INPUT (comme une écriture couleurs) ça peut provoquer des bugs, vous n'avez qu'a regrouper les 2 ;)
 

Historique

16 mars 2005 20:00:43 :
 

Commentaires et avis

signaler à un administrateur
Commentaire de fyltum le 16/03/2005 20:02:29

Original, utile et éducatif :(

signaler à un administrateur
Commentaire de fyltum le 16/03/2005 20:05:21

Rien d'autre d'important à dire.
Tu nous refais les classiques ?

signaler à un administrateur
Commentaire de Squallou le 17/03/2005 18:49:53

J'ai vraiment bcp de mal avec les $ifmatch v_v
Dans :
if ($2 && !$3) {
        var %o 1
        while ($read(correction.txt,%o)) {
        if ($gettok($ifmatch,1,32) == $2) { write $+(-dl,%o) correction.txt | echo -a [4Correction] Le mot $+(",$2,") a été supprimé de la liste. | halt }
        inc %o
        }
        echo -a [4Correction] Le mot $+(",$2,") est introuvable dans la liste.
    }

le $ifmatch (seul. Pas le gettok) revoie quoi au juste ? :x

signaler à un administrateur
Commentaire de COOLMAN002 le 17/03/2005 18:58:25

Le $ifmatch renvoi la valeur de $read(correction.txt,%o)

Pourquoi ne pas utiliser un $replace ?

signaler à un administrateur
Commentaire de MaX_62 le 17/03/2005 19:59:00

COOLMAN002 , le $replace j'aime pas trop. Exemple tout bête

je remplace "dc" par "donc"
je dis le mot "dcc" , j'aurai le mot "doncc" :/

Je préfère le $puttok :)

signaler à un administrateur
Commentaire de Camanche le 17/03/2005 21:54:16

Je n'ai pas essayé ton add-on mais corrige-t-il les mots si on écrit en couleur? Moi, j'écrivais en couleur et la correction de mon texte la ligne d'en dessous (sans couler). Alors voila c'est gênant...
Si vous avez une idée http://www.ircfr.com/forum.v2.aspx?ID=360907 :)

signaler à un administrateur
Commentaire de Huitre le 17/03/2005 23:34:26

Source originale, ca  a l air de fonctionner (pas tester), mais une chose me tracasse, la rapidité d execution, un stockage de la base dans une htable n aurait pas ete plus judicieux ?
Car si tu as 10 mots a verifier en une phrase dans une base de 1500 mots, ca te fait 15 000 verifications :s
Au pire utilise le file handling (fopen n' Co).

signaler à un administrateur
Commentaire de wims le 18/03/2005 15:51:36

Ne marche pas chez moi, g remplacé le mot dtc par dans ton cul.
Il me dis bien :
[Correction] Liste des mots corrigés...
[Correction] Le mot "dtc" est remplacé par "dans ton cul"
[Correction] Fin de la liste des mots corrigés.

Mais quand j'ecris, rien, pas de message d'erreur.

signaler à un administrateur
Commentaire de MaX_62 le 18/03/2005 16:35:51

wims -> /correction STATUS 1
Huitre -> bonne idée, je vais y penser :)
Camanche -> C'est possible de corriger un mot en couleur mais pour le réecrire en couleur je sais pas.

Je mets a jour dans la soirée peut-être :)

signaler à un administrateur
Commentaire de MaX_62 le 18/03/2005 21:34:04

Si vous mettez des notes, il me semblerait utile de les justifier.

signaler à un administrateur
Commentaire de Squallou le 18/03/2005 21:44:37

Perso j'ai mis 9/10 parsk jtrouve que c vachement bien foutu. Jcomtais en faire un mais le coup du $ifmatch que je maitrisais pas est vrémen bien. Pas mis 10 parsk vu le commentaire de Huitre apparemment c peut etre optimisable...
enfin en tout cas félicitations jsuis bluffé =)

signaler à un administrateur
Commentaire de fyltum le 19/03/2005 19:16:32

Je ne suis pas trop de cet avis, on voit MaX_62 depuis quelques temps déja et je trouve que cette source est digne d'un nouveau notamment parce qu'ils (moi aussi) ont tendance à faire des trucs "vus et revus"

signaler à un administrateur
Commentaire de Asphere le 12/07/2005 03:50:06

J'adore le principe et je trouve ça vraiment excellent et simple à la fois !

Toutefois, serait-il possible de le bidouiller un peu pour le mettre en boite de dialogue, en "dialog" je crois ;p
Désolé je suis pas très doué.

signaler à un administrateur
Commentaire de Scorpion60 le 11/09/2005 15:46:11

J'ai mis 8/10 parce que comme la dit Asphere je pense qu'un dialog aurait etai neccesaire.
Beau travail.

signaler à un administrateur
Commentaire de DetaX le 08/02/2006 14:02:00

c'est cool mais il marche pas en pv chez moi :D

signaler à un administrateur
Commentaire de Wallom le 06/02/2007 23:09:15

Salut cela fonctionne très bien, mais moi non plus cela ne fonctionne pas en pv...je ne sais pas trop comment corriger cela... Quelqu'un pourrait m'aider ? en regardant le code  ?
J'ai encore du chemin à faire pour faire ca seul Dsl...

signaler à un administrateur
Commentaire de MisslOdiedu56 le 05/11/2007 18:21:02

alors.. malgres l'ancienneté de la source... j'ai pu testé ce correcteur d'ortographe.. au premier abord il était parfait du moins c ce ke je croyait juska ce que celà me fasse un effet perroquet... jvous laisse constaté:

[7Correction] La correction est maintenant activée
[18:09:25] <@misslOdiedu56> dc
[18:09:25] <@misslOdiedu56> donc
[18:09:29] <@misslOdiedu56> ah
[18:09:29] <@misslOdiedu56> ah
[18:09:31] <@misslOdiedu56> oO
[18:09:31] <@misslOdiedu56> oO

voilà -_-" maintenant j'aimeraiis bien avoir une explication ou es le probleme dans la remote!
et un avis personnel, t'aurai pu le faire en dialog!
sinon sa marchait bien:/

signaler à un administrateur
Commentaire de Camanche le 06/11/2007 22:38:12

Tu as deux inputs dans ton script.

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 1,170 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.