Expression reguliere et dialog

Résolu
teteve
Messages postés
123
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
23 février 2011
- 31 juil. 2006 à 23:12
teteve
Messages postés
123
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
23 février 2011
- 3 août 2006 à 09:17
Bonjour tout le monde,
Débutant en langage IRC, je suis confronté à une mystique question : Est il faisable de définir la position d'un button dans un dialog de façon variable ? (je voulais par exemple mettre en ordonnée du button une expression : $calc($readini...etc...)) mais mIRC me renvoit un msg d'erreur...)
Comment passer outre ?

7 réponses

cs_wims
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
1 août 2006 à 00:32
Ce dont tu parles n'a rien avoir avec des expressions régulieres.
Pour passé outre, il faut mettre tes parametres en variable :

dialog kmsux {
title hi_coquine
size -1 -1 100 100 100 100
option dbu
edit "" 1, 0 %c 198 198, read multi vsbar
}

ou %c contient l'ordonée de l'edit
3
cs_wims
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
3 août 2006 à 02:19
Ok mais de toute façon ton dialog ne peut pas supporter + d'un certain nombre de control
(visible a l'écran) donc suffit d'en faire le plus possible et de rendre ceux qui t'interesse visible ( ou ceux qui t'interesse pas invisible ).
S'pas que j'aime pas le fait d'écrire un dialog a chaque fois et de le loadez mais c'est plus simple de faire comme ca :

-Tu crée ton dialog avec le maximum de control text posé comme si a tout les coup il te fallait ce nombre de control text
-Les controls seront crée avec des id allant de 1 a X ( X étant le max de control )
-Tu fais ton on start et tu rend invisible tout les id allant du nombre dans ta %var jusqu'au nombre max de control ( X ) et tu fait ca en une seule commande :
/did -h tondialog $+(%tavar,-,X)

Tu fais comme tu veux mais ca t'évite une while de faire ainsi ;)
(J'espere avoir bien compris que %tavar contient le nombre de control text a avoir sous les yeux)
3
teteve
Messages postés
123
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
23 février 2011

1 août 2006 à 01:09
Au temps pour moi, le terme "régulière s'est subrepticement intercalé dans mon titre...
en relisant mon code à la lumière de tes conseils, je me suis rendu compte que j'avais bien essayé en mettant une variable, mais que je m'étais trompé dans la déclaration de cette variables (elle était effacée avant l'ouverture du dialog... :-/ )
Merci de m'avoir épargné à mes pauvres cheveux des heures d'arrachages ;)
Teteve
0
teteve
Messages postés
123
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
23 février 2011

2 août 2006 à 22:40
Me revoilà encore et toujours avec mes pb de dialog...
J'aimerai
j'ai défini un dialog appelé dans un remote on *:START:
et dans ce remote, je voudrais rajouter un controle "texte" avant d'appeler le remote
(pouvoir inserer en fait un, deux, trois... controles "text" (suivant la valeur d'une variable) dans un dialog au moment de son ouverture)
qq1 a une idée ?
je n'ai pas trouvé de commande pouvant le faire, mais peut on faire autrement ?
Merci
0

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

Posez votre question
cs_wims
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
2 août 2006 à 23:07
J'comprend pas :x
Tu as un dialog que tu ouvre sur un on start ca ok
dans ton dialog tu veux des controles "text", suffit de les mettre dans le /dialog
Au lieu de vouloir les rajouter avec une commande, met les directement dans le /dialog et selon l'état de ta variable, tu les rends invisible/visible avec un /did :)
0
teteve
Messages postés
123
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
23 février 2011

3 août 2006 à 01:39
Le probleme est qu'a priori à l'ouverture je ne sais pas combien de control je vais avoir. Le probleme se résumait plus simplement à créer une boucle while dans la définition du dialog :
dialog kmsux {
    title hi_coquine
    ..........
    while (%i <= %variable) {
        text " [ %a ] ", $calc(6 + %b * 2 + %i) $
+ , 157 %c 80 25
        ...etc... (y'a plein d'autres boutons qui se greffent derriere...)
    }
}

Une autre personne m'a dit que la seule façon de procéder est de faire une boucle pour écrire dans un fichier, loader ce fichier et lancer le dialog apres. Je viens de réussir à faire ce que je voulais de cette façon, mais de façon surment pas très optimisée et efficace...
Je posterai à la fin mon code afin d'avoir des critiques dessus. Il sera en effet plus simple d'expliquer mon objectif avec un exemple concret...
Merci bcp quand même wims, et j'espere te retrouver dans les critiques acerbes de mon code... ;)
Teteve
0
teteve
Messages postés
123
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
23 février 2011

3 août 2006 à 09:17
C'est une idée... Je ne l'avais pas vu sous cet angle là... Je teste cette piste et je te tiens au courant.
Merci pour tout
Teteve
0