PDF de programación - Desarrollo de aplicaciones con Gambas

Imágen de pdf Desarrollo de aplicaciones con Gambas

Desarrollo de aplicaciones con Gambasgráfica de visualizaciones

Publicado el 14 de Enero del 2017
860 visualizaciones desde el 14 de Enero del 2017
182,7 KB
9 paginas
Desarrollo de aplicaciones con Gambas.

Tutorial y ejemplo de un programa hecho con Gambas.

Sumario: Vamos a crear una aplicación sencilla con Gambas. Veremos cómo se programan los eventos y algunos trucos y técnicas
de trabajo con este magnífico entorno de desarrollo.

David Asorey Álvarez. Febrero de 2005.

Introducción
Primeros pasos
Gestión de eventos
Consideraciones relativas al diseño de formularios
Al grano ...
Acción "Limpiar"
Acción "Añadir"
Acción "Modificar"
Acción "Borrar"
Acción "Salir"
Acción "Abrir"
Acción "Guardar"
Un último ajuste
Nuestro programa funcionando
Distribuyendo nuestra aplicación
Conclusiones
Acerca de este documento y del autor
Notas

Introducción

Gambas es una herramienta de desarrollo visual de aplicaciones muy similar a los conocidos programas comerciales Microsoft Visual
Basic o Borland Delphi.

Con Gambas se pueden hacer aplicaciones o programas con interfaz gráfica de forma muy rápida, pues integran un diseñador de
formularios o ventanas, un editor de código, un explorador de clases, un visor de ayuda, etc.

Este tipo de herramientas han sido siempre muy habituales en la plataforma Microsoft Windows, pero para Linux no existían tantas, o
bien no estaban tan depuradas. Podemos encontrar Kdevelop, Kylix o VDK Builder. Hay que destacar que en el desarrollo de
aplicaciones en Linux hay una larga tradición y costumbre de emplear muchas herramientas diferentes, cada una especializada en una
tarea en concreto (p. ej., un compilador, un editor, un depurador, cada uno por separado), por lo que este tipo de herramientas
integradas (IDE) no han aparecido hasta hace poco.

Existe un grupo de programadores y desarrolladores que están acostumbrados a estas herramientas integradas, ya sea porque suelen
trabajar con ellas en otras plataformas o porque les resulta más cómodo o fácil.

Gambas es una herramienta, que, en palabras de su autor, Benoît Minisini, permite la creación de programas potentes, de forma fácil
y sencilla. El lenguaje de programación que se utiliza es una versión del "viejo" BASIC. Puede sorprender que se haya escogido un
lenguaje tan básico e incluso limitado como es el BASIC, pero no hay que olvidar que uno de los objetivos de la herramienta es
acercar el desarrollo de aplicaciones a personas no expertas en la programación.

El objetivo de este tutorial es presentar un poco por encima la herramienta, pero vamos a presuponer que el lector ya sabe
programar un poco, y que términos como función, evento, variable y similares le son familiares. Hay excelentes tutoriales
disponibles en Internet ( 1), y el propio programa incorpora un navegador de documentación bastante completo.

La versión de Gambas utilizada al redactar este tutorial es la 1.0­1. La página web de Gambas está en http://gambas.sourceforge.net

Descargar el programa de ejemplo: agenda.tar.gz 
Este tutorial en pdf: gambas_tutorial.pdf

Primeros pasos

Para no repetirnos y aportar algo más a lo que ya hay escrito, no vamos a entrar en cómo es el entorno de desarrollo, ni para qué
sirve cada herramienta, etc. En la propia documentación de Gambas vienen algunos tutoriales introductorios y un apartado llamado
"Visual Introduction to Gambas".

En este tutorial intentaremos hacer un programa completo y funcional desde el principio, y solucionaremos las necesidades según
vayan surgiendo.

Vamos a crear un programa que sea una especie de cuaderno o agenda para tomar notas. Se podrán añadir o borrar notas, además
de modificar las existentes. En cualquier momento se pueden guardar las notas a un fichero o recuperar otras de un fichero.

En Gambas, seleccionamos la opción "Nuevo proyecto". Seleccionamos crear un proyecto gráfico y el programa nos pide algunos
datos como el nombre y título del proyecto:

También nos deja elegir dos opciones adicionales: "El proyecto es traducible" y "Los controles del formulario son públicos". Las
dejamos sin marcar y seguimos.

A continuación seleccionamos el directorio donde queremos guardar el proyecto y finalizamos el asistente para la creación de
proyectos. Con el botón derecho pulsamos en el apartado "Formularios" y seleccionamos la opción "Nuevo formulario".

Vamos a diseñar el formulario con un "ListBox" y varios botones para añadir, modificar, borrar, etc. El diseño que proponemos sería
algo así:

Tenemos un "Label", un "ListBox" y varios botones, que se insertan en el formulario seleccionándolos en la caja de herramientas y
"dibujándolos" sobre el formulario. Lo más destacable en este caso son los botones "Abrir", "Guardar" y "Salir", que los hemos
situado encima de un "Panel" en vez de sobre el formulario directamente.

Para conseguir que los botones respondan a "atajos de teclado", hay que poner un "ampersand" (&) delante de la letra que servirá
como "atajo".

Para crear el menú, pulsamos con el botón derecho en cualquier punto vacío del formulario y seleccionamos la opción "Editor de
menú":

Al crear los botones y las distintas entradas en el menú podemos observar en la ventana de propiedades que hay, aparte de las
opciones típicas (nombre, clase, texto a mostrar, etc.), una opción llamada "Grupo". Esta opción es muy interesante, puesto que si
tenemos varios controles (p. ej., el menú "Abrir" y el botón "Abrir") que deben hacer lo mismo, asociándolos al mismo grupo sólo
tenemos que escribir el código correspondiente al grupo de acciones al que pertenece cada control.

Así pues, en nuestro programa de ejemplo, hemos asociado al grupo "Abrir" el menú y el botón "Abrir", al grupo "Guardar" el botón
y el menú "Guardar", etc.

Si ahora hacemos click en un botón o en el menú correspondiente, se nos abrirá el editor de código posicionándose el cursor en la

declaración de un procedimiento que se llama igual que el grupo de acciones.

Gestión de eventos

Los programas con interfaz gráfica de usuario suelen basar su funcionamiento en eventos. Esto es, cada vez que el usuario "hace
algo" en la aplicación, se genera un evento y éste evento puede tener asociado una función o procedimiento que responda a la acción
del usuario.

Si, por ejemplo, el usuario hace click en un control determinado, se generan varios eventos: MousePress, al presionar el botón del
ratón, MouseRelease, al liberar el botón del ratón, Click como resultado de esta acción. Si el usuario hace doble click, el evento
generado es un DblClick. Por supuesto, no todos los controles son capaces de responder a todos los eventos. No tiene sentido
hablar del evento Resize en un botón, puesto que este evento se genera al redimensionar una ventana.

En Gambas, para introducir el código del procedimiento ( 2) correspondiente a un evento, se declara de la siguiente manera:

PUBLIC SUB Control_Evento

Donde Control es el nombre del control que está respondiendo al evento y Evento es el evento que se produce. Algunos controles
tienen un evento predeterminado, que es el más usual: un botón tiene como evento predeterminado el Click, etc.

En Gambas, al hacer click sobre cualquier control, se abre el editor de código en la declaración del evento predeterminado, con una
excepción. Como comentábamos antes, si el control está asociado a un grupo de acciones, el editor se abre en la declaración del
procedimiento correspondiente al grupo de acciones.

Consideraciones relativas al diseño de formularios

Al diseñar el formulario de la aplicación, debemos tener en cuenta varias cuestiones:

No todos los usuarios utilizan la misma resolución de pantalla, gestor de ventanas y tipo de fuentes. Hay que tener cuidado y
no tratar de "aprovechar" demasiado el espacio. Podemos acabar con etiquetas de texto (Label) ilegibles, botones con el texto
cortado, etc
Por la misma razón, conviene que la ventana principal de la aplicación sea redimensionable por el usuario (en Gambas es la
propiedad Border del formulario. No es recomendable fijar esta propiedad a Fixed.
Al crear el formulario, se nos ofrecen varias opciones que pueden ser interesantes: 

 

Las opciones relativas al constructor y destructor nos sirven en el caso de que queramos hacer alguna operación sobre el
formulario antes de visualizarlo y al cerrarlo, respectivamente.

Aparecen las siguientes declaraciones: 

    ' Gambas class
    file PUBLIC SUB _new()
    
    END
    
    PUBLIC SUB _free()
    
    END 
    
    PUBLIC SUB Form_Open() 
    
    END

Si seleccionamos elegimos las opciones "Constructor estático" y "Destructor estático", las declaraciones que nos aparecen
ahora en el editor de código son: 

    ' Gambas class file 
    
    STATIC PUBLIC SUB _init() 
    
    END 
    
    STATIC PUBLIC SUB _exit() 
    
    END 
    
    PUBLIC SUB _new() 
    
    END 
    
    PUBLIC SUB _free() 
    
    END 
    
    PUBLIC SUB Form_Open() 
    
    END

Podemos así alterar el comportamiento de nuestra aplicación al abrirse y/o cerrarse el formulario. Que el procedimiento esté
declarado como STATIC significa que sólo podrá acceder a variables declaradas también como STATIC.

Al grano ...

Ya tenemos nuestro formulario diseñado. Ahora se trata de implementar funcionalidad a los controles.

Lo primero que vamos a hacer es que los botones "Añadir", "Modificar", "Borrar" y "Limpiar" (y las entradas correspondientes en los
menús) funcionen.

Acción "Limpiar"

Este botón se encarga de borrar todas las entradas que haya en el ListBox. Para saber cómo hacer ésto, buscamos en el navegador
de ayuda la documentación relativa al control ListBox:

La documentación se encuentra bajo el "árbol" gb.qt, que es donde se encuentra la documentación de todos los controles del tipo
"visual" (botones, etiquetas, menús, etc...). Vemos que el ListBox proporciona un método " Clear", que precisamente hace lo que
queremos: borrar todo el contenido del control.

Haciendo click en el botón "Limpiar", se abre el editor de código en el procedimiento correspondiente. Añadimos el siguiente código:

PUBLIC SUB Limpiar_Click()
    ListBox1.Clear()
END

Fácil, ¿verdad?.

Acción "Añadir"

Esto ya es un poco más compli
  • Links de descarga
http://lwp-l.com/pdf58

Comentarios de: Desarrollo de aplicaciones con Gambas (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad