universidad don bosco estudios tecnolÓgicos escuela de … · escuela de computaciÓn 2019 guia de...

16
UNIVERSIDAD DON BOSCO ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN 2019 GUIA DE LABORATORIO #8 Nombre de la Practica: Manejo de Xdialog. Lugar de Ejecución: Laboratorio de Redes, Edificio 3 del CITT Tiempo Estimado: 2:30 MATERIA: Aplicaciones Para Redes DOCENTES: Marvin Martínez I. OBJETIVOS Que el estudiante: Comprenda el manejo de las librerías. Pueda implementarlas según sus necesidad. II. INTRODUCCION TEORICA X-Dialog permiten el uso de ventanas y “cajas” para hacer la experiencia de interactuar con un programa mas amena y mas fácil de entender por el usuario. Xdialog es un buen substituto de dialog , y pose numerosas opciones típicas en cualquier lenguaje, crear entradas de texto, lista de botones, botones de confirmación, diálogos yes-no, opción de abrir archivo, texto editable, etc... Ten en cuenta que Xdialog es compatible con dialog pero no al revés, es decir, todos los scripts hechos con dialog funcionarán con Xdialog, puesto que este último acepta todas las opciones de dialog además de ofrecer más funcionalidades. Un ejemplo es la ventana de menú, en dialog se llama "--menu" y en Xdialog "--menubox", aunque Xdialog también acepta la sintaxis de dialog e interpreta "--menu" como "--menubox". Es buena práctica por tanto, usar "--menu" y así tus scripts podrán correr tanto en las X como en un terminal. III. MATERIALES Y EQUIPO Para la realización de la guía de práctica se requerirá lo siguiente: No. Requerimiento Cantidad 1 PC de escritorio con Linux 1 2 Guía de laboratorio 1 IV. PROCEDIMIENTO Parta poder utilizar las cajas de texto y las opciones comunes, siempre tiene que anteponerse la palabra dialog. Digiter cada uno de los pasos que a continuación se presentan, interpretarlo y cualquier duda preguntar al docente: 1.Msgbox: Aplicaciones Para Redes 1

Upload: others

Post on 26-Jan-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

  • UNIVERSIDAD DON BOSCOESTUDIOS TECNOLÓGICOS

    ESCUELA DE COMPUTACIÓN

    2019

    GUIA DE LABORATORIO #8Nombre de la Practica: Manejo de Xdialog.Lugar de Ejecución: Laboratorio de Redes, Edificio 3 del CITTTiempo Estimado: 2:30MATERIA: Aplicaciones Para RedesDOCENTES: Marvin Martínez

    I. OBJETIVOS

    Que el estudiante:

    Comprenda el manejo de las librerías. Pueda implementarlas según sus necesidad.

    II. INTRODUCCION TEORICA

    X-Dialog permiten el uso de ventanas y “cajas” para hacer la experiencia de interactuar con unprograma mas amena y mas fácil de entender por el usuario.Xdialog es un buen substituto de dialog , y pose numerosas opciones típicas en cualquier lenguaje,crear entradas de texto, lista de botones, botones de confirmación, diálogos yes-no, opción de abrirarchivo, texto editable, etc...Ten en cuenta que Xdialog es compatible con dialog pero no al revés, es decir, todos los scripts hechoscon dialog funcionarán con Xdialog, puesto que este último acepta todas las opciones de dialog ademásde ofrecer más funcionalidades. Un ejemplo es la ventana de menú, en dialog se llama "--menu" y en Xdialog "--menubox", aunqueXdialog también acepta la sintaxis de dialog e interpreta "--menu" como "--menubox". Es buena prácticapor tanto, usar "--menu" y así tus scripts podrán correr tanto en las X como en un terminal.

    III. MATERIALES Y EQUIPO

    Para la realización de la guía de práctica se requerirá lo siguiente:No. Requerimiento Cantidad

    1 PC de escritorio con Linux 12 Guía de laboratorio 1

    IV. PROCEDIMIENTO

    Parta poder utilizar las cajas de texto y las opciones comunes, siempre tiene que anteponerse lapalabra dialog.

    Digiter cada uno de los pasos que a continuación se presentan, interpretarlo y cualquier dudapreguntar al docente:1.Msgbox:

    Aplicaciones Para Redes 1

  • Guía # 8: Manejo de Xdialog.

    Utilizado para mandar un mensaje en la cual se terminara hasta que el usuario de aceptar.SYNOPSIS--msgbox text height width

    Ejemplo 1 Ejemplo 2Xdialog --msgbox "Hola" 0 0 Xdialog --msgbox "Hola" 0 0;\

    case $? in0)echo 0;;255)echo 255;;

    esac#devuelve 0 si se da click en o.#devuelve 255 si se da click en la x.

    Ejemplo 3 Resultado#!/bin/bashDIALOG=Xd|ialog$DIALOG --title "MESSAGE BOX" \

    --icon warning.xpm \ --msgbox "Este es un mensaje con icono" 0 0case $? in 0) echo "OK";; 255) echo "Box closed.";;esac

    2. Yesno:Utilizado para esperar una respuesta del usuario en la cual se espera que sea si ò en caso contrarionoSYNOPSIS--yesno

    Ejemplo 1 Ejemplo 2Xdialog --title "Titulo" --yesno "¿Quieres salir dela aplicacion?" 0 0

    #!/bin/bash Xdialog --title "Titulo" --yesno "¿Quieres salir dela aplicacion?" 0 0case $? in

    0)echo 0;; 1)echo 1;; 255)echo 255;;

    esac

    Ejemplo 3 Ejemplo 4

    Aplicaciones Para Redes 2

  • Guía # 8: Manejo de Xdialog.

    Xdialog --title "Titulo" --help "Aqui va la Ayuda"--yesno "Quieres salir de la aplicacion" 0 0

    #!/bin/bash Xdialog --title "Titulo" --help "Aqui va la Ayuda" --yesno "Quieres salir de la aplicacion" 0 0 case $? in

    0)echo 0;; 1)echo 1;; 255)echo 255;;

    esac

    3. Infobox :Utilizado para mandar mensajes al usuario, que depende de un tiempo o hasta que se presiona OK.=tiempo para cerrar el infobox, tiempo en milisegundos.

    SYNOPSIS--infobox []

    Ejemplo1:Xdialog --infobox "Mensaje" 0 0 5000

    4.inputbox:Utilizado para crear una caja de texto.=valor por defecto que aparecerá en la caja.SYNOPSIS --inputbox []

    Ejemplo 1 Ejemplo 2Xdialog --backtitle "Titulo de fondo" --title"Titulo" --inputbox "Ingrese su nombre" 0 0"Rafael"

    if Xdialog --backtitle "Titulo de fondo" --title"Titulo" --inputbox "Ingrese su nombre" 0 0"Rafael" 2>algothenecho "Valor que se encuentra en el archvivoalgo"cat algoelse

    echo "Apretastes algo diferente de OK"fi

    Ejemplo 3 Resultado#!/bin/bash

    var=$(Xdialog --stdout --backtitle "Titulo defondo" --title "Titulo" --inputbox "Ingrese sunombre" 0 0 "Rafael")case $? in 0) echo "Valor ingresado: $var";; 1) echo "Presiono Cancelar";; 255) echo "Presiono en la \"x\" para cerrarla caja";;esac

    Ejemplo4:

    Aplicaciones Para Redes 3

  • Guía # 8: Manejo de Xdialog.

    Solamente que utilizamos una de las opciones para que los caracteres se vean en forma deasteriscos.Xdialog --password --backtitle "Titulo de fondo" --title "Titulo" --inputbox "Ingrese sunombre" 0 0 "Rafael"

    5. 2inputsbox:Utilizada para tener dos cajas de texto si se le agrega la opción de password, el password quedapor defecto a la ultima caja.

    SYNOPSIS--2inputsbox

    Ejemplo 1 Ejemplo2Xdialog --password --2inputsbox "Validacion de usuario" 0 0"Ingrese su nombre" "" "Ingrese su password" ""

    if Xdialog --password --2inputsbox "Validacionde usuario" 0 0 "Ingrese su nombre" """Ingrese su password" "" 2>algothen echo "Valor que se encuentra en elarchvivo algo"

    usuario=` cat algo | awk -F/ '{ print$1 }'`

    password=` cat algo | awk -F/ '{ print$2 }'`

    echo "Usuario:" $usuarioecho "Password:" $password

    elseecho "Apretastes algo diferente de OK"

    fi

    Resultado en consola:Valor que se encuentra en el archvivo algoUsuario: RafaelPassword: Torres

    Aplicaciones Para Redes 4

  • Guía # 8: Manejo de Xdialog.

    Ejemplo 3 Resultado#!/bin/bashvar=$(Xdialog --stdout --password --2inputsbox"Validacion de usuario" 0 0 "Ingrese su nombre""" "Ingrese su password" "")

    case $? in 0)usuario=$(echo $var | awk -F/ '{ print $1 }') password=$(echo $var | awk -F/ '{ print $2 }')

    if [ -z $usuario ]thenXdialog --infobox "Debe de ingresar un usuario"0 0 5000 ./prueba.sh

    fiif [ -z $password ]thenXdialog --infobox "Debe de ingresar unacontraseña" 0 0 5000./prueba.shfi

    echo "Usuario:" $usuarioecho "Password:" $password;;

    1) echo "Cancelar";; 255) echo "X";;esac

    6. 3inputsbox:Utilizada para tener tres cajas de texto si se le agrega la opción de password, el password quedapor defecto a la ultima caja.

    SYNOPSIS--3inputsbox

    Xdialog --password --3inputsbox "Validacion deusuario" 0 0 "Ingrese su nombre" "" "Ingrese suapellido" "" "Ingrese su password" ""

    if Xdialog --password --3inputsbox "Validacion deusuario" 0 0 "Ingrese su nombre" "" "Ingrese suapellido" "" "Ingrese su password" "" 2>algothen

    echo "Valor que se encuentra en el archvivoalgo"

    usuario=` cat algo | awk -F/ '{ print $1 }'`apellido=` cat algo | awk -F/ '{ print $2 }'`password=` cat algo | awk -F/ '{ print $3 }'`echo "Usuario:" $usuarioecho "Apellido:" $apellidoecho "Password: " $password

    elseecho "Apretastes algo diferente de OK"

    fi

    Aplicaciones Para Redes 5

  • Guía # 8: Manejo de Xdialog.

    7. Gauge : Sirve para crear una barra de progreso.

    SYNOPSIS--gauge []

    Ejemplo 1 Ejemplo 2(echo "25" ; sleep 3echo "50" ; sleep 3echo "75" ; sleep 3echo "100" ; sleep 3)| Xdialog --title "GAUGE" --gauge "...:::Instalando:::..."0 0 0

    if [ "$?" = 255 ] ; thenecho "Box closed !"

    fi

    x=0(while [ $x -le 100 ]

    do#comando de aplicacionecho $xx=$( expr $x + 25 )sleep 3

    done) | Xdialog ---title "GAUGE" --gauge"...:::Instalando:::..." 0 0 0

    Ejemplo 3 Resultado para los 3 ejemplo( for I in 25 50 75 100 do

    echo $Isleep 3

    done) | Xdialog --gauge "...:::Instalando:::..." 0 0 0

    8.Textbox :Utilizado para leer un archivo.

    SYNOPSIS--textbox

    Ejemplo ResultadoXdialog --title "EDIT BOX" --textbox menu.sh 24 75 case $? in 0) echo "OK";; 1)echo "Cancel pressed.";; 255)echo "Box closed.";;esac

    Aplicaciones Para Redes 6

  • Guía # 8: Manejo de Xdialog.

    9.Editbox:Utilizado para leer una archivo y así poder editarlo y luego redireccionarlo cuando damos ok.

    SYNOPSIS--editbox

    Ejemplo ResultadoXdialog --title "EDIT BOX" --editbox menu.sh 24 752>algo

    case $? in 0)cat algo echo "OK";; 1) echo "Cancel pressed.";; 255)echo "Box closed.";;esac

    10.Menubox:Se utiliza para crear menús, se redirecciona a alguna archivo el cual contendrá el valor de la opciónseleccionada.

    SYNOPSIS --menubox {}.Ejemplo1:Xdialog --menu "MENU" 10 30 3 1 red 2 greem 3 blue

    Aplicaciones Para Redes 7

  • Guía # 8: Manejo de Xdialog.

    Ejemplo 2 Ejemplo 3#!/bin/bashXdialog --menu "MENU" 10 30 3 1 red 2 green 3blue 2>algo.txt;\case $? in0) echo "Escogistes la opcion de aceptar" var=$(cat algo.txt) rm -f algo.txt case $var in 1) Xdialog --msgbox "Escogistes la opcion1: RED" 5 35;; 2) Xdialog --msgbox "Escogistes la opcion2: GREEN" 5 35;; 3) Xdialog --msgbox "Escogistes la opcion3: BLUE" 5 35;; esac ;;1) Xdialog --infobox "Escogistes la opcion decancelar" 8 45 5000;;esac

    #!/bin/bashvar=$(Xdialog --stdout --menu "MENU" 10 30 3 1red 2 green 3 blue)case $? in0) echo "Escogistes la opcion de aceptar" case $var in 1) Xdialog --msgbox "Escogistes la opcion1: RED" 5 35;; 2) Xdialog --msgbox "Escogistes la opcion2: GREEN" 5 35;; 3) Xdialog --msgbox "Escogistes la opcion3: BLUE" 5 35;; esac ;;1) Xdialog --infobox "Escogistes la opcion decancelar" 8 45 5000;;esac

    11.Buildlist:Utilizado para agregar aquellos item que se desean seleccionar.

    SYNOPSIS --buildlist

    Ejemplo 1 Ejemplo 2result=`Xdialog --title "XDIALOG BUILDLIST" --backtitle "A user-built list" \--stdout --separator "|" \--buildlist "hello, this is a --buildlist..." 0 0 6 \

    "1" "Item n1" "on" \ "2" "Item n2" "off" \ "3" "Item n3" "on" \ "4" "Item n4" "on" \ "5" "Item n5" "off" \ "6" "Item n6" "on"`

    retval=$?case $retval in 0) echo "The user-built list is '$result'.";; 1) echo "Cancel pressed.";; 255) echo "Box closed.";;esac

    Xdialog --title "XDIALOG BUILDLIST" --backtitle "Auser-built list" \ --separator "|" \--buildlist "hello, this is a --buildlist..." 0 0 6 \

    "1" "Item n1" "on" \ "2" "Item n2" "off" \ "3" "Item n3" "on" \ "4" "Item n4" "on" \ "5" "Item n5" "off" \ "6" "Item n6" "on" 2>algo.txt

    case $? in 0) retval=`cat algo.txt` echo -n "The user-built list is " echo $retval;; 1) echo "Cancel pressed.";; 255) echo "Box closed.";;esac

    Aplicaciones Para Redes 8

  • Guía # 8: Manejo de Xdialog.

    Resultado:En consola se podra observar este resultado: The user-built list is 1|3|4|6

    12.Checklist:Utilizado para que el usuario escoja varias opciones.Paramentros::texto :alto :ancho :altura de la listaSYNOPSIS--checklist

    Ejemplo 1 Ejemplo 2Xdialog --backtitle "Checklist" --separator "|" \ --title "CHECKLIST BOX" \ --checklist "Escoja su equipo favorito" 0 05 \ "1" "Barcelona" on \ "2" "Sevilla" on \ "3" "Real Madrid" off \ "4" "Valencia" on \ "5" "Villareal" off \ "6" "Real Betis" off 2> algo.txtcase $? in 0) valores=`cat algo.txt` echo $valores;; 1) echo "Presinastes cancelar";; 255) echo "Cierre de Checklist";;esac

    cheklist=`Xdialog --backtitle "Checklist" --separator "|" --stdout --title "CHECKLIST BOX" \ --checklist "Escoja su equipo favorito" 0 05 \ "1" "Barcelona" on \ "2" "Sevilla" on \ "3" "Real Madrid" off \ "4" "Valencia" on \ "5" "Villareal" off \ "6" "Real Betis" off `case $? in 0) echo $cheklist;; 1) echo "Presinastes cancelar";; 255) echo "Cierre de Checklist";;esac

    Aplicaciones Para Redes 9

  • Guía # 8: Manejo de Xdialog.

    Resultado:en consola de lo que tiene el archivo algo.txt1|2|4

    ->A partir del resultado deberá mostrar en una ventana de Xdialog los nombres de cada valorseleccionado.

    13. Radiolist:Utilizado para que el usuario escoja varias opciones.Paramentros::texto :alto :ancho :altura de la listaSYNOPSIS --radiolist

    Ejemplo1 Ejemplo 2radiolist=`Xdialog --backtitle "Radiolist" --stdout \--title "RADIOLIST BOX" \ --radiolist "Escoja su equipo favorito" 0 0 5 \ "1" "Barcelona" on \ "2" "Sevilla" on \ "3" "Real Madrid" off \ "4" "Valencia" on \ "5" "Villarreal" off \ "6" "Real Betis" off `

    case $? in 0) echo $radiolist;; 1) echo "Presinastes cancelar";; 255) echo "Cierre de Radiolist";;esac

    Xdialog --backtitle "Radiolist" \--title "RADIOLIST BOX" \ --radiolist "Escoja su equipo favorito" 0 0 5 \ "Barcelona" "Barcelona" on \ "Sevilla" "Sevilla" on \ "Madrid" "Real Madrid" off \ "Valencia" "Valencia" on \ "Villarreal" "Villarreal" off \ "Betis" "Real Betis" off 2>algo.txtcase $? in 0) radiolistt=`cat algo.txt` rm algo.txt echo $radiolistt;; 1) echo "Presinastes cancelar";; 255) echo "Cierre de Radiolist";;esac

    Aplicaciones Para Redes 10

  • Guía # 8: Manejo de Xdialog.

    Resultado de ejemplo2

    ->A partir del equipo seleccionado mostrar en una ventana que se mantenga activa durante 5segundos un mensaje que diga “Para mi este es el mejor equipo del mundonombre_equipo_seleccionado”.

    14. Treeview:Utilizado para crear un menú tipo árbol.SYNOPSIS--treeview

    Ejemplo Resultadoarbol=`Xdialog --stdout --title "TREE VIEW BOX" \

    --treeview "treeview box demo" 1832 4 \

    tag1 uno off 0 \ tag2 uno_1 on 1 \ tag3 uno_1_1 off 2 \ tag4 dos off 0 \ tag5 dos_1 off 1 \ tag6 dos_1_1 off 2 \ tag7 dos_2 off 1 \ tag6 dos_2_1 off 2 \

    tag6 dos_2_1_1 off 3 \ tag6 dos_2_1_2 off 3`

    case $? in0)

    echo "$arbol";;1)

    echo "Presionaste cancelar";;255)

    echo "Cierre de la caja";;esac

    Aplicaciones Para Redes 11

  • Guía # 8: Manejo de Xdialog.

    ->Crear una ventana que se que se vea como la siguiente y al seleccionar un sistema operativomostrar el resultado en otra ventana.

    15.Combobox

    SYNOPSIS--combobox ...

    Ejemplo Resultadocombobox=`Xdialog --backtitle "Combobox" --stdout \--title "COMBOBOX" \ --combobox "Escoja su equipo favorito" 0 0 \ Barcelona \ Sevilla\ "Real Madrid"\ Valencia\ Villarreal\ "Real Betis"`

    case $? in 0) echo $combobox;; 1) echo "Presinastes cancelar";; 255) echo "Cierre de Radiolist";;esac

    Aplicaciones Para Redes 12

  • Guía # 8: Manejo de Xdialog.

    ->Crear un combobox el cual contenga cuatro materias técnicas de la carrera, las que mas legusten al seleccionar una mostrar en otra ventana el resultado.16. Rangebox SYNOPSIS --rangebox []

    Ejemplo ResultadoVOLUME=`Xdialog --stdout --title "RANGE BOX" –rangebox \ "fijar el volumen" 0 0 0 12 6`

    case $? in 0) echo "El volumen es de: $VOLUME.";; 1) echo "Presionastes cancelar";; 255) echo "Cierre de la caja";;esac

    17. 2RangesboxSYNOPSIS--2rangesbox

    Ejemplo ResultadoVOLUME=`Xdialog --stdout --separator " " --title "RANGE BOX" --2rangesbox "Escoja los volumenes" 0 0 "Volumen1" 0 12 6 "Volumen2"1 6 3`

    case $? in 0) echo "El volumen es de: $VOLUME.";; 1) echo "Presionastes cancelar";; 255) echo "Cierre de la caja";;esac

    18. FselectUtilizado para seleccionar archivos.SYNOPSIS--fselect

    EjemploXdialog --fselect /root/Desktop/ 0 0

    Aplicaciones Para Redes 13

  • Guía # 8: Manejo de Xdialog.

    19. DselectUtilizado para seleccionar directorios

    SYNOPSIS --dselect

    Ejemplo:Xdialog --dselect / 0 0

    20. ColorselSYNOPSIS --colorsel [ ]Ejemplo:Xdialog --colorsel "Colores" 0 0

    Salida en consola: 255 255 255

    21. Calendar SYNOPSIS--calendar [ ]

    EjemploXdialog --calendar "Calendario" 0 0 19 2 1986

    Salida de en Consola:19/02/1986

    Aplicaciones Para Redes 14

  • Guía # 8: Manejo de Xdialog.

    22. TimeboxSYNOPSIS--timebox [ ]

    EjemploXdialog --timebox Tiempo 0 0 12 4 5

    Salida en consola: 01:02:06

    23.SpinboxSYNOPSIS--spinbox

    EjemploXdialog --title "Titulo de la ventana" --spinbox "¿Qué nota le das a esta charla" 0 0 1 10 01 "Nota"

    De forma similar a la opción inputbox, existen también –2rangesbox, –3rangesbox, –2spinsbox y –3spinsbox.

    Formato de Botones

    Xdialog --buttons-style icon --yesno "Desea salir de la aplicacion" 0 0

    Xdialog --buttons-style text --yesno "Desea salir de la aplicacion" 0 0

    Aplicaciones Para Redes 15

  • Guía # 8: Manejo de Xdialog.

    Xdialog --ok-label Aceptar --cancel-label Cancelar --yesno "Desea salir de la aplicacion" 0 0

    Xdialog --no-buttons --infobox "Desea salir de la aplicacion" 0 0 5000

    Xdialog --no-close --menu "Menu" 0 0 3 1 "Tabla de Multiplicar" 2 "Factorial" 3 Salir(Desactivamos la x de salida, aunque se de click no responderá)

    V. DISCUSION DE RESULTADOS

    ->Crear un programa que simule a una agenda, la cual permitirá-Agregar contacto-Eliminar contacto-Buscar contacto-Eliminar contacto

    La opción de Agregar contacto deberá solicitar un nombre corto, el nombre completo y su correoelectrónico.La opción de Eliminar contacto permitirá eliminar un contacto ingresando el nombre corto delcontacto.La opción Buscar contacto permitirá buscar el contacto por medio de su nombre corto.La opción eliminar contacto eliminara el contacto por medio de su nombre corto.Debe existir un opción que permitirá ver todos los contactos.Debe existir una opción de salir.Nota: el programa deberá terminar únicamente con la opción salir, si da click en la “X” esta nodeberá hacer nada, esto debe ser en todas las ventanas.

    ->Crear un script el cual solicitara el nombre de un archivo, luego pedirá los permisos (rwx) deldueño, permisos (rwx) del grupo y los permisos (rwx) de los demás usuarios y por ultimo deberámostrar los permisos del archivo, el script deberá estar validado en todo aspecto por ejemplo si sele pasa un directorio y no un archivo regular mostrar un mensaje de error.

    ->Crear un script que me permita llamar a cada uno de los ejemplos por medio de una ventana demenú de Xdialog, el programa deberá mantenerse activo y deberá terminar solo cuando el usuariole de click al botón de salir del menú principal, caso contrario se mantendrá activo.

    Aplicaciones Para Redes 16

    UNIVERSIDAD DON BOSCOESTUDIOS TECNOLÓGICOSESCUELA DE COMPUTACIÓN