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
Répondre
#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 Wink
Répondre Avertir
#3
Daccord et merci djkenny,
Je regarde ce soir ce que tu m'a donner.
Répondre
#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..
Répondre Avertir
#5
ton post répond a la question

@heretoc (désolé mais je ne répond pas au pv d habitude!)
Citation :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 Wink
Répondre Avertir
#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
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté