Mise en forme de code: pensez à utiliser les balises [ tcl ] et [ /tcl ] (sans les espaces bien sûr) autour de vos codes tcl afin d'avoir un meilleur rendu et une coloration syntaxique. x


Lecture fichier (ou bdd)
#1
Bonsoir,
Je n'arrive pas du tout à concevoir un systeme de lecture de fichier (ou bdd) afin qu'il me notice les utilisateurs entrant dans un salon avec un message prédefini

Dans un fichier.txt j'enregistre les données sous la forme "pseudo message" :

Code:
Heretoc Bonjour bienvenue
Gloups Pouet
Donc à partir de la il suffirais que l'eggdrop lise le premier mot de chaque ligne pour trouver le pseudonyme et à partir du second pour savoir quoi dire ... mais à partir de la je ne voit vraiment pas comment faire.

Merci aux futurs explications
#2
salut,

pourquoi veux tu lire le fichier à chaque foi? il suffi de le lire au chargement de l eggdrop et de placer son contenue dans une variable.
exemple:

tcl
#au chargement du tcl on lit le fichier en question si il existe, sinon on le crée
set lefichier /home/machin/truc/tonfichier.txt
if [file exists $lefichier] {
    set a [open $lefichier r]
    variable tavar [split [read $a] \n]
    close $a
} else {
    variable tavar [list]
    set a [open $lefichier w]
    close $a
}
 
#au join on va chercher dans la variable contenant le fichier, si un pseudo correspond et on envoi une notice avec le reste de la ligne
bind join - * join:bonjour
proc join:bonjour {nick host hand chan} {
    variable tavar
    foreach a $tavar {
        if [string equal -nocase [lindex $a 0] $nick] {
            putserv "NOTICE $nick :[lrange $a 1 end]"
            break
        }
    }
}

C'est en reconnaissant ses erreurs que l'on progresse ;)
Away
#3
Daccord et merci djkenny,
Je regarde ce soir ce que tu m'a donner.
#4
Salut,

lors de ton post djkenny ont peut voir : \n]

cela étant un bug du site cela correcpond à quoi exactement ?
Me semble que c'est du au bugs de certains caratères mais lequel..
#5
ton post répond a la question

@heretoc (désolé mais je ne répond pas au pv d habitude!)
Quote:Bonjour,
Excuse moi de te deranger mais y'a une ligne que je comprend pas (enfin la fin de la ligne)

la voici :
variable tavar [split [read $a] \n]

Le "\n]" correspond à quoi ?

Merci d'avance

le \n correspond au caractère de retour a la ligne
C'est en reconnaissant ses erreurs que l'on progresse ;)
Away
#6
Ah mais enfaite djkenny je voyer pas sa de la sorte sur mon ecran je lisait " & #92 ;n " chose qui n'a legerement rien n'avoir lol


Possibly Related Threads…
Thread Author Replies Views Last Post
  [Résolu] Erreur lors de la lecture d'un fichier heretoc 3 5,181 25/12/2012, 23:12
Last Post: CrazyCat
  [Resolu] Ajout de couleur durant une lecture de fichier heretoc 0 3,512 16/12/2012, 02:10
Last Post: heretoc
  Erreur lecture fichier.db heretoc 6 4,787 10/07/2010, 03:01
Last Post: heretoc

Forum Jump:


Users browsing this thread: 1 Guest(s)