Scripting en gvSIG: inputbox

commonsdialogInputbox1

 Con esta función creamos un cuadro de diálogo con una caja de texto, en blanco o con un valor por defecto, que nos permite preguntar al usuario cualquier tipo de cadena de texto, número, ruta.. El valor lo podremos recoger en una variable y utilizarla como queramos.

Es una función totalmente necesaria si queremos que nuestro código interaccione con el usuario en algo más que poner tan solo SI o NO como con la funcion confirmDialog.

inputbox(message [, title, messageType, initialValue])
	lib: commonsDialog
	param: message (string), mensaje a mostrar
 param: title (string)(opcional), título de la ventana
 messageType (integer)(opcional), icono de la ventana
		0 - FORBIDEN: icono de prohibído
		1 - IDEA: icono de idea
		2 - WARNING: icono de alerta
		3 - QUESTION: icono de pregunta
	param: initialValue (string), texto inicial en la caja de texto

Y la ventana generada para el ejemplo:

inputbox("Introduce tu nombre","Nombre",3,"Sr. ")

Y si lo utilizamos en un ejemplo puede ser algo del siguiente tipo:

from gvsig import *
from commonsdialog import *

def main():
    """Ej. de inputbox, pide nuestro nombre y dos numeros que suma"""
    #Pide su nombre y da la bienvenida
    valor = inputbox("Introduce tu nombre","Nombre",3,"Sr. ")
    print ("Hola %s, bienvenido a gvSIG" % valor)

    #Pide el valor de dos numeros
    num1 = inputbox("Introduzca primer numero para sumar: ")
    num2 = inputbox("Segundo numero: ")

    #Los valores entran como string, cadena de texto
    print "Variables de tipo texto: (une) ", num1 + num2

    #Convertimos a integer mediante int(), valores de numero.
    #Si se pueden convertir a integer los suma
    try:
       print "Variables de tipo numero: (suma) ", int(num1)+int(num2)
    #Si da error muestra lo siguiente
    except:
       print "Valores introducidos no convertibles a numero"
       return

commonsdialoginputbox3
commonsdialogInputbox2

2 comentarios
  1. Iñaki dijo:

    ¿es posible desde scripting crear formularios complejos en los que aparezcan datos y fotografías contenidos en BD no espaciales?

    • Hola, no estoy seguro de poder contestar tu respuesta.. aún así intentaré lo que pueda.
      Primero, formularios, no se si sabes que se pueden crear formularios más complejos tanto para introducir como para mostrar información, esto es creando un Dialog en vez de un Script (a la hora de crear uno nuevo seleccionar el type Dialog), lo verás mejor explicado en este video del webinar sobre scripting (en el minuto 20: 30s) http://youtu.be/KEw0zrszSSA?t=20m30s Pronto quiero escribir algún post sobre esto, aún no he tenido tiempo de mirar esta parte del módulo.

      Segundo, no estoy seguro sobre poder responderte, pero en principio toda base de datos que puedas conectar con gvSIG, me refiero a en las pestañas del proyecto, en el apartado de tablas, ahí puedes importar bases de datos propias y externas (sin ser espaciales), mientras estén ahí debería de ser posible tratarla desde el módulo de scripting, imagino que como mínimo para obtener y mostrar datos, pero no he hecho ninguna prueba de esto ni estoy seguro, tan solo intento darte alguna idea. Lo mismo, no encuentro opción aún de poder mostrar imágenes en los formularios.

      Siento no poder ser de mucha ayuda, gracias por pasarte por el blog, para cualquier otra cosa un placer intentar responderte. Si en algún momento resuelves tu problema, me gustaría si es posible que pasaras por aquí de nuevo y me comentaras como lo has resuelto, estaría encantado en escucharte.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: