Log ds un txt et eviter les doublons [Résolu]

Messages postés
8
Date d'inscription
samedi 27 mars 2004
Statut
Membre
Dernière intervention
19 novembre 2008
- - Dernière réponse : RCA ArKanis
Messages postés
1287
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
21 février 2009
- 27 oct. 2006 à 17:56
voila je suis debutant ds le scripting
j ai un bot qui envoie des info du genre :     pouet prout hex:12564875

pour recuperer $2 et le copier ds un txt j ai codé cela :

on *:text:*:#MonChan:{
  if ((Info isin $nick) && (hex isin $3)) {
    write montxt.txt $2
  }

seulement je voudrais eviter les doublons et verifier si $2 n est pas deja ds le txt , pour cela j ai vu un tuto sur la cmd $read et j ai codé ceci mais sans succes j ai du faire un erreur :

on *:text:*:#MonChan:{
  if ((Info isin $nick) && (hex isin $3)) {
  var %info $2
  var %bla 0, %blabla $lines(montxt.txt)
    if (%blabla > %bla)
  var %infotxt $read(montxt.txt,%bla)
  { inc %bla 1 | if (%info == %infotxt) goto fin else write montxt.txt $2 }
  }
 }
:fin

voila sauf que le deuxieme code il add plus rien du tout ds mon txt,

je tiens a dire que je uis novice et que je galere bcp je ne demande pas un code tout fait mais peut etre un exemple m aiderait bcp merci a vous
Afficher la suite 

9 réponses

Meilleure réponse
Messages postés
1287
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
21 février 2009
3
Merci
tu remarqueras qu'il manque une ) à la fin du if
tu n'as aucune erreur qui s'affiche pour signaler ce problème ?

on *:text:*:#MonChan:if ((Info isin $nick) && (hex isin $3) && (!$read(montxt.txt,w,$+(*,$2,*)))) write montxt.txt $2

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 133 internautes nous ont dit merci ce mois-ci

Commenter la réponse de RCA ArKanis
Messages postés
2473
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
0
Merci
on *:text:*:#MonChan:if ((Info isin $nick) && (hex isin $3) && (!$read(montxt.txt,w;$+(*,$2,*))) write montxt.txt $2
Commenter la réponse de cs_wims
Messages postés
8
Date d'inscription
samedi 27 mars 2004
Statut
Membre
Dernière intervention
19 novembre 2008
0
Merci
merci pour ta reponse wims mais ce script la n add rien ds montxt.txt qu il soit vide ou avec des mots deja j ai testé les deux au cas zou..
Commenter la réponse de lecodebarre
Messages postés
19
Date d'inscription
vendredi 21 février 2003
Statut
Membre
Dernière intervention
10 janvier 2007
0
Merci
Coucou,
J'ai testé ta solution wims, mais tout comme lecodebarre çà ne fait rien chez moi.
Par contre je ne pourrais pas dire ou est le pb, s'il y'a pb.
En revanche lecodebarre, tu peux tester çà:

on *:text:*:#MonChan:{   if ((Info isin $nick) && (hex isin $3) && (!$read -w $2 montxt.txt)) {  write montxt.txt $2  } }

CkemouA[:D]
Commenter la réponse de ckemoua
Messages postés
8
Date d'inscription
samedi 27 mars 2004
Statut
Membre
Dernière intervention
19 novembre 2008
0
Merci
merci de ta reponse ckemoua mais si tu as test ton script tu verras aussi que ça ne fonctionne pas non plus.

quel galere : P

Merci en tout cas a tout ceux qui essayeront de trouver une soluce a mon probleme ...
Commenter la réponse de lecodebarre
Messages postés
1287
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
21 février 2009
0
Merci
par rapport au code de wims, il a mis un point virgule au lieu de mettre une virgule ^^

on *:text:*:#MonChan:if ((Info isin $nick) && (hex isin $3) && (!$read(montxt.txt,w,$+(*,$2,*))) write montxt.txt $2
Commenter la réponse de RCA ArKanis
Messages postés
2473
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
0
Merci
ah ouais j'me disais aussi
Commenter la réponse de cs_wims
Messages postés
1804
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
22 septembre 2009
1
0
Merci
Pour trier et/ou purger des doublons, y'a un moyen très élégant aussi, c'est de se servir des @win :
- trier: @win sorted et on loadbuf ou on /aline
- purger les doublons: @win et on /aline -n (de mémoire, vérifier dans l'/help)

PaDa
Commenter la réponse de cs_PaDa
Messages postés
8
Date d'inscription
samedi 27 mars 2004
Statut
Membre
Dernière intervention
19 novembre 2008
0
Merci
Merci a tous de vous pnchez sur mon "petit souci" : apres mes test

on *:text:*:#MonChan:if ((Info isin $nick) && (hex isin $3) && (!$read(montxt.txt,w,$+(*,$2,*))) write montxt.txt $2

ne fonctionne toujours pas et n ecris rien ds montxt.txt d ailleurs pour tester j ai fais :

on *:text:*:#MonChan:if ((Info isin $nick) && (hex isin $3) && (!$read(montxt.txt,w,$+(*,$2,*))) echo -a $2

et ça n echo rien du tout, je commence a desperer ^^

Merci en tout cas pour votre aide precieuse.
Commenter la réponse de lecodebarre