CodeS-SourceS
Rechercher un code, un tuto, une réponse

Tutoriel sur les dialog mirc

Octobre 2017

Titre : Les dialogs mIRC
Auteur : Asthar

1 - Introduction :


Dans ce tutoriel, destiner au débutants les plus néophite en la matiere, je vais tenter de vous expliquer pourquoi utiliser les dialog mIRC, comment les créer et comment s'en servir efficacement.
Ce tutoriel n'a pas non plus la prétention de vous montrer comment faire un beau dialog, mais plutot comment bien organiser le code et quelques astuces pour s'y retouver rapidement dans un script.
On y va ? C'est partit ...

2 - Qu'est ce qu'un dialog mIRC ? :

Simplement et sans rentrer dans le détail inutile, un dialog mIRC est en fait une interface graphique entre l'utilisateur de votre script et le script lui meme. Il va vous permettre de vous y retrouver rapidement dans les configurations, options ou autre modules. L'ensemble de ces dialog est aussi "la vitrine" de votre script mIRC, c'est a dire que la plupart jugerons votre travail avec comme éléments ce que vous leur avez montrer, exemple : les sections "Screenshot" présente sur de nombreux site.
Un dialog est composé de plusieur éléments graphique appelé : control
Quelque exemple de control :
  • text <li>edit <li>combo <li>list <li>radio ..


Tout le monde suit ? Impeccable, on enchaine :)

3 - Comment créer son dialog mIRC ? :

2 méthodes s'offre a vous :
> 1ère méthode : la méthode dite "à l'ancienne", c'est a dire a la main. Pour cela, vous allez construire votre dialog ligne par ligne dans l'éditeur de votre mIRC. Il faut donc obligatoirement connaitre toute les composantes et les caractéristiques de chaque control. C'est en général un travail fastidieux que seul ce que j'appel les "sauvages de l'mIRC" utilise. Néanmoins, elle permet d'etre assurer que tout ce qui est fait est bien fait, un temps soit peu que nous sachions le faire :p

> 2ème méthode : la méthode "automatique" si on peu l'appeler ainsi. Depuis plusieurs années, il existe tout un tas de petit programme vous permettant de créer vos dialog aisément, intuitivement sans forcément connaitre chaque control et ce qu'il est capable de faire. Voici l'adresse du plus connu d'entre eux, Dialog Studio, disponible ici : http://www.tismania.org/prog.php. Simple d'utilisation si on y accorde au moins plusieurs minutes pour le découvrir (en anglais). Je recommenderais ce genre d'utilitaire pour les plus novices afin d'avoir une approche du code d'un dialog

Au minimum, un dialog doit disposer d'un bouton "Ok" (notamment avec un utilitaire).

Dans ce tutoriel, nous allons nous servir de ce code ci pour nos dialog :
dialog tuto {
title "Tutoriel dialog mIRC"
size -1 -1 87 43
option dbu
box "Une box :", 1, 1 0 85 28
text "Un text :", 2, 5 12 25 8
edit "", 3, 32 11 50 10
button "Un bouton", 4, 56 30 30 12, ok
}

########## A PARTIR DE CETTE PARTIE, IL EST NECESSAIRE DE LIRE L'AIDE mIRC CONCERNANT LA COMMANDE /did ET $did
= > /help /did
=> /help $did
Dans votre mIRC.
##########

4 - Comment utiliser efficacement un dialog mIRC ? :

Là, ca va etre la plus grosse partie, on va mettre un peu de couleur a tout ca pour que vous comprenuez l'utilité de ce tutoriel.
Notre but, sera d'afficher le contenu de l'edit dans la fenetre active de notre mIRC en cliquant sur "Un bouton".
pour bien débuter cette partie, nous allons voir les évenements auquel un dialog mIRC.
Tout d'abord, pour pouvoir travailler dans notre dialog, il va falloir annoncer a mIRC que ce qui va se produire et dans le dialog "tuto".
Pour cela, nous allons nous servir de l'évenement : on *:dialog:tuto:
Maintenant que mIRC sait que nous allons travailler dedans, nous allons voir qu'est ce que nous allons en faire.
Vous pouvez constatez que l'edit est vide, or je veux que lorsque je lance le dialog, le texte "Un edit" apparaissent dedans, comment faire ?
Facile, nous allons utilisé "init" (pour initialisation) a la suite de notre evenement, ce qui donne :
on *:dialog:tuto:init:00: <= particularité de "init" et qu'il est suivit de 00 , pourquoi a votre avis ?
Et bien, lorsque nous avons un evenement (comme init), celui ci se produit aussi suivant ce qu'on appel les ID d'un dialog.
Dans le code du dialog "tuto", vous pouvez remarquer que, dès le control "box", on a une numérotation des control (ici de 1 a 4).
L'évement "init", correspondant a une initialisation globale du dialog, nous utilisons donc "00" comme ID.
Les autres évenements, sont par exemple :
  • sclick <li>dclick <li>edit ..


Maintenant, voyons deux facon d'afficher "Un edit" dans notre control.
1ère méthode :
on *:dialog:tuto:init:00:did -a tuto 3 Un edit

2ème méthode :
on *:dialog:tuto:*:*:{
if ($devent = init) { did -a $dname 3 Un edit }
}

Dans la premiere, on utilise 1 ligne et dans la deuxieme, on en utilise 3. Certain penserons que la 1ère est la meilleur parcequ'elle prend moins de place. Mais comment faire si nous avons 600 ID ? 600 lignes ? Et pour se relire ? Beurk ...
Non, la deuxieme est réellement la meilleur, voici pourquoi :

on *:dialog:tuto:*:*:{ <= en utilisant les *, tout nos ID et tout nos evenement sont alors concernés pour le déroulement du script.
if ($devent = init) { did -a $dname 3 Un edit }<= avec $devent, il suffit dont de changer l'evement pour que ca reste pareil, $dname rappel le nom du dialog (ici : tuto)
} <= on ferme :)

Vous avec compris ? Pas tout a fais ? Ok, alors la je vais vous montrer avec l'action que nous avons a réaliser (ici on affichera en fenetre active de mIRC notre pseudo, date et heure), et vous me direz laquelle est plus lisible (n'oubliez de penser au cas ou nous sommes en présence d'un dialog de 600 controls)

1ère méthode :
on *:dialog:tuto:init:00:did -a tuto 3 Un edit
on *:dialog:tuto:sclick:4:echo -a Je m'appel $me $+ , il est $time le $date $+ .

2ème méthode :
on *:dialog:tuto:*:*:{
if ($devent = init) did -a $dname 3 Un edit
if ($devent = sclick) echo -a Je m'appel $me $+ , il est $time le $date $+ .
}

Votre avis ? Vous voyez je le savais bien :p Pour que ceci soit encore plus parlant, placer les dans l'éditeur de votre mIRC, fermer et réouvrer pour voir comment cela ca se présente :)

Voila, je pense que pour une approche de l'utilisation de dialog, j'ai réussi a vous présenter une façon claire et simple de coder vos dialog et les évenement associés. Si vous avez des suggestions, idée ou insultes, utilisez mon mail situé plus haut :)
Bon coding ..

====

Adresse d'origine
Publié par cs_Asthar.
Ce document intitulé «  Tutoriel sur les dialog mirc  » issu de CodeS-SourceS (codes-sources.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
[mirc scripting] les variables binaires (&binvar)
Mirc : afficher une image.swf dans un dialog mirc simple !