IRC-Soporte

Ayuda para IRC (Internet Relay Chat)

Bienvenidos al foro de soporte en IRC. Para mas preguntas o dudas dejen sus dudas en los foros respectivos.

No estás conectado. Conéctate o registrate

IRC-Soporte » IRC-Soporte » mIRCScripting » Intermedio » Ventana de dialogo

Ventana de dialogo

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

1 Ventana de dialogo el Sáb Oct 02, 2010 3:51 pm

Beto

avatar
Administrador
Administrador
Ahora aprendamos algo acerca de “Ventanas de Dialogo”

Los diálogos están hechos para hacer muchas tareas
El comando para crear un dialogo es…
/dialog –m Nombre Etiqueta
La Opcion –m Creara un Dialogo Normal

/dialog –x Nombre
Cerrara una ventana de Dialogo
Primero veremos un Ejemplo simple
Copia y pega el siguiente texto en una nueva ventana de Remotos ALT + R
Código:

dialog mpd {
  title "Mi primer Dialogo"
  size -1 -1 200 100
  option dbu
}
alias mpd { dialog -m mpd mpd }
 
Ahora escribe en un Canal /mpd
esto abrirá una Nueva ventana de Dialogo con el Titulo “Mi primer Dialogo”

Analícemolo:
Dialog mpd = Es el nombre de tu Dialogo
Title = Es el titulo que aparecerá en tu ventana de Dialogo
size:
x,y,w,h
“x” y “y” es la posición en el menú de IRC window por cierto, Siempre escoge para x,y -1 -1
en (widht, height) tu escogerás el Ancho y el Alto para tu ventana de Dialogo,
en este caso 200 de Ancho y 100 de Alto
Opcion dbu = Tu puedes escoger “dbu” o “Pixel” pero “dbu” es siempre el Modo Estándar
el alias mpd { dialog -m mpd mpd } Empezara el Dialogo
Ahora analicemos otro dialogo
Copia y pega el siguiente texto en una nueva ventana de Remotos

Código:

dialog fd1 {
     title "Mi primer dialogo"
     size -1 -1 200 100
     option dbu
     edit "", 1, 8 20 73 10
     text "Este es el lugar para poner cualquier texto", 2, 8 11 79 8
     button "Nuevo Boton", 3, 90 19 56 12
     list 4, 8 42 86 43, size
     box "Mi pimer cuadro", 5, 3 2 194 94
     check "Cuadro de Check", 6, 108 39 53 10
     radio "Boton de Radio", 7, 108 56 50 10
}
alias fd1 { dialog -m fd1 fd1 }
 

Ahora escribe /fd1 en un Canal

Este dialogo contiene un "edit" “text” “button” “list” “box” “check” “Radio” "list"

edit = es “cuadro de edicion” para poner lo que sea
text = donde tu puedes poner cualquier texto
Button = puedes aplicar un valor a este botón para que el haga algo
box = es “opcional” puedes poner un cuadro en tu dialogo
check = hay tres estados para el Check…
0 = Desactivado
1 = Activado
2 = En espera
radio = Puedes aplicar el Valor al radio, para que el haga algo
list = hara un “cuadro de lista” para regresar muchas cosas

Ahora analícemoslo:

text “este es el lugar para poner cualquier texto”, 2, 8 11 79 8
text = La opción del texto “este es el lugar para poner cualquier texto”
2, = Es el identificador de la posición, en este caso “2” pertenece solo al evento “texto”
8 11 79 8 = x,y,w,h

Ahora vamos a entender los muchos otros controles
text "text", id, x y w h, estilo (right, center, nowrap)
edit "text", id, x y w h, estilo (right, center, multi, pass, read, return, hsbar, vsbar, autohs, autovs, limit N)

button "text", id, x y w h, estilo (default, ok, cancel, flat, multi)
check "text", id, x y w h, estilo (left, push, 3state)
radio "text", id, x y w h, estilo (left, push)
box "text", id, x y w h, estilo
scroll "text", id, x y w h, estilo (top left bottom right horizontal range N N)
list id, x y w h, estilo (sort, extsel, size, vsbar, hsbar)
combo id, x y w h, estilo (sort, edit, drop)
icon id, x y w h, nombre del archivo, estilo (noborder top left bottom right)
link "texto", id, x y w h
tab "texto", id, x y w h
tab "texto", id

Ahora vamos a entender los Estilos
===========
edit "text", id, x y w h, estilo (right, center, multi, pass, read, return, hsbar, vsbar, autohs, autovs, limit N)

''pass'' Creara un cuadro para recivir cualquier contraseña, si tu pones cualquier texto alli apareceran solo ''****''
''read'' Leer unicamente, no escribir
''hsbar'' Hara una barra horizontal
''vsbar'' Hara una barra vertical
''autohs'' Automáticamente creara una barra horizontal
''autovs'' Automáticamente creara una barra Vertical
''limit N'' Limitara el cuadro de edicion para recibir unicamente N Caracteres
============
list id, x y w h, estilo (sort, extsel, size, vsbar, hsbar)

''sort'' pondra numeros y letras en Orden Alfabetico u Orden Numerico
''extsel'' Creara una opcion para seleccionar muchas lineas
''size'' Mostrara el tamaño real para la Lista
. ============

combo id, x y w h, estilo (sort, edit, drop)

''edit'' creara un combo edibatle
''drop'' creara una opcion de ''soltar'' en el combinado
============
Ahora analicemos el mismo Dialogo...

borra ese que pegaste en tu ventana de remoto, Copia y pega el Nuevo texto

Código:

dialog fdd {
  title "Mi primer Dialogo "
  size -1 -1 200 100
  option dbu
  edit "", 1, 8 20 73 10
  text "este es el lugar para poner cualquier texto", 2, 8 11 79 8
  button "Nicks", 3, 90 19 56 12
  list 4, 8 42 86 43, size
  box "mi primer cuadro", 5, 3 2 194 94
  check "cuadro de chek", 6, 108 39 53 10
  radio "Radio Button", 7, 108 56 50 10
}
alias fdd { dialog -m fdd fdd }

on *:dialog:fdd:sclick:3:{
  ;;; esta opcion seleccionara el control ''3'' cual es el boton
  var %x = 1
  while (%x <= $nick($active,0)) {
    did -a fdd 4 $nick($active,%x)
    inc %x
  }
}

Ahora escribe /fdd en un canal, y presiona el botón de “Nicks”
Ahora te regresara todos los nicks en $active (Activa) Ventana
on level:dialog:dialog_name:event:control:{ commands }
dialog name = Nombre del dialogo
Ahora veamos todos los eventos

============

init = Cuando la ventana de dialogo empieza
edit = Cuando algo en editbox/list/combo es cambiado
sclick = cuando tu presionas click izquierdo de mouse/ oh presionas cualquier boton
dclick = Cuando haces doble click mouse/ o doble click en cualquier lado del dialogo
menu = Cuando alguna opcion del menu es seleccionada
rclick = Cuando haces click derecho en mouse/ or click derecho en cualquier cosa
============
Viste esta linea...?

did -a fdd 4 $nick($active,%x)

Cada vez que hagas un evento oh hagas algo necesitas usar ''did - option''

como did -a will ''add'' una linea en la lista 4

ahora analicemos el “Did”
==============
/did -ebvhnmcukradiog Nombre id [n] texto

-e Habilita el ID
-b Deshabilita el ID
-v Pone el ID visible
-h Oculta el ID

-n habilita un cuadro de edicion
-m deshabilita un cuadro de edicion

-c Marca una checkbox/radiobutton list/combo
-u Desmarca checkbox/radiobutton list/combo
-k trabaja -cu, pero mantiene la opcion habilitada

-r Borra todas las lineas en ID

-a Agrega una linea en el Evento
-d Borra una linea en el evento
-i Inserta una linea en la linea N
-o Sobreescribe una linea en la linea N

-g selecciona un Nuevo icono en el Dialogo
/did -g Nombre id [n] Nombre de Archivo
===============
Puedes combinar multiples controles

Se borrara la linea y se agregara una Linea en ID con Comando

Hay un Identificador llamado $did
Cuando usas para regresar el control
$did(dialog_name).text = Regresara el texto de un ID
$did(dialog_name).lines = regresara las lineas en numeros de un ID
$did(dialog_name).len = Regresara el Tamaño de un texto en numeros de un ID
$did(dialog_name).sel = Regresara la Linea en una Lista
$did(dialog_name).seltext = Regresara el texto seleccionado en un ID
$did(dialog_name).state = Regresara el estado de una ventaa de check 0 = off 1 = on 2 = standby

Ahora hagamos otro Ejercicio usando muchos de esos controles
Hagamos otro Dialogo
Copia y pega el Siguiente texto en una nueva ventana de Remotos

Código:
   
dialog ffs {
       title "Mi primer dialogo "
       size -1 -1 200 139
       option dbu
       button "send", 3, 126 50 42 12
       list 4, 9 21 82 43, sort size
       box "Mi primer Cuadro", 5, 3 1 194 134
       text "Nicks en La ventana Activa:", 8, 9 11 73 8
       text "Tu seleccionas el Nick:", 9, 9 69 74 8
       edit "", 10, 9 77 75 10
       text "Hace doble click en un Nick en la Lista, para hacer /whois en el Nick, o selecciona un Nick en la Lista y presiona ''send'' para enviarlo al canal", 11, 107 12 80 34
       text "", 12, 101 67 79 8
  combo 14, 48 92 103 35, size drop
}

alias ffs { dialog -m ffs ffs }
   
on *:dialog:ffs:init:*:{
  ;;; Aqui estan todos los eventos cuando un el Dialogo comienza
      
  var %x = 1
  while (%x <= $nick($active,0)) {
    did -a ffs 4 $nick($active,%x)
    inc %x
  }
  did -a ffs 14 escoge una opcion
  did -a ffs 14 hacer un /whois en el Nick?
  did -a ffs 14 Envia al canal un Nick?
  ;; Creara 2 lineas en la lista de Combinaciones
     
  did -a ffs 12 hay $did(4).lines Lineas en la Lista
  ;; Empezara el Script Mostrando cuantas lineas hay en la lista de control 4
}
   
on *:dialog:ffs:sclick:*:{
  ;;; este es el evento cuando haces click izquierdo en algo
  if ($did == 3) { msg $active $did(4).seltext }
  ;; Analizara si hiciste click en control 3 en este caso el boton ''send''
 
  if ($did == 4) { did -ar ffs 10 $did(4).seltext }
  ;; Analizara si hiciste click en algo en la Lista, y borrara y agregara una linea en el ID 10
 
  if ($did(14).sel == 2) {
    ;;; Analizara si que tu escogiste en la combinacion es la Linea 2
    whois $did(4).seltext
    ;;; y  hara un  /whois en el texto seleccionado en la lista en control 4
  }
  if ($did(14).sel == 3) {
    ;;; Analizara si la linea que escogiste en la combinación es la linea 3
    msg $active $did(4).seltext
    ;;; y enviará el nick con el nick seleccionado en el control 4 a $active Ventana
  } 
}

on *:dialog:ffs:dclick:4:{
  ;;; Este es el evento cuando haces doble click en algo
  whois $did(4).seltext
  ;;; Analizara si hiciste ''double click'' en la lista y le hara un /whois
}

Ahora escribe /ffs En el canal
Si aun tienes dudas acerca de los dialogos mira el ''Ejercicio de Dialogos”


Gracias a Edguy por la traducción

http://chatlatino.us

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.