Communauté sur les Eggdrops - Community about Eggdrops
Lecture fichier (ou bdd) - Printable Version

+- Communauté sur les Eggdrops - Community about Eggdrops (https://forum.eggdrop.fr)
+-- Forum: Eggdrop et TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=8)
+--- Forum: Scripts TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=4)
+--- Thread: Lecture fichier (ou bdd) (/showthread.php?tid=973)



Lecture fichier (ou bdd) - heretoc - 14/06/2011

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


RE: Lecture fichier (ou bdd) - djkenny - 15/06/2011

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
        }
    }
}




RE: Lecture fichier (ou bdd) - heretoc - 15/06/2011

Daccord et merci djkenny,
Je regarde ce soir ce que tu m'a donner.


RE: Lecture fichier (ou bdd) - aliasangelius - 15/06/2011

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..


RE: Lecture fichier (ou bdd) - djkenny - 15/06/2011

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


RE: Lecture fichier (ou bdd) - heretoc - 15/06/2011

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