Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

SOCKETS DES JEUX OLYMPIQUES (2004 - ATHÈNES) : CLASSEMENT DES MÉDAILLES PAR PAYS


Information sur la source

Catégorie :Divers Niveau : Initié Date de création : 18/08/2004 Date de mise à jour : 18/08/2004 18:04:37 Vu : 4 343

Note :
Aucune note

Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

Description

Ce code permet d'avoir le classement de tous les pays ayant des médailles aux JO, avec leur rang par total, par nombre de médailles d'or, ...

Page scannée : http://www.athens2004.com/fr/OlympicMedals/medals

Commandes : /jo (pour actualiser le classement), et l'afficher en écho. Pour arrêter l'affichage, il faut retapper /jo
Le classement est sauvegardé dans un .txt (jo.txt), dans le dossier mIRC.
/jo "abréviation du pays" (celle qui est a la fin de l'url). Exemple : /jo FRA, pour afficher le score des français :)
/jo "place" (pour afficher tous les pays à cette place). Exemple : /jo 9 vous donnera au moment ou j'écris ce code, les score de la grèce, de la roumanie, et de la turquie.

Un exemple : (pris totalement au hazard :) )
[ Place : 6e :: Pays : France :: Médailles : Or : 3 - Argent : 2 - Bronze : 4 - Total : 9 :: Rang par total  : 6 :: Lien : www.athens2004.com/fr/OlympicMedals/medals?noc=FRA (By ArKanis) ]
 

Source

  • alias jo {
  • if ($1) {
  • if (!$read(jo.txt,1)) { echo -a 2 $+ $asctime([HH:nn:ss]) 12,1[ 0Le fichier JO.txt n'existe pas. Tapez /jo pour le créer. 12] | return }
  • if ($1 !isnum) {
  • var %t = 1
  • var %c = $1
  • var %n = -0.9
  • echo -a 2 $+ $asctime([HH:nn:ss]) 12,1[ 0Sockets des Jeux Olympiques (www.Athens2004.com) 12::0 Script by ArKanis 12]
  • while $read(jo.txt,%t) {
  • tokenize 32 $read(jo.txt,%t)
  • if ($2 == %c) { inc %n 3 | jo.say %t %n say }
  • inc %t
  • }
  • }
  • if ($1 isnum) {
  • var %t = 1
  • var %c = $1
  • var %n = -0.9
  • echo -a 2 $+ $asctime([HH:nn:ss]) 12,1[ 0Sockets des Jeux Olympiques (www.Athens2004.com) 12::0 Script by ArKanis 12]
  • while $read(jo.txt,%t) {
  • tokenize 32 $read(jo.txt,%t)
  • if ($remove($1,=) == %c) { inc %n 3 | jo.say %t %n say }
  • inc %t
  • }
  • }
  • return
  • }
  • if ($timer(jo.40)) { .timerjo.* off | echo -a 2 $+ $asctime([HH:nn:ss]) 12,1[ 0Classement arrêté 12] | return }
  • sockclose jo | write -c jo.txt | sockopen jo www.athens2004.com 80
  • }
  • on *:sockopen:jo:{
  • sockwrite -nt $sockname GET http://www.athens2004.com/fr/OlympicMedals/medals HTTP/1.0
  • sockwrite -nt $sockname $crlf
  • }
  • on *:sockread:jo:{
  • sockread %a
  • if ((<td align="center"> isin %a) && (</td><td align="left"><img src="/images/results/ isin %a)) {
  • var %b = $remove(%a,<td,/td>,<td,align="left">,<img src="/images/results/,.gif",alt="">&nbsp;<a,title=",</a>," href=")
  • var %b = $remove($replace(%b,< align="center">,$chr(165),$+(<,$chr(32)),$chr(32)),align="center">)
  • var %b = $replace(%b,&egrave;,è,&eacute;,é,&ocirc;,ô,&ucirc;t,û,&agrave;,à,&ugrave;,ù,&ccedil;,ç,&iuml;,ï,USA_big,USA)
  • write jo.txt $left(%b,-1)
  • }
  • }
  • on *:sockclose:jo:{
  • if (!$read(jo.txt,1)) { return }
  • var %t = 1
  • var %n = 0
  • echo -a 2 $+ $asctime([HH:nn:ss]) 12,1[ 0Sockets des Jeux Olympiques (www.Athens2004.com) 12::0 Script by ArKanis 12]
  • while (%t <= $lines(jo.txt)) {
  • jo.say %t %n echo
  • inc %n
  • inc %t
  • }
  • }
  • alias jo.say {
  • if (!$1) { return }
  • var %n = 0
  • if ($2) { var %n = $2 }
  • var %m = $3-
  • if ($3 == echo) { var %m = echo -a }
  • var %h = 0
  • tokenize 32 $read(jo.txt,$1)
  • var %p = $1
  • ;cette partie a été réalisée car il y a des pays qui sont composés de plusieurs mots
  • :pays
  • if ((/fr/ !isin $ [ $+ [ $calc(3 + %h) ] ]) && (%h < $0)) { inc %h | goto pays }
  • var %e = $+($calc($0 -%h),-)
  • var %e = $ [ $+ [ %e ] ]
  • var %a = $replace($ [ $+ [ $calc(3 + %h) ] ],/fr/,$chr(165),">,$chr(165))
  • tokenize 165 %a
  • var %l = $+(www.athens2004.com/fr/,$2)
  • tokenize 165 %e
  • var %e = $1
  • var %m1 = $2
  • var %m2 = $3
  • var %m3 = $4
  • var %s = $5
  • var %r = $6
  • .timerjo. $+ %n 1 %n %m 12,1[ 14P15lace0 : $+(%p,e) 12::14 P15ays0 : %e 12::14 M15édailles0 :8 Or : %m1 12- 15Argent : %m2 12- 7Bronze : %m3 12-15 Total0 : %s 12::14 R15ang par total 0 : %r 12::14 Lien0 : %l (By ArKanis) 12]
  • }
alias jo {
  if ($1) {
    if (!$read(jo.txt,1)) { echo -a 2 $+ $asctime([HH:nn:ss]) 12,1[ 0Le fichier JO.txt n'existe pas. Tapez /jo pour le créer. 12] | return }
    if ($1 !isnum) {
      var %t = 1
      var %c = $1
      var %n = -0.9
echo -a 2 $+ $asctime([HH:nn:ss]) 12,1[ 0Sockets des Jeux Olympiques (www.Athens2004.com) 12::0 Script by ArKanis 12]
      while $read(jo.txt,%t) {
        tokenize 32 $read(jo.txt,%t)
        if ($2 == %c) { inc %n 3 | jo.say %t %n say }
        inc %t
      }
    }
    if ($1 isnum) {
      var %t = 1
      var %c = $1
      var %n = -0.9
echo -a 2 $+ $asctime([HH:nn:ss]) 12,1[ 0Sockets des Jeux Olympiques (www.Athens2004.com) 12::0 Script by ArKanis 12]
      while $read(jo.txt,%t) {
        tokenize 32 $read(jo.txt,%t)
        if ($remove($1,=) == %c) { inc %n 3 | jo.say %t %n say }
        inc %t
      }
    }
    return
  }
  if ($timer(jo.40)) { .timerjo.* off | echo -a 2 $+ $asctime([HH:nn:ss]) 12,1[ 0Classement arrêté 12] | return }
  sockclose jo | write -c jo.txt | sockopen jo www.athens2004.com 80
}

on *:sockopen:jo:{
  sockwrite -nt $sockname GET http://www.athens2004.com/fr/OlympicMedals/medals HTTP/1.0
  sockwrite -nt $sockname $crlf
}

on *:sockread:jo:{
  sockread %a
  if ((<td align="center"> isin %a) && (</td><td align="left"><img src="/images/results/ isin %a)) {
    var %b = $remove(%a,<td,/td>,<td,align="left">,<img src="/images/results/,.gif",alt="">&nbsp;<a,title=",</a>," href=")
    var %b = $remove($replace(%b,< align="center">,$chr(165),$+(<,$chr(32)),$chr(32)),align="center">)
    var %b = $replace(%b,&egrave;,è,&eacute;,é,&ocirc;,ô,&ucirc;t,û,&agrave;,à,&ugrave;,ù,&ccedil;,ç,&iuml;,ï,USA_big,USA)
    write jo.txt $left(%b,-1)
  }
}

on *:sockclose:jo:{
  if (!$read(jo.txt,1)) { return }
  var %t = 1
  var %n = 0
echo -a 2 $+ $asctime([HH:nn:ss]) 12,1[ 0Sockets des Jeux Olympiques (www.Athens2004.com) 12::0 Script by ArKanis 12]
  while (%t <= $lines(jo.txt)) {
    jo.say %t %n echo
    inc %n
    inc %t
  }
}

alias jo.say {
  if (!$1) { return }
  var %n = 0
  if ($2) { var %n = $2 }
  var %m = $3-
  if ($3 == echo) { var %m = echo -a }
  var %h = 0
  tokenize 32 $read(jo.txt,$1)
  var %p = $1
;cette partie a été réalisée car il y a des pays qui sont composés de plusieurs mots
  :pays
  if ((/fr/ !isin $ [ $+ [ $calc(3 + %h) ] ]) && (%h < $0)) { inc %h | goto pays }
  var %e = $+($calc($0 -%h),-)
  var %e = $ [ $+ [ %e ] ]
  var %a = $replace($ [ $+ [ $calc(3 + %h) ] ],/fr/,$chr(165),">,$chr(165))
  tokenize 165 %a
  var %l = $+(www.athens2004.com/fr/,$2)
  tokenize 165 %e
  var %e = $1
  var %m1 = $2
  var %m2 = $3
  var %m3 = $4
  var %s = $5
  var %r = $6
  .timerjo. $+ %n 1 %n %m 12,1[ 14P15lace0 : $+(%p,e) 12::14 P15ays0 : %e 12::14 M15édailles0 :8 Or : %m1 12- 15Argent : %m2 12- 7Bronze : %m3 12-15 Total0 : %s 12::14 R15ang par total 0 : %r 12::14 Lien0 : %l (By ArKanis) 12]
}

Conclusion

Si vous avez un problème avec ce script, merci de mettre des commentaires :)

Cette socket ne marchera que le temps des jeux olympiques, très probablement :), c'est à dire jusqu'au 28 aout je crois ...
 

Historique

18 août 2004 17:41:24 :
un "!" qui manquait :)
18 août 2004 18:04:38 :
var %a = $replace($ [ $+ [ $calc(3 + %h) ] ],/fr/,$chr(165),">,$chr(165)) le $+( ne marchait pas ^^

Commentaires et avis

signaler à un administrateur
Commentaire de ReMi34 le 18/08/2004 18:52:18

Bon pour 15 jours :/

signaler à un administrateur
Commentaire de Kerrigan le 18/08/2004 19:15:16

pas mal !

signaler à un administrateur
Commentaire de SornDrixer le 18/08/2004 19:31:50 administrateur CS

Bon boulot, mais je n'aime pas trop la présentation, ca fais 'bordélique' de donner le nombre de chaque type de médaille sur la même ligne.

signaler à un administrateur
Commentaire de RCA ArKanis le 18/08/2004 19:33:56

tu peux modifier le code, et mettre uniquement les couleurs, peut-être ca serait plus clair c'est vrai :)

mais aussi, j'ai pas non plus envie de faire une superbe boite de dialogue pour à peine 2 semaines ... :)

signaler à un administrateur
Commentaire de Kerrigan le 19/08/2004 01:05:59

ptdrrrrr

signaler à un administrateur
Commentaire de pyrrah le 06/07/2005 17:08:23

C possible d'adapter pour les JO qui arrivent ?

signaler à un administrateur
Commentaire de RCA ArKanis le 06/07/2005 19:48:35

on a encore le temps pour ça, mais si tu veux je le referai
ça sera en 2006, et le temps que leur site soit en ligne ...

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 6,318 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.