Connection à un serveur en dialogue

0/5 (6 avis)

Vue 4 211 fois - Téléchargée 112 fois

Description

comment se connecter à un serveur, en gerant votre propre fichier ini (serveur.ini).
Dispo dans la prochaine version de Carpe$cript (voir http://www.onlyu.fr.st/communications.html pour le script complet)

!!! attention, mettez un ";" devant la ligne contenant l icone si vous ne downloadez pas le zip !

Source / Exemple :


on *:LOAD:{ echo $active 4 vous venez de charger avec succès l'add-on serveur par SeigneurCarpe - Auteur de %version ! 10 visitez le site: http://www.onlyu.fr.st }
on *:UNLOAD:{ echo $active 4 vous venez de décharger avec succès l'add-on serveur par SeigneurCarpe - Auteur de %version ! 10 visitez le site: http://www.onlyu.fr.st }

alias serveur {
  dialog -m Dem_ServeurCS Dem_ServeurCS
}
;***************************************************
;   tableau principal
;***************************************************

dialog Dem_ServeurCS {
  title "Serveur By SeigneurCarpe Novembre 2003"
  option dbu

  size -1 -1 160 160

  text "Pseudo:"                       ,10, 25 25 40 10
  text "Pseudo alternatif:"                ,12, 10 37 46 10
  text "info:"                       ,14, 45 51 20 10
  text "user:"                       ,16, 45 63 20 10

  edit $readini mirc.ini mirc nick   ,11, 57 23 45 11
  edit $readini mirc.ini mirc anick  ,13, 57 35 45 11
  edit $readini mirc.ini mirc user   ,15, 57 49 80 11
  edit $readini mirc.ini mirc email ,17, 57 61 80 11

  box "Serveur:" , 18, 20 75 133 62
  combo  19, 30 85 120 130  , drop
  button "Ajouter" ,111, 30 105 40 11 default
  button "Enlever" ,112, 80 105 40 11 default
  button "connection" ,113, 30 120 40 11 default
  button "multi-serveur" ,114, 80 120 40 11 default
  button "ok" ,69 , 30 143 40 11, ok
  button "Annuler" ,70 , 80 143 40 11, cancel
  icon 71,10 10 20 20,icones/favicon2.ico
  link "http://www.onlyu.fr.st",72,30 10 70 100

}

on 1:dialog:Dem_ServeurCS:init:*: {

  /var %compteurLigne 1
  ;/******** condition: le compteurlignes doit etre inferieur ou egal au nb de lignes de $mircdir\serveurs.ini
  ;/******** de facon a voir ds le combo toutes les lignes de serveur.ini
  while ( %compteurLigne <= $lines($mircdir\serveurs.ini) ) {

    ;/******** initialisation de la boucle combo /nb de lignes de serveurs.ini ***********/
    /did -a Dem_ServeurCS 19 $read -l [ $+ [ %compteurLigne ] ] $mircdir\serveurs.ini

    ;/***incrementation du compteur *****************/
    /inc %compteurLigne
  }

  ;/*** si $server n est pas nul
  if ( $server != $null ) {

    ;/*** lire le nick à partir de mirc.ini
    /did -m Dem_ServeurCS 11

    ;/*** 
    /did -m Dem_ServeurCS 13
  }

  ;/*** et dans ts les cas ...
  ;/*** cocher la 1e ligne du combo  
  /did -c Dem_ServeurCS 19 1

  ;/*** activer le bouton ajouter
  /did -e Dem_ServeurCS 111

  ;/*** activer le bouton supprimer
  /did -e Dem_ServeurCS 112
  /did -e Dem_ServeurCS 72
}

on 1:dialog:Dem_ServeurCS:sclick:72:{ run http://www.onlyu.fr.St }

;/*** CAS du Bouton ajouter
on 1:dialog:Dem_ServeurCS:sclick:111: {
  ;/*** ajout d'un serveur
  /var %server $$?="adresse du serveur à ajouter"

  ;/*** ajouter a la fin du combo et l'ecrire dans le fichier
  /did -a Dem_ServeurCS 19 %server
  /write $mircdir\serveurs.ini %server

  ;/*** cocher cette ligne ajoutée dans la combo (la mettre en surbrillance)
  /did -c Dem_ServeurCS 19 $lines($mircdir\serveurs.ini)

}

;/*** CAS du bouton Enlever
on 1:dialog:Dem_ServeurCS:sclick:112: {

  ;/*** enlever la selection du fichier serveur.ini
  /write -dl $+ $did(Dem_ServeurCS,19).sel $mircdir\serveurs.ini

  ;/*** effacer cette ligne du combo
  /did -r Dem_ServeurCS 19 $did(Dem_ServeurCS,19).sel

  ;/*** remettre à jour le combo
  /var %compteurLigne 1
  while ( %compteurLigne <= $lines(serveur.ini) ) {
    /did -a Dem_ServeurCS 19 $read -l [ $+ [ %compteurLigne ] ] $mircdir\serveurs.ini
    /inc %compteurLigne
  }

  if ( $server != $null ) {
    ;/*** desactiver le nick
    /did -m Dem_ServeurCS 11
    ;/*** desactiver l'Anick (nick alternatif)
    /did -m Dem_ServeurCS 13
  }
  ;/*** par defaut on recoche la 1e ligne du combo
  /did -c Dem_ServeurCS 19 1

}

;***************************************************
;   bouton ok de fin et de connection
;***************************************************

on 1:dialog:Dem_ServeurCS:sclick:69,113: {

  ;/*** ecriture apres remplissage nick, anick, email et user
  if ( $did(Dem_ServeurCS,11).edited == $true ) { /.nick $did(Dem_ServeurCS,11).text | /writeini mirc.ini mirc nick $did(Dem_ServeurCS,11).text }
  if ( $did(Dem_ServeurCS,13).edited == $true ) { /.anick $did(Dem_ServeurCS,13).text | /writeini mirc.ini mirc anick $did(Dem_ServeurCS,13).text }
  if ( $did(Dem_ServeurCS,15).edited == $true ) { /.fullname $did(Dem_ServeurCS,15).text | /writeini mirc.ini mirc user $did(Dem_ServeurCS,15).text }
  if ( $did(Dem_ServeurCS,17).edited == $true ) { /.emailaddr $did(Dem_ServeurCS,17).text | /writeini mirc.ini mirc email $did(Dem_ServeurCS,17).text  }

  ;choix du combo
  /var %compteurLigne 1
  while ( %compteurLigne <= $readini tableau.ini server nbrserv ) {
    if ( $did(Dem_ServeurCS,19,1).sel == %compteurLigne ) { 
      /var %a 
      %a = n $+ %compteurLigne    
      /writeini tableau.ini base serveur $readini tableau.ini server %a 
    }  
    /inc %compteurLigne
  }

  if ( $did == 113 ) {
    /server $did(Dem_ServeurCS,19,$did(Dem_ServeurCS,19,1).sel).text
    /dialog -x Dem_ServeurCS
  }
}
on 1:dialog:Dem_ServeurCS:sclick:69,114: {

  ;1ere page
  if ( $did(Dem_ServeurCS,11).edited == $true ) { /.nick $did(Dem_ServeurCS,11).text }
  if ( $did(Dem_ServeurCS,13).edited == $true ) { /.anick $did(Dem_ServeurCS,13).text }
  if ( $did(Dem_ServeurCS,15).edited == $true ) { /.fullname $did(Dem_ServeurCS,15).text }
  if ( $did(Dem_ServeurCS,17).edited == $true ) { /.emailaddr $did(Dem_ServeurCS,17).text $+ @voila.fr }

  ;choix du combo
  /var %compteurLigne 1
  while ( %compteurLigne <= $readini tableau.ini server nbrserv ) {
    if ( $did(Dem_ServeurCS,19,1).sel == %compteurLigne ) { 
      /var %a 
      %a = n $+ %compteurLigne    
      /writeini tableau.ini base serveur $readini tableau.ini server %a 
    }  
    /inc %compteurLigne
  }

  if ( $did == 114 ) {
    /server -m $did(Dem_ServeurCS,19,$did(Dem_ServeurCS,19,1).sel).text
    /dialog -x Dem_ServeurCS
  }
}

;***************************************************
;   bouton ok de fin
;***************************************************

on 1:dialog:info:sclick:69: {
  ;1ere page
  if ( $did(info,1).edited == $true ) { 
    if ( $did(info,1).text != $null ) {
      /set %asv $did(info,1).text 
    }
    else {
      /set %asv ""
    }

    if ( $did(info,2).edited == $true ) { 
      if ( $did(info,2).text != $null ) {
        /set %mail $did(info,2).text 
      }
      else {
        /set %mail ""
      }
    }

    if ( $did(info,3).edited == $true ) { 
      if ( $did(info,3).text != $null ) {
        /set %url $did(info,3).text 
      }
      else {
        /set %url ""
      }
    }
  }
}

Button "ok"      , 69, 15 150 30 15, ok
}

Conclusion :


http://www.onlyu.fr.st pour toutes demandes

Codes Sources

A voir également

Ajouter un commentaire Commentaires
cs_ReMi34 Messages postés 1025 Date d'inscription vendredi 29 août 2003 Statut Membre Dernière intervention 28 mars 2005 2
11 déc. 2003 à 07:35
Tu fais tes dialogs à la main ?
cs_Kolibot Messages postés 817 Date d'inscription mercredi 25 juin 2003 Statut Membre Dernière intervention 19 avril 2004
11 déc. 2003 à 08:11
C'est déjà mieux que l'autre :) Ce qui est très positif. Voici quelques astuces de scripting :
- Quand tu utilises l'identifieur $did à l'intérieur d'un event dialog si le $did correspond au dialog ce n'est pas la peine de mettre dans les paramètres de l'identifieur le nom du dialog
- Essai toujours de regrouper les events dialog à l'intérieur d'un même ON Dialog, cela simplifie le code et le rend plus clair.
- Dans tes conditions quand tu mets $X == $true ou %X != $null ca revient à mettre respectivement $X ou %x, si tu veux $X == $false ou %x == $null alors tu écris : !$X ou !%x
- Set %x Y <=> %x = Y c'est plus court...
- le / devant les commandes est inutiles.
- Les commentaires évidents, tu n'es pas obligé de les mettre par ex :
;/*** si $server n est pas nul
if ( $server != $null ) {

Mais c'est une très bonne initiative d'avoir commenté ton code et je t'incite bien sur à recommencer pour tes sources futures
Pour les dialogs, renseigne sur un logiciel qui s'appelle DsDialog
Je te mets 8/10.
vesparo Messages postés 230 Date d'inscription samedi 6 septembre 2003 Statut Membre Dernière intervention 13 mai 2004
12 déc. 2003 à 23:18
moi je fait mes dialogs a la main et au debut ou je commencer a scripté j'ai rien compris avec les logiciels pr faire les dialogs je prefere la façon artisanale. bon pr en revenir au script le dialog n'est pas a la auteur du code donc dialog a revoir 6/10 :o

bonne continuation ;p ++
BADIBOYS Messages postés 12 Date d'inscription jeudi 20 octobre 2005 Statut Membre Dernière intervention 30 mai 2006
29 mai 2006 à 03:31
ca l'air bien mais l'icon on le trouve ou ? ont ne peux ouvrir le script si licon ny ai pas...
BADIBOYS Messages postés 12 Date d'inscription jeudi 20 octobre 2005 Statut Membre Dernière intervention 30 mai 2006
29 mai 2006 à 03:42
bon voila j'ai testé ton addon yé super, mais je trouve que tu devrais rajouter, que le dialog ouvre automatique lorsque mirc démarre ca évite au scripteur de le faire :)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.