begin process at 2010 03 15 09:35:49
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

AddOns

 > MODULE POUR LES SERVEURS FAVORITS

MODULE POUR LES SERVEURS FAVORITS


 Information sur la source

Note :
Aucune note
Catégorie :AddOns Niveau :Initié Date de création :29/01/2004 Vu / téléchargé :1 663 / 38

Auteur : babass

Ecrire un message privé
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 Description

Tout d'abord merci à SornDrixer pour l'aide.
Ce module s'inspire du menu "connection" de mIRC. Il aura pe l'avantage d'être en francais et de ne s'occuper que des serveurs.
Je l'ai fait pcq moi ca m'interessait mais si ca peut aider qqun tant mieux.

Ce sera la premiere "vrai" source que je posterais, les precedentes n'etant que des traductions d'evenements.

Source

  • dialog GServ1 {
  • title "Gestion des serveurs"
  • size -1 -1 195 150
  • option dbu
  • list 1, 5 20 85 120, size
  • text "Liste des serveurs", 2, 7 7 85 10
  • button "Joindre", 3, 100 20 90 12, ok
  • button "Ajouter", 4, 100 40 90 12
  • button "Editer", 5, 100 60 90 12
  • button "Supprimer", 6, 100 80 90 12
  • box "Mode de connection", 7, 100 100 90 40
  • radio "Dans la fenêtre active", 8, 112 110 69 10
  • radio "Dans une autre fenêtre", 9, 112 125 69 10
  • }
  • dialog GServ2 {
  • title "Ajout d'un serveur"
  • size -1 -1 120 106
  • option dbu
  • text "Nom du serveur", 1, 12 5 80 8
  • edit "", 2, 10 15 100 12, autohs
  • text "Adresse du serveur", 3, 12 30 80 8
  • edit "", 4, 10 40 100 12, autohs
  • text "Port du serveur", 5, 12 55 80 8
  • edit "", 6, 10 65 100 12, autohs
  • button "Ajouter", 7, 10 85 45 12, ok
  • button "Annuler", 8, 65 85 45 12, cancel
  • }
  • dialog GServ3 {
  • title "Edition du serveur"
  • size -1 -1 120 106
  • option dbu
  • text "Nom du serveur", 1, 12 5 80 8
  • edit "", 2, 10 15 100 12, autohs
  • text "Adresse du serveur", 3, 12 30 80 8
  • edit "", 4, 10 40 100 12, autohs
  • text "Port du serveur", 5, 12 55 80 8
  • edit "", 6, 10 65 100 12, autohs
  • button "Editer", 7, 10 85 45 12, ok
  • button "Annuler", 8, 65 85 45 12, cancel
  • }
  • dialog GServ4 {
  • title "Supprimer un serveur"
  • size -1 -1 130 46
  • option dbu
  • text "Etes-vous sûr de vouloir effacer ce serveur ?", 1, 10 10 109 10
  • button "Confirmer", 2, 10 25 45 12, ok
  • button "Anuller", 3, 72 25 45 12, cancel
  • }
  • dialog GServError {
  • title "Erreur"
  • size -1 -1 200 70
  • text "Tous les champs doivent être remplis", 1, 10 15 180 15
  • button "Ok", 2, 65 40 70 20, cancel
  • }
  • on *:dialog:GServ1:*:*: {
  • if ($devent == init) {
  • if ($exists(GServ.ini)) {
  • var %GServ.nbr 1
  • while (%GServ.nbr <= $ini(GServ.ini,Descript,0)) {
  • did -a GServ1 1 $ini(GServ.ini,Descript,%GServ.nbr)
  • inc %GServ.nbr
  • }
  • }
  • did -b GServ1 3,5,6
  • did -c GServ1 8
  • }
  • elseif ($devent == sclick) {
  • if ($did == 1) { did -e GServ1 3,5,6 | set %GServ.sel $did(GServ1,1).seltext }
  • if ($did == 3) {
  • if ($did(8).state == 1) { server $readini(GServ.ini,Addr,%GServ.sel) $readini(GServ.ini,Port,%GServ.sel) }
  • elseif ($did(9).state == 1) { server -m $readini(GServ.ini,Addr,%GServ.sel) $readini(GServ.ini,Port,%GServ.sel) }
  • }
  • if ($did == 4) { dialog -m GServ2 GServ2 }
  • if ($did == 5) { dialog -m GServ3 GServ3 }
  • if ($did == 6) { dialog -m GServ4 GServ4 }
  • }
  • }
  • on *:dialog:GServ2:*:*: {
  • if ($devent == init ) {
  • did -a GServ2 6 6667
  • }
  • elseif ($devent == sclick) {
  • if ($did == 7) {
  • if (!$did(2)) || (!$did(4)) || (!$did(6)) {
  • dialog -m GServError GServError
  • }
  • else {
  • writeini -n GServ.ini Descript $did(2) $did(2)
  • writeini -n GServ.ini Addr $did(2) $did(4)
  • writeini -n GServ.ini Port $did(2) $did(6)
  • did -a GServ1 1 $did(GServ2,2)
  • }
  • }
  • }
  • }
  • on *:dialog:GServ3:*:*: {
  • if ($devent == init) {
  • if (%GServ.sel) {
  • did -a GServ3 2 $readini(GServ.ini,Descript,%GServ.sel)
  • did -a GServ3 4 $readini(GServ.ini,Addr,%GServ.sel)
  • did -a GServ3 6 $readini(GServ.ini,Port,%GServ.sel)
  • }
  • }
  • elseif ($devent == sclick) {
  • if ($did == 7) {
  • if (!$did(2)) || (!$did(4)) || (!$did(6)) {
  • dialog -m GServError GServError
  • }
  • else {
  • writeini -n GServ.ini Descript $did(2) $did(2)
  • writeini -n GServ.ini Addr $did(2) $did(4)
  • writeini -n GServ.ini Port $did(2) $did(6)
  • }
  • }
  • }
  • }
  • on *:dialog:GServ4:sclick:2: {
  • remini GServ.ini Descript %GServ.sel
  • remini GServ.ini Addr %GServ.sel
  • remini GServ.ini Port %GServ.sel
  • did -r Gserv1 1
  • var %GServ.nbr 1
  • while (%GServ.nbr <= $ini(GServ.ini,Descript,0)) {
  • did -a GServ1 1 $ini(GServ.ini,Descript,%GServ.nbr)
  • inc %GServ.nbr
  • }
  • }
dialog GServ1 {
  title "Gestion des serveurs"
  size -1 -1 195 150
  option dbu
  list 1, 5 20 85 120, size
  text "Liste des serveurs", 2, 7 7 85 10
  button "Joindre", 3, 100 20 90 12, ok
  button "Ajouter", 4, 100 40 90 12
  button "Editer", 5, 100 60 90 12
  button "Supprimer", 6, 100 80 90 12
  box "Mode de connection", 7, 100 100 90 40
  radio "Dans la fenêtre active", 8, 112 110 69 10
  radio "Dans une autre fenêtre", 9, 112 125 69 10
}

dialog GServ2 {
  title "Ajout d'un serveur"
  size -1 -1 120 106
  option dbu
  text "Nom du serveur", 1, 12 5 80 8
  edit "", 2, 10 15 100 12, autohs
  text "Adresse du serveur", 3, 12 30 80 8
  edit "", 4, 10 40 100 12, autohs
  text "Port du serveur", 5, 12 55 80 8
  edit "", 6, 10 65 100 12, autohs
  button "Ajouter", 7, 10 85 45 12, ok
  button "Annuler", 8, 65 85 45 12, cancel
}

dialog GServ3 {
  title "Edition du serveur"
  size -1 -1 120 106
  option dbu
  text "Nom du serveur", 1, 12 5 80 8
  edit "", 2, 10 15 100 12, autohs
  text "Adresse du serveur", 3, 12 30 80 8
  edit "", 4, 10 40 100 12, autohs
  text "Port du serveur", 5, 12 55 80 8
  edit "", 6, 10 65 100 12, autohs
  button "Editer", 7, 10 85 45 12, ok
  button "Annuler", 8, 65 85 45 12, cancel
}

dialog GServ4 {
  title "Supprimer un serveur"
  size -1 -1 130 46
  option dbu
  text "Etes-vous sûr de vouloir effacer ce serveur ?", 1, 10 10 109 10
  button "Confirmer", 2, 10 25 45 12, ok
  button "Anuller", 3, 72 25 45 12, cancel
}

dialog GServError {
  title "Erreur"
  size -1 -1 200 70
  text "Tous les champs doivent être remplis", 1, 10 15 180 15
  button "Ok", 2, 65 40 70 20, cancel
}

on *:dialog:GServ1:*:*: {
  if ($devent == init) {
    if ($exists(GServ.ini)) {
      var %GServ.nbr 1
      while (%GServ.nbr <= $ini(GServ.ini,Descript,0)) {
        did -a GServ1 1 $ini(GServ.ini,Descript,%GServ.nbr)
        inc %GServ.nbr
      }
    }
    did -b GServ1 3,5,6
    did -c GServ1 8
  }
  elseif ($devent == sclick) {
    if ($did == 1) { did -e GServ1 3,5,6 | set %GServ.sel $did(GServ1,1).seltext }
    if ($did == 3) {
      if ($did(8).state == 1) { server $readini(GServ.ini,Addr,%GServ.sel) $readini(GServ.ini,Port,%GServ.sel) }
      elseif ($did(9).state == 1) { server -m $readini(GServ.ini,Addr,%GServ.sel) $readini(GServ.ini,Port,%GServ.sel) }
    }
    if ($did == 4) { dialog -m GServ2 GServ2 }
    if ($did == 5) { dialog -m GServ3 GServ3 }
    if ($did == 6) { dialog -m GServ4 GServ4 }
  }
}

on *:dialog:GServ2:*:*: {
  if ($devent == init ) {
    did -a GServ2 6 6667
  }
  elseif ($devent == sclick) {
    if ($did == 7) {
      if (!$did(2)) || (!$did(4)) || (!$did(6)) {
        dialog -m GServError GServError
      }
      else {
        writeini -n GServ.ini Descript $did(2) $did(2)
        writeini -n GServ.ini Addr $did(2) $did(4)
        writeini -n GServ.ini Port $did(2) $did(6)
        did -a GServ1 1 $did(GServ2,2)
      }
    }
  }
}

on *:dialog:GServ3:*:*: {
  if ($devent == init) {
    if (%GServ.sel) { 
      did -a GServ3 2 $readini(GServ.ini,Descript,%GServ.sel)
      did -a GServ3 4 $readini(GServ.ini,Addr,%GServ.sel)
      did -a GServ3 6 $readini(GServ.ini,Port,%GServ.sel)
    }
  }
  elseif ($devent == sclick) {
    if ($did == 7) {
      if (!$did(2)) || (!$did(4)) || (!$did(6)) {
        dialog -m GServError GServError
      }
      else {
        writeini -n GServ.ini Descript $did(2) $did(2)
        writeini -n GServ.ini Addr $did(2) $did(4)
        writeini -n GServ.ini Port $did(2) $did(6)
      }
    }
  }
}

on *:dialog:GServ4:sclick:2: {
  remini GServ.ini Descript %GServ.sel
  remini GServ.ini Addr %GServ.sel
  remini GServ.ini Port %GServ.sel
  did -r Gserv1 1
  var %GServ.nbr 1
  while (%GServ.nbr <= $ini(GServ.ini,Descript,0)) {
    did -a GServ1 1 $ini(GServ.ini,Descript,%GServ.nbr)
    inc %GServ.nbr
  }
}

 Conclusion

Voila je modifierais p-e encore un truc ou l'autre mais pour l'instant, il me semble que ca fonctionne très bien.

PS : j'ai mis niveau 2 pas pour me faire mousser mais uniquement pcq ca me semble faire appel à des connaissances que les débutants n'ont pas nécessairement (ce qui etait mon cas avant de me lancer dans sa conception).

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip AIDE À LA CRÉATION DE REMOTES
TRADUCTION DES RAWS D'ERREURS (401 - 502)
TRADUCTION EN FRANCAIS DES ÉVENEMENTS SALON

 Sources de la même categorie

TCL - AJOUT SUPPRESSION DE LOGS par Atok
BLACKLIST PSEUDOS/MASKS par usurpateur
Source avec une capture [XCHAT] ANTI KICK / AWAY C++ par GeroXXXX
JEU DU CODE par alanpersonproject
SERVEUR FTP par hisoka2501

Commentaires et avis

Commentaire de ReMi34 le 30/01/2004 06:59:12

C'est pas mal :)

Rajoute ça:

menu * {
-
Serveurs:dialog -m GServ1 GServ1
-
}
Le niveau 2 ne correspond pas :/

