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


Exportation html + Classement des infos.
#1
Bonjour,

J'ai en ma possession un script TCL qui permet d'enregistrer le nombre de kicks et de bans d'une personne dans une database.
L'eggdrop récupère ces informations grâce à la commande "!info $nick''
Maintenant, j'aimerai que cet eggdrop génère une page html avec les informations de la database sous forme de classement. "L'unité" serais en points. Sachant qu'un kick vaut 1 point et un ban en vaut 2. Il faudrait que l'eggdrop établisse un classement, avec la place, le nombre de kick, le nombre de bans et le total des points.
Et en plus, j'aimerai que sur la page apparaisse la dernière actualisation de ce classement.
En pièce jointe, il y a le script tcl et une database de test dans une archive.

Merci de votre future aide.
SundayEveniing
#2
salut,
dans la tcllib y a un package qui s appel html et qui permet de coder simplement ce que tu veux faire
C'est en reconnaissant ses erreurs que l'on progresse ;)
Away
#3
@djkenny: je pense que le souci de SUndayEveniing est plutôt la récupération des points et la création du classement.
Je n'ai pas encore regardé sa source, mais j'imagine qu'il va falloir créer un bubble-sort pour trier les utilisateurs en fonction de leur score.
Ceci existe peut-être déjà dans quizz.tcl d'ailleurs.
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
#4
Bon, alors en cherchant un peu, j'ai trouvé des fonctions de bubble sort:

tcl
proc bubble_sort {a} {
   if {[llength $a] >= 2} {
     for {set i [expr [llength $a]-1]} {$i > 0} {incr i -1} {
       set has_swapped "FALSE"
       for {set j 0} {$j < $i} {incr j} {
         if {[lindex $a $j] > [lindex $a [expr $j + 1]]} {
           set temp [lindex $a $j]
           set a [lreplace $a $j $j [lindex $a [expr $j + 1]]]
           set a [lreplace $a [expr $j + 1] [expr $j + 1] $temp]
           set has_swapped "TRUE"
         }
       }
       if {$has_swapped == "FALSE"} {
         break
       }
     }
   }
   return $a
 }


tcl
package require Tcl 8.5
package require struct::list
 
proc bubblesort {A} {
    set len [llength $A]
    set swapped true
    while {$swapped} {
        set swapped false
        for {set i 0} {$i < $len - 1} {incr i} {
            set j [expr {$i + 1}]
            if {[lindex $A $i] > [lindex $A $j]} {
                struct::list swap A $i $j
                set swapped true
            }
        }
        incr len -1
    }
    return $A
}
 
puts [bubblesort {8 6 4 2 1 3 5 7 9}] ;# => 1 2 3 4 5 6 7 8 9

Ca ne va peut-être pas aider, je vais chercher s'il y a des fonctions plus utiles pour le cas de notre demandeur
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
#5
lsort ?


Code:
% set list [list "pseudo1 10 50" "pseudo2 2 25" "pseudo3 9 1" "pseudo4 1 22"]
{pseudo1 10 50} {pseudo2 2 25} {pseudo3 9 1} {pseudo4 1 22}
% lsort -dict -index 0 $list
{pseudo1 10 50} {pseudo2 2 25} {pseudo3 9 1} {pseudo4 1 22}
% lsort -real -index 1 $list
{pseudo4 1 22} {pseudo2 2 25} {pseudo3 9 1} {pseudo1 10 50}
% lsort -real -index 2 $list
{pseudo3 9 1} {pseudo4 1 22} {pseudo2 2 25} {pseudo1 10 50}
% lsort -real -index 2 -decreasing $list
{pseudo1 10 50} {pseudo2 2 25} {pseudo4 1 22} {pseudo3 9 1}
C'est en reconnaissant ses erreurs que l'on progresse ;)
Away
#6
En regardant dans le trivia.tcl, il pourra trouver son bonheur.


Possibly Related Threads…
Thread Author Replies Views Last Post
  [Demande] msg d'infos entre 2 bots Maxwell 2 2,852 09/10/2017, 14:15
Last Post: Maxwell
  [Demande] Récupérer certaines infos dans fichier .user Hitsu 5 5,030 30/07/2013, 17:13
Last Post: CrazyCat
  [Recherche] TCL pour récupérer des infos sur un site Maxwell 14 8,626 04/05/2013, 10:50
Last Post: Maxwell
  recuperer les infos d'une page web loulou7593 0 3,590 23/12/2011, 00:20
Last Post: loulou7593

Forum Jump:


Users browsing this thread: 1 Guest(s)