AIDE S.V.P COMPREND RIEN AU DIALOG

Résolu
Gars250 Messages postés 12 Date d'inscription mardi 17 février 2009 Statut Membre Dernière intervention 21 février 2009 - 20 févr. 2009 à 03:56
Gars250 Messages postés 12 Date d'inscription mardi 17 février 2009 Statut Membre Dernière intervention 21 février 2009 - 21 févr. 2009 à 10:19
Salut, j'aimerais que quelqu'un m'explique ou me donne exemple de me créer un dialog de ce genre... j'aimerais pouvoir supprimer les pseudo dans la liste et que les pseudo reste dans la list sans que j'ai besoin les retapper a chaque fois et de pouvoir prendre le pseudo muni du bouton prendre...... ca va bien pour les premieres lignes mais j'ai beaucoup de misère pour la suite...voici la source..

dialog select {
  title "Selecteur de pseudo"
  size -1 -1 114 114
  option dbu
  box "Ajouter vos pseudo", 8, 3 4 67 22
  edit "", 2, 6 12 62 10
  button "Ajouter", 3, 73 13 37 12
  list 1, 3 38 66 70, size
  box "Votre liste de pseudo", 5, 2 29 68 82
  button "Supprimer", 6, 73 38 37 12
  button "Prendre", 4, 73 52 37 12
  button "OK/Fermer", 10, 73 97 37 12, ok cancel
}
ON *:DIALOG:select:*:*:{
  if ($devent == sclick) {
    if ($did == 3) && ($did(2)) { did -a $dname 1 $did(2) | did -r $dname 2 }
    if ($did(4)) && ($did(1).seltext) { /nick $did(1).seltext }
  }
}

9 réponses

WorldDMT Messages postés 871 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2012 1
20 févr. 2009 à 18:27
salut

tu peux faire savebuf/loadbuf (/help /savebuf et /help /loadbuf)

et pour supprimer tu ajoute une condition

donc en ROUGE et en VERT les options possibles 

ON *:DIALOG:select:*:*:{
  if ($devent = = init) {
    loadbuf -o $dname 1 fichier.txt
  }
  if ($devent == sclick) {
    if ($did == 3) && ($did(2)) { did -a $dname 1 $did(2) | did -r $dname 2 | savebuf -o $dname 1 fichier.txt  }
    if ($did(4)) && ($did(1).seltext) { /nick $did(1).seltext }
    if ($did == 6) did -d 1 $did(1).sel
  }
}

il y a un autre moyen avec une loop pour les multiples suppression

@+
3
Gars250 Messages postés 12 Date d'inscription mardi 17 février 2009 Statut Membre Dernière intervention 21 février 2009
20 févr. 2009 à 19:00
salut worlddmt j'ai testé le code ca va jusqu'as ces 2 lignes rien ne marche  merci de m'aidé

if ($did(4)) && ($did(1).seltext) { /nick $did(1).seltext }
    if ($did == 6) did -d 1 $did(1).sel
  }
}
3
Gars250 Messages postés 12 Date d'inscription mardi 17 février 2009 Statut Membre Dernière intervention 21 février 2009
20 févr. 2009 à 19:01
rien ne marche a partir de ces 2 ligne dsl faute de frappe
3
WorldDMT Messages postés 871 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2012 1
20 févr. 2009 à 19:12
oui

pour la premiere ligne c'est une faute de ta part je pense (j'ai pas regardé ton code ni testé j'ai juste ajouté ce que tu voulais)

if ($did = = 4) && ($did(1).seltext) { /nick $did(1).seltext }

tu peux faire aussi si tu veux comme ça

if (($did == 4) && ($did(1).seltext)) nick $ifmatch

la 2 eme ligne, c'est une erreur de ma part (juste un oubli) "$dname"

 if ($did == 6) did -d $dname 1 $did(1).sel





@+
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Gars250 Messages postés 12 Date d'inscription mardi 17 février 2009 Statut Membre Dernière intervention 21 février 2009
20 févr. 2009 à 19:16
Ça marche parfaitement bien merci beaucoup de m'avoir aidé ça ma donner un coup de pousse :) a+
3
WorldDMT Messages postés 871 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2012 1
20 févr. 2009 à 19:19
de rien avec plaisir


n'oubli pas de cocher reponse accepter

@+
3
Gars250 Messages postés 12 Date d'inscription mardi 17 février 2009 Statut Membre Dernière intervention 21 février 2009
20 févr. 2009 à 21:47
En faite... j'ai remarquer qu'il y a un petit bug... je n'arrive pas a stocké + qu'un seule pseudo quand je ferme en cliquant sur ok fermer... la liste s'efface et ne reste qu'un pseudo dans la liste...un code a rajouter ?
3
WorldDMT Messages postés 871 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2012 1
21 févr. 2009 à 10:11
je t'avais dis que j'avais meme pas regardé ton code et tu n'a pas demandé de verifié s'il y a un bug ou pas

je vais regardé ton code a zero et je vais t'expliquer mais j'ai pas mIRC là ou je suis donc a toi de testé

on *:dialog:select:*:*:{
  if ($devent = = init) loadbuf -o $dname 1 fichier.txt
  elseif ($devent == sclick) {
    if ($did == 3) && ($did(2) != $null) {
      did -a $dname 1 $ifmatch
      did -r $dname 2
      savebuf -o $dname 1 fichier.txt
    }
    elseif (($did == 4) && ($did(1).seltext)) nick $ifmatch
    elseif ($did == 6) && $did(1).sel {
      did -d $dname 1 $ifmatch
      savebuf -o $dname 1 fichier.txt
    }
  }
}

si l'evenement du dialog est init donc avant/pendent l'ouverture du dialog

[Vert] la list (ID 1) est rempli des données que contien le fichier fichier.txt

si l'evenement du dialog est sclick donc si tu clic gauche

[Rouge] si le clic est sur l'ID 3 (Ajouter) et que l'ID 2 (edit box) n'est pas vide, ajoute le contenu de l'ID 2 dans la liste (ID 1) efface le contenu de ID2 ensuite il enregistre la liste (ID 1) dans le fichier.txt

[Bleu] si le clic est sur l'ID 4 (Prendre) et qu'il y a une ligne selectionné dans la liste (ID 1), le pseudo change et prend la selection comme nouveau pseudo

[Violet] si le clic est sur l'ID 6 (effacé) et qu'il y a une ligne selectionné dans la liste (ID 1), la ligne selectionnées s'effasera

mais bon c'est tjr basique

il faut pensé a ajouter quelque details important

une condition qui verifie si le pseudo ne contien pas d'espace
qui verifie si le pseudo existe dejà dans la liste ou pas
si le pseudo est le pseudo actuel ou pas ect...
j'ai mis $did(2) ! = $null parceque avec $did(2) si tu met "0" ça returne $false

@+
3
Gars250 Messages postés 12 Date d'inscription mardi 17 février 2009 Statut Membre Dernière intervention 21 février 2009
21 févr. 2009 à 10:19
Merci beaucoup t'es sympa ca m'aide déja pour la base !! jvais testé cette fois ci :)
3