Commentaire de SornDrixer le 30/01/2004 09:27:26 administrateur CS

C'est bien codé, par contre, à mon gôut, cet addon n'est pas très utile, car je me sers jamais du menu connexion de mIRC, et tout mes serveurs favoris sont en popup. (accès plus rapide)

Peut-être éventuellement rajouter des options pour la prochaine version ?

Ha oui, et aussi, quand on ajoute un serveur, tu devrais vérifier si il n'existe pas déjà dans GServ.ini, car en avoir un en double, sa sert pas à grand chose.

ReMi34 : le niveau 2 est moyennement justifié, un débutant n'aurait pas pu coder ça je pense. (maitrise des dialogs, des boucles, et code optimisé)

Commentaire de babass le 30/01/2004 09:39:11

Pour ce qui est du menu il est dans mon script mais j'avais fait ce code en remplacement d'un ancien systeme et je n'ai mis que la partie modifiée sinon en effet dans mon script il est mis.

Je vais essayer de tenir compte de tes conseils SornDrixer.

Et pour ce qui est du niveau j'ai mis 2 pcq je doute tout de meme que qu'un qui n'a jamais scripté arrive a faire ca si facilement.

Commentaire de Kolibot le 30/01/2004 13:37:09

Au niveau du code, on voit que tu touches bien mais au niveau optimisation ... oula... tu pourrais vraiment bcp réduire ton code en regroupant les on dialog car certaines commandes se rejoignent...
on *:dialog:GServ2:*:*: {
....
elseif ($devent == sclick) {
    if ($did == 7) {
        if (!$did(2)) || (!$did(4)) || (!$did(6)) {
        dialog -m GServError GServError
        }
        else {
        writeini -n GServ.ini Descript $did(2) $did(2)
        writeini -n GServ.ini Addr $did(2) $did(4)
        writeini -n GServ.ini Port $did(2) $did(6)
        did -a GServ1 1 $did(GServ2,2)
        }
    }

et celui là :

on *:dialog:GServ3:*:*: {
...
    elseif ($devent == sclick) {
    if ($did == 7) {
        if (!$did(2)) || (!$did(4)) || (!$did(6)) {
        dialog -m GServError GServError
        }
        else {
        writeini -n GServ.ini Descript $did(2) $did(2)
        writeini -n GServ.ini Addr $did(2) $did(4)
        writeini -n GServ.ini Port $did(2) $did(6)
        }
    }
    }
}


Autre chose... :
if ($did == 4) { dialog -m GServ2 GServ2 }
    if ($did == 5) { dialog -m GServ3 GServ3 }
    if ($did == 6) { dialog -m GServ4 GServ4 }

tu peux aussi simplifier ...
if $istok(4 5 6,$did,32) { dialog -m $Gs($did) $Gs($did) }
alias Gs { return $+(Gserv,$calc($1 -2)) }

Ce sont des idées comme ça... mais c'est ce qui fait que ton code sera de Niveau 1 OU de Niveau 2 .... Je ne te donne pas des solutions ... ce sont juste des propositions à exploiter au mieux...

Commentaire de Bloock le 30/01/2004 20:22:44

C'est assez bien. Le dialog est assè simple. Fait aussi un auto-join-chan pour quand tu te connectes a un serveur.

Euh, sinon, une question ( j'ai pas envi de lire la source, pour moi, c'est le résultat qui compte ;) ), comment tu fais pour que ça ouvre une autre fenêtre de connexion ? :$

                                                                     /!\ Bloock /!\

Commentaire de babass le 30/01/2004 20:51:13

Pour la gestion des chans elle sera faite mais dans un autre module vu que je fais mon script au petit à petit et que j'ajoute ici des parties qui pourraient servir à d'autres.

Pour le connexion dans la meme fenetre ou dans une autre fenetre :

radio "Dans la fenêtre active", 8, 112 110 69 10
radio "Dans une autre fenêtre", 9, 112 125 69 10

  if ($did(8).state == 1) { server $readini(GServ.ini,Addr,%GServ.sel) $readini(GServ.ini,Port,%GServ.sel) }
  elseif ($did(9).state == 1) { server -m $readini(GServ.ini,Addr,%GServ.sel) $readini(GServ.ini,Port,%GServ.sel) }

Voila

 Ajouter un commentaire




Nos sponsors


Appels d'offres

Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales