begin process at 2010 03 20 01:08:44
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

AddOns

 > TELNET DANS UN DIALOG

TELNET DANS UN DIALOG


 Description

Cliquez pour voir la capture en taille normale
Voila, j'ai vu pas mal de codes permettant d'utiliser telnet dans des dialog ...
J'ai remarqué qu'elles avaient un nombre limités de connexions (soit par la taille du dialog, soit autre chose), enfin, il me semble!

Donc voila, j'ai décidé de créer une autre petite source qui regroupe les connexions dans une liste... ce qui ne pause plus de problèmes d'onglets, etc ...

Source

  • on *:load: { mkdir telnet }
  • dialog telnet {
  • size -1 -1 500 238
  • title "Telnet"
  • text "Serveur:port" , 1 , 0 2 60 20
  • edit "" , 2 , 70 0 100 18 , autohs
  • button "Connecter" , 3 , 175 0 100 18 , flat
  • text "Connexions:" , 4 , 0 20 60 20
  • list 5 , 70 18 100 20
  • button "Déconnecter" , 6 , 175 18 100 18 , flat
  • list 7 , 0 45 500 180 , vsbar hsbar
  • edit "" , 8 , 0 218 500 20 , autohs
  • button "." , 9 , 1000 1000 0 0
  • button "Fermer" , 10 , 300 0 200 36 , ok
  • }
  • on *:dialog:telnet:*:*: {
  • if ($devent = init) { did -t telnet 9 }
  • elseif ($devent = close) {
  • if ($hget(telnet,1).item) { hfree telnet } | sockclose telnet*
  • set %end 1
  • while ($findfile(telnet,*.*,%end)) { .remove $findfile(telnet,*.*,%end) | inc %end }
  • unset %end
  • }
  • elseif ($devent = sclick) {
  • if ($did == 3) && ($gettok($did(telnet,2).text,2,58)) {
  • %telnet = telnet- $+ $_r(10)
  • if (!$hget(telnet,1).item) { hadd -m telnet 1 %telnet $+ $chr(156) $+ $gettok($did(telnet,2).text,1,58) }
  • else { hadd -m telnet $calc($hget(telnet,0).item +1) %telnet $+ $chr(156) $+ $gettok($did(telnet,2).text,1,58) }
  • sockopen %telnet $gettok($did(telnet,2).text,1,58) $gettok($did(telnet,2).text,2,58)
  • }
  • elseif ($did == 5) && ($did(telnet,5).seltext) {
  • hadd -m telnet current $reference($did(telnet,5).seltext)
  • telnet load $reference($did(telnet,5).seltext)
  • }
  • elseif ($did == 6) && ($did(telnet,5).seltext) { telnet close $reference($did(telnet,5).seltext) }
  • elseif ($did == 9) && ($did(telnet,8).text) { telnet send $hget(telnet,current) $did(telnet,8).text }
  • }
  • return
  • }
  • alias -l reference {
  • if (!$1) { return }
  • %ref = 1 | while ($hget(telnet,%ref)) {
  • if ($gettok($hget(telnet,%ref),2,156) == $1) { return $gettok($hget(telnet,%ref),1,156) }
  • inc %ref
  • }
  • }
  • alias telnet {
  • if ($1 == close) && ($2) {
  • sockclose $2 | write -c telnet\ $+ $2
  • hrem $2
  • }
  • elseif ($1 == send) && ($3) {
  • did -r telnet 8
  • sockwrite -n $2 $3-
  • write telnet\ $+ $2 $time * << $3-
  • did -a telnet 7 $time * << $3-
  • }
  • elseif ($1 == load) && ($2) {
  • did -r telnet 7 | %yyi = 1 | %yyi.file = telnet\ $+ $2
  • while ($read(%yyi.file, %yyi)) { did -a telnet 7 $read(%yyi.file, %yyi) | inc %yyi }
  • }
  • elseif ($1 == reload) { did -r telnet 5
  • %yyi = 1 | while ($hget(telnet,%yyi)) { did -a telnet 5 $gettok($hget(telnet,%yyi),2,156) | inc %yyi }
  • }
  • unset %yyi*
  • }
  • on *:sockopen:telnet-*: {
  • did -ra telnet 7 $time * Connexion en cours...
  • if ($sockerr) { did -a telnet 7 $time * La connexion a échoué! }
  • else {
  • did -a telnet 7 $time * La connexion a réussi!
  • write telnet\ $+ $sockname $time * Connexion au serveur établie.
  • telnet reload
  • }
  • }
  • on *:sockread:telnet-*: {
  • sockread %telnet | if (!%telnet) { return }
  • if ($hget(telnet,current) == $sockname) { did -a telnet 7 $time * >> %telnet }
  • write telnet\ $+ $sockname %telnet | unset %telnet
  • }
  • alias -l _r {
  • if (!$1) { return } | if (%rand) { unset %rand }
  • %r = 1 | while (%r <= $1) {
  • %rr = $r(1,2)
  • if (%rr == 1) { %rand = %rand $+ $r(a,z) }
  • else { %rand = %rand $+ $r(1,9) }
  • inc %r
  • }
  • .timer 1 1 unset %rand | return %rand
  • }
on *:load: { mkdir telnet }
dialog telnet {
  size -1 -1 500 238
  title "Telnet"

  text "Serveur:port" , 1 , 0 2 60 20
  edit "" , 2 , 70 0 100 18 , autohs
  button "Connecter" , 3 , 175 0 100 18 , flat

  text "Connexions:" , 4 , 0 20 60 20 
  list 5 , 70 18 100 20
  button "Déconnecter" , 6 , 175 18 100 18 , flat

  list  7 , 0 45 500 180 ,  vsbar hsbar
  edit "" , 8 , 0 218 500 20 , autohs
  button "." , 9 , 1000 1000 0 0 
  button "Fermer" , 10 , 300 0 200 36 , ok
}

on *:dialog:telnet:*:*: {
  if ($devent = init) { did -t telnet 9 }
  elseif ($devent = close) {
    if ($hget(telnet,1).item) { hfree telnet } | sockclose telnet* 
    set %end 1 
    while ($findfile(telnet,*.*,%end)) { .remove $findfile(telnet,*.*,%end) | inc %end }
    unset %end
  }
  elseif ($devent = sclick) {
    if ($did == 3) && ($gettok($did(telnet,2).text,2,58)) {
      %telnet = telnet- $+ $_r(10)

      if (!$hget(telnet,1).item) { hadd -m telnet 1 %telnet $+ $chr(156) $+ $gettok($did(telnet,2).text,1,58) }
      else { hadd -m telnet $calc($hget(telnet,0).item +1) %telnet $+ $chr(156) $+ $gettok($did(telnet,2).text,1,58) }
      sockopen %telnet $gettok($did(telnet,2).text,1,58) $gettok($did(telnet,2).text,2,58)
    }
    elseif ($did == 5) && ($did(telnet,5).seltext) {
      hadd -m telnet current $reference($did(telnet,5).seltext) 
      telnet load $reference($did(telnet,5).seltext)
    }
    elseif ($did == 6) && ($did(telnet,5).seltext) { telnet close $reference($did(telnet,5).seltext) }
    elseif ($did == 9) && ($did(telnet,8).text) { telnet send $hget(telnet,current) $did(telnet,8).text }
  }
  return
}
alias -l reference {
  if (!$1) { return }
  %ref = 1 | while ($hget(telnet,%ref)) {
    if ($gettok($hget(telnet,%ref),2,156) == $1) { return $gettok($hget(telnet,%ref),1,156) }
    inc %ref
  }
}

alias telnet {
  if ($1 == close) && ($2) {
    sockclose $2 | write -c telnet\ $+ $2
    hrem $2
  }
  elseif ($1 == send) && ($3) {
    did -r telnet 8
    sockwrite -n $2 $3-
    write telnet\ $+ $2 $time * << $3-
    did -a telnet 7 $time * << $3-
  }
  elseif ($1 == load) && ($2) {

    did -r telnet 7 | %yyi = 1 | %yyi.file = telnet\ $+ $2
    while ($read(%yyi.file, %yyi)) { did -a telnet 7 $read(%yyi.file, %yyi) | inc %yyi }
  }
  elseif ($1 == reload) { did -r telnet 5
    %yyi = 1 | while ($hget(telnet,%yyi)) { did -a telnet 5 $gettok($hget(telnet,%yyi),2,156) | inc %yyi }
  }
  unset %yyi*
}
on *:sockopen:telnet-*: {
  did -ra telnet 7 $time * Connexion en cours... 
  if ($sockerr) { did -a telnet 7 $time * La connexion a échoué! }
  else {
    did -a telnet 7 $time * La connexion a réussi! 
    write telnet\ $+ $sockname $time * Connexion au serveur établie. 
    telnet reload 
  }
}
on *:sockread:telnet-*: {
  sockread %telnet | if (!%telnet) { return }
  if ($hget(telnet,current) == $sockname) { did -a telnet 7 $time * >> %telnet }
  write telnet\ $+ $sockname %telnet | unset %telnet
}
alias -l _r {
  if (!$1) { return } | if (%rand) { unset %rand }
  %r = 1 | while (%r <= $1) {
    %rr = $r(1,2) 
    if (%rr == 1) { %rand = %rand $+ $r(a,z) }
    else { %rand = %rand $+ $r(1,9) }
    inc %r
  } 
  .timer 1 1 unset %rand |  return %rand
}




 Sources du même auteur

Source avec une capture COMMANDES DOS DANS MIRC

 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

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture [DLL] DESSINER COMME LES PICWINS SUR UNE DIALOGBOX (BONUS: J... par uaip
CONNEXION DES SERVEURS PROPOSÉE ET PERSONNALISÉ par XaDaZ
Source avec Zip Source avec une capture GEOTOOLS : GESTION D'UN UWORLD par PaDa
SELPOS - SELECTION ET POSITION ! par wims
Source avec une capture COMMANDES EVA EN DIALOG par doob666

Commentaires et avis

Commentaire de ZeroOo le 19/05/2007 22:47:33

Salut,

Assez bien réalisé sauf quelques petits trucs à corriger :

- utilise les variables locales (/var) plutôt que les globales (pour éviter les /unset)
- lorsque tu utilises un .timer, nomme-le (ex .timertelnet) pour éviter des conflits
- lors de ta boucle avec le $findfile, pas besoin de mettre *.* seul le "*" suffit

Sinon, bon travail !

Commentaire de monsieur_canard le 21/05/2007 12:38:24

Merci ;-)

Je viens de remarquer (oui apres quelques jours, je sais, honte à moi etc ...) que j'ai oubilé d'intégrer un alias (hrem) ... donc voila, il se peut que vous ayez un message d'erreur du type: hrem : unknow command ...

Voila, je corrigerai ce problème en même temps que les améliorations données par ZeroOo
Seulement, je ne sais pas quand ;-) car j'ai pas mal de taff ces derniers temps...

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Text dialog [ par koko ] J'aimerais savoir comment mettre dans un text d'un dialog un texte ou une variable... mercihttp://www.forumscvh.be.tf-]CVH[-@|_p]-[@ j'ai un blem avec un dialog [ par Djo21 ] Bonjour tout le monde.Alors voila mon problem, j'ai fait une fenetre dialog pour un systeme d'auto join mais quand "j'appelle" ma fenetre, pour qu'ell Prog Dialog DL [ par TroXsA ] Salut allvous savez ou je peut trouver des progs pour faire des dialog en francais, si sa existe biensur :pj'ai le prog Dialog Studio il est bien je d Dialog prog ! [ par TroXsA ] Salut allvous savez ou je peut trouver des progs pour faire des dialog en francais, si sa existe biensur :pj'ai le prog Dialog Studio il est bien je d Tuto ?? Dialog VF !!! [ par TroXsA ] Qui connais un site mortelement bien expliquer pour faire des dialog et les actions sur un check, bouton, radio ext ....Google G trouver mais pas en f Dialog Fonction check ? help [ par TroXsA ] salut allvoila G besoin d'un ti coup de main pour faire un bout de script je vous laisse looker le script et j'esplique plus bas---------------------- Help problème Dialog !!!! [ par Ziboo ] Voilà je joue a counter strike et je fais des train et il faut a chaque fois que je donne l'IP de notre server avec le pass.Bon voilà mon scriptServeu /DID avec $nick comment faire ? [ par TroXsA ] salut all :pj'ai besoin d'un coup de main sur un dialogsa fait deux jour que je me tire les cheveux, oui il m'en reste pas beaucoup ;)bon mon probleme Rafraichir un dialog [ par Ziboo ] Voilà je fais mon lecteur MP3G un bouton CHOISIR pour demander ou est le MP:button "Choisir", 6, 185 3 37 12if ( $did == 6 ) { /set %chemin $sfile(C: Dialog mIRC [ par wbr ] Bonjour, je voudrais savoir comment faire pour sauvegarder les valeurs de ce dialog dans des variables et comment cocher des options par défaut pour c


Nos sponsors


Sondage...

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,920 sec (3)

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