AIDE S.V.P COMPREND RIEN AU DIALOG [Résolu]

Signaler
Messages postés
12
Date d'inscription
mardi 17 février 2009
Statut
Membre
Dernière intervention
21 février 2009
-
Messages postés
12
Date d'inscription
mardi 17 février 2009
Statut
Membre
Dernière intervention
21 février 2009
-
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

Messages postés
871
Date d'inscription
jeudi 6 juillet 2006
Statut
Membre
Dernière intervention
6 janvier 2012
1
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

@+
Messages postés
12
Date d'inscription
mardi 17 février 2009
Statut
Membre
Dernière intervention
21 février 2009

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
  }
}
Messages postés
12
Date d'inscription
mardi 17 février 2009
Statut
Membre
Dernière intervention
21 février 2009

rien ne marche a partir de ces 2 ligne dsl faute de frappe
Messages postés
871
Date d'inscription
jeudi 6 juillet 2006
Statut
Membre
Dernière intervention
6 janvier 2012
1
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





@+
Messages postés
12
Date d'inscription
mardi 17 février 2009
Statut
Membre
Dernière intervention
21 février 2009

Ça marche parfaitement bien merci beaucoup de m'avoir aidé ça ma donner un coup de pousse :) a+
Messages postés
871
Date d'inscription
jeudi 6 juillet 2006
Statut
Membre
Dernière intervention
6 janvier 2012
1
de rien avec plaisir


n'oubli pas de cocher reponse accepter

@+
Messages postés
12
Date d'inscription
mardi 17 février 2009
Statut
Membre
Dernière intervention
21 février 2009

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 ?
Messages postés
871
Date d'inscription
jeudi 6 juillet 2006
Statut
Membre
Dernière intervention
6 janvier 2012
1
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

@+
Messages postés
12
Date d'inscription
mardi 17 février 2009
Statut
Membre
Dernière intervention
21 février 2009

Merci beaucoup t'es sympa ca m'aide déja pour la base !! jvais testé cette fois ci :)