Está en la página 1de 16

ProgramacinVisualcon

Gambas

Juan Matas Olmos 2010

CAPITULO I Programacin y Lenguajes de Programacin


Un programa informtico es un conjunto de instrucciones que una vez ejecutadas realizarn una o varias tareas en una computadora. Al conjunto general de programas se le denomina software, y as se refiere al equipamiento lgico o soporte lgico de una computadora digital. La programacin es un proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el cdigo fuente de un programa informtico. Un lenguajes de programacin es un conjunto de smbolos y reglas sintcticas y semnticas que definen su estructura y el significados de sus elementos y expresiones. Es la forma en que el hombre se comunica con la mquina para realizar una determinada tarea. Al conjunto de lneas de texto que describen por completo el funcionamiento de un programa se conoce como cdigo fuente, y es este texto lo que escribe un programador en algn lenguaje de programacin para resolver cierto problema. As como existen diversos lenguajes, tambin hay distintas formas de programar una aplicacin, a lo que le llamamos paradigmas de programacin. Un paradigma representa un enfoque particular o filosofa para la construccin del software. Cada paradigma tiene sus ventajas y desventajas, y dependiendo de la clase de problema a resolver, uno de ellos puede ser ms adecuado que otro. La programacin imperativa (tambin conocida como programacin secuencial) es un paradigma de programacin que describe la programacin en trminos del estado del programa y sentencias que cambian dicho estado. Se desarrolla de forma ordenada, cada lnea de cdigo se ejecuta una por una. Algunos lenguajes que se utilizan para este tipo de programacin son Ensamblador, Fortran, Cobol y Basic, entre otros. Otro paradigma de programacin comn es la programacin orientada a eventos, en la que tanto la estructura como la ejecucin de los programas van determinados por los sucesos que ocurran en el sistema, definidos por el usuario o que ellos mismos provoquen. Se deben definir los eventos que manejarn el programa y las acciones que se realizarn al producirse cada unos de ellos, lo que se conoce como el administrador de evento. Al comenzar la ejecucin del programa se llevarn a cabo las inicializaciones y dems cdigo inicial y a continuacin el programa quedar a la espera de alguna accin del usuario o del sistema, es decir, de un evento. El mejor ejemplo de este tipo de sistema es Visual Basic, el primo privativo de Gambas. Actualmente, el paradigma de programacin ms usado debido a mltiples ventajas respecto a los dems, es la programacin orienta a objetos o POO (OOP segn sus siglas en ingls). Donde el elemento fundamental es el objeto, ya que se basa en la idea natural de la existencia de un mundo lleno de objetos, entre los cuales se definen sus interacciones para llevar a cabo una tarea. Su uso se populariz a principios de la dcada de los aos 1990. Entre sus principales caractersticas estn la herencia, abstraccin, polimorfismo y encapsulamiento; y sus ventajas claves son la reusabilidad y extensibilidad.

Programacin Orientada a Objetos


Entre los conceptos fundamentales de la programacin orientada a objetos se destacan:

1. Clase: definiciones de las propiedades y comportamiento de un tipo de objeto concreto. 2. 3. 4. 5. 6.

La instancia es la lectura de estas definiciones y la creacin de un objeto a partir de ellas. Objeto: entidad provista de un conjunto de datos o atributos (propiedades) y de comportamiento o funcionalidad (mtodos), los mismo que consecuentemente reaccionan a eventos. Es una instancia de una clase. Propiedad (o atributo): contenedor de un tipo de dato asociado a un objeto (o a una clase de objetos) y lo define. El acceso a ellos se hace a travs de los mtodos del mismo objeto. Mtodo: algoritmo asociado a un objeto (o a una clase de objetos), normalmente empleado para modificar las propiedades del mismo objeto. Desde el punto de vista del comportamiento, es lo que el objeto puede hacer. Evento: Es un suceso en el sistema (tal como una interaccin del usuario con la mquina, o un mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje adecuado al objeto pertinente. Instancia: cada objeto es creado a partir de una clase, se dice que tal objeto es una instancia de esa clase. Entonces, crear una instancia de una clase se conoce como instanciar la clase.

Existe un acuerdo acerca de qu caractersticas contempla la orientacin a objetos, las ms importantes son:

1. Abstraccin:

es la propiedad que permite representar las caractersticas esenciales de un objeto, sin preocuparse de las dems (no esenciales). Definir una abstraccin significa tomar la mejor descripcin de una entidad del mundo real y utilizarla en un programa. 2. Encapsulamiento: el objeto es considerado una cpsula, debe responder a peticiones a travs de sus mtodos sin la necesidad de exponer los medios utilizados para llegar a brindar sus resultados. Esta cualidad deriva en una de las ventajas de la POO, la reusabilidad de objetos. 3. Polimorfismo: es la capacidad del lenguaje para referirse a un mtodo comn a varios objetos de diferentes clases (por ejemplo, objetos de diferentes subclases derivadas de una clase base) llamndolo con el mismo nombre. 4. Herencia: es la facilidad mediante la cual una clase hereda cada unos de las propiedades y mtodos de otra clase, como si esas propiedades y mtodos hubiesen sido definidos por la primer clase.

Introduccin a Gambas
Gambas fue inicialmente creado por Benot Minisini, es un ambiente libre de desarrollo en Linux basado en un intrprete Basic con extensiones de objetos, parecido a Visual Basic de Windows (pero es importante aclarar que NO es un clon). Gambas es un entorno de desarrollo que se distribuye con la licencia GNU GPL (General Public Licence), conocida en espaol como Licencia Pblica General de GNU, con lo cual el proyecto de Minisini gan mucha popularidad. Los programas de computadora suelen distribuirse con licencias propietarias o cerradas, stas son intransferibles y no exclusivas, es decir, no eres propietario del programa, slo tienes derecho a usarlo en un ordenador o tantos como permita expresamente la licencia y no puedes modificar el programa ni distribuirlo. La licencia GPL, desarrollada por la FSF, o Free Software Foundation (Fundacin para el Software Libre), es todo lo contrario. Define la libertad de los usuarios sobre su producto adquirido y, por lo tanto, una vez obtenido puede ser usado, copiado, estudiado, cambiado y redistribuido con o sin modificaciones libremente. Sin embargo, no es obligatorio que el software libre sea siempre gratuito (freeware), ya que tambin puede ser distribuido comercialmente. Esto significa que un software es libre si garantiza las siguientes libertades: Libertad 0: La libertad de usar el programa con cualquier propsito. Libertad 1: La libertad de estudiar cmo funciona el programa y modificarlo, adaptndolo a las propias necesidades. Libertad 2: La libertad de distribuir copias del programa, con lo cual puedes ayudar a tu prjimo. Libertad 3: La libertad de mejorar el programa y hacer pblicas las mejoras a los dems, de modo que toda la comunidad se beneficie. Las libertades 1 y 3 implican que se tenga acceso al cdigo fuente para poder estudiarlo y modificarlo.

El lenguaje est creado para soportar los gestores de ventanas ms comunes, como lo son Gnome y KDE. Esto significa que una aplicacin puede ser compilada para ser ejecutada en los diferentes escritorios sin tener que modificar el cdigo fuente, ms bien habra que elegir las libreras propias de ese escritorio y el programa se comportar como una aplicacin nativa de ese entorno. Es una caracterstica nica entre los entonces de programacin para Linux. La versin estable actual (al momento de la edicin de este texto) es la versin 2.21.0, liberada el 24 de Julio de 2010, agregando soporte para ArchLinux. Mientras que para Microsoft Windows o Mac, la portabilidad est an en desarrollo.

Arquitectura de Gambas
Cada programa escrito en Basic Gambas est compuesto por un conjunto de archivos que forman un proyecto. Cada archivo en el proyecto describe una clase. Estos archivos de clases se compilan inicialmente y a continuacin son ejecutados por el intrprete de Gambas. Esto se parece mucho a Java, justamente, es el lenguaje sobre el que tambin se ha inspirado Minisini. Los componentes necesarios para el desarrollo con Gambas son los siguientes:

Un compilador, un pequeo ejecutable capaz de transformar todo el cdigo fuente y


archivos que formen parte del proyecto hecho en Gambas, en un programa ejecutable.

Un intrprete, encargado de hacer que los programas hechos en Gambas sean


ejecutados por el sistema operativo.

Un entorno de desarrollo, que facilite la programacin y diseo de las interfaces grficas


de los programas.

Componentes que agregan funcionalidades al lenguaje. Son libreras especficas que


permiten extender las posibilidades del lenguaje, por ejemplo, para el uso de SDL, OpenGL, ODBC, conexiones de red, etc. Todos estos componentes son desarrollados por diferentes programadores que aportan al proyecto de Gambas. En resumen, gracias al estilo de programacin, que toma lo mejor del lenguaje Basic y al cual se le agreg programacin orientada a objetos, permiti a Gambas ganar rpidamente mucha popularidad, modernidad, estabilidad y portabilidad entre los desarrolladores de Linux.

Instalando Gambas
Como habamos dicho anteriormente, la ltima versin estable disponible desde la pgina web oficial de Gambas es la versin 2.21.0, mientras que la versin de desarrollo es la 3.0. En dicho sitio se explican con detalle la instalacin de ambas versiones a partir del cdigo fuente, la direccin es http://gambas.sourceforge.net/en/main.html. La solucin ms rpida y eficiente para el principiante de Linux es recurrir al Gestor de Programas de tu distribucin Linux. Por ejemplo, para Linux Mint 9, en el repositorio podemos encontrar la versin 2.19.0 de Gambas, aceptada como estable en los repositorios oficiales de dicha distribucin.

Desde el Gestor de Programas de Linux Mint 9, solo tenemos que seleccionar la aplicacin y presionar el botn de instalacin. De la misma forma se puede desinstalar muy fcilmente.

Luego tendremos el acceso a Gambas desde el Men Programacin Gambas2 (Gambas almost means Basic) como se puede ver en la siguiente figura.

El Entorno de Programacin de Gambas

Esta imagen es la pantalla de presentacin del Entorno de Desarrollo Integrado de Gambas. Como se puede ver, lo primero es determinar sobre qu proyecto trabajaremos. Como primera opcin podemos crear un nuevo proyecto (o aplicacin), podemos abrir un proyecto ya existente desde una ubicacin del disco duro, podemos elegir uno de los proyectos usados recientemente, o podemos abrir uno de los tantos ejemplos incluidos en la ayuda de Gambas. Si prefieres comenzar ms tarde, tienes el botn para salir. Los ejemplos estn clasificados por categoras, en el transcurso de este texto revisaremos algunos de ellos. Para acceder a ellos entonces elegimos la opcin Ejemplos.

En la instalacin de Gambas, se crea una carpeta en el Home del usuario, en este caso es /home/matias/Gambas2. En esta carpeta se guardan todos los archivos que utilices en tu proyecto, y cada proyecto tiene su propia carpeta, cuyo nombre es el nombre que le pongas al proyecto cuando creas uno. En el caso que ests copiando un proyecto desde otra computadora o descargando de Internet, solo tienes que copiar esa carpeta en el directorio Gambas2. Luego eliges la opcin Abrir proyecto... en la pantalla de bienvenida de Gambas y vers cada uno de tus proyectos, pero no como carpetas, ms bien se ven como un archivo comn que contiene tu proyecto. Con una imagen lo entenders mejor.

Para ver un primer ejemplo, seleccionaremos la opcin Nuevo proyecto..., nos aparecer la siguiente ventana.

Simplemente seleccionamos la primera opcin Aplicacin grfica para crear un formulario, y presionamos el botn Siguiente. A continuacin, el asistente nos preguntar qu directorio usar para guardar el proyecto, por defecto estar seleccionada la carpeta mencionada Gambas2, pero podemos elegir otra, o bien crear una nueva.

Esta pantalla nos brinda el botn Agregar, con el cual podemos crear un acceso directo a la carpeta actualmente seleccionada que ser ubicado en la lista de la izquierda, debajo de Home, Escritorio y Sistema. Dejamos seleccionada la carpeta Gambas2 y presionamos Siguiente.

En la siguiente ventana de dilogo se requiere ingresar un nombre y un ttulo para el proyecto. Recuerda el nombre del proyecto no puede contener el carcter ESPACIO y la carpeta del proyecto tendr este mismo nombre. Entonces escribimos primerProyecto como nombre y Mi primer proyecto como ttulo del proyecto. Luego presionamos Ok para finalizar el asiste, se nos confirmar que el proyecto ha sido creado.

Ahora se nos presentar la Entorno Integrado de Desarrollo de Gambas (IDE, Integrated Development Environment), el cual presenta varios componentes. Ahora, al igual que cada vez que abramos el IDE veremos una ventana que nos brindar un consejo, es una breve nota sobre un caso particular del uso del lenguaje, la cual cambiar cada vez. En caso que lo desees, puedes usar los botones Previo y Siguiente para ver los diferentes consejos, puedes evitar que se abra esta ventana quitando la marca en el opcin Mostrar consejos al inicio. Luego cerramos la nota con el botn Cerrar.

10

En el resto del captulo usaremos en ejemplo para ir mostrando las capacidades que nos brinda este entorno de programacin, la idea es crear una ventana como la siguiente.

Componentes del IDE de Gambas


Una vez que estemos en el IDE, haremos doble click sobre Fmain en la ventana del lado izquierdo, con esto podremos ver nuestro formulario y componentes para disearlo como podemos ver a continuacin.

El primer cuadro de la izquierda es el Explorador de Proyecto, la principal ventana del entorno. Nos muestra un rbol de directorios con todos los tipos de archivos del proyecto (archivos de clases, formularios, mdulos y otros tipos de archivos como imgenes, iconos o datos). Inmediatamente arriba tenemos la Barra de Herramientas con las principales funciones. Como ser crear un proyecto nuevo, abrir otro o guardarlo; crear ejecutable, correrlo, depurarlo; ver u ocultar los elementos del IDE, etc. Sobre la barra de herramientas tenemos la Barra de Men, que no da acceso a todas las caractersticas del entorno a travs de sus mens desplegables. Volviendo al explorador de proyecto, podemos ver que la raz del rbol es el nombre del proyecto, en nuestro caso primerProyecto. De la raz salen cuatro ramas que describimos a continuacin:

11

Clases: Nos mostrar todo los archivos de clases que tengamos en el proyecto.
Bsicamente son modelos que pueden ser usados para crear objetos en tiempo de ejecucin, con cdigo para definir las propiedades, mtodos y controladores de eventos de cada uno de los objetos que se creen. Mdulos: Nos mostrar los mdulos escritos para el proyecto. Estos mdulos son un conjunto de subrutinas o funciones que suelen utilizarse varias veces desde el programa principal. No se pueden crear objetos con ellos, y por lo tanto, no tienen controladores de eventos. Formularios: Presenta todos los formularios que hayamos diseado. Son las ventanas con las que el usuario puede interactuar, las cuales las diseamos insertndole objetos como cuadros de texto, botones, casillas de verificacin, listas, etc. Datos: Presenta los dems archivos que usemos en el proyecto, como ser imgenes, iconos, texto, archivos HTML, msica, etc.

Justo debajo del explorador de proyecto hay un pequeo espacio vaco llamada Barra de Estado, en la cual veremos luego que nos indicar si Gambas est realizando alguna operacin, por ejemplo Compilando proyecto primerProyecto..., durante unos segundos cuando iniciemos la ejecucin del proyecto. En la zona central del IDE tenemos el Diseador de Formulario, el cual contiene la apariencia del formulario que estamos diseando, sobre el cual arrastraremos y soltaremos los componentes grficos. De aqu sale la principal ventaja de la programacin visual, donde podemos rpidamente crear la interfaz del usuario y tenerla lista antes de escribir cualquier cdigo para definir las operaciones de la aplicacin. Al hacer doble click sobre el formulario, o alguno de los controles que agregues, se mostrar en la misma regin el Editor de Cdigo, donde escribiremos el cdigo necesario para cada uno de los controles que agreguemos al formulario y que determinar el comportamiento de ellos. Como podrs notar durante la creacin de este primer proyecto, el editor de cdigo tiene importantes caractersticas que facilitan la codificacin y depuracin. Algunas de esas caractersticas son Auto-completado de Cdigo, Resaltado de Sintaxis, Buscar y Reemplazar. Sobre el costado derecho del IDE tenemos dos componentes importantes para el diseo de los formularios. En la mitad superior tenemos el Visor de Propiedades, donde podemos ver todas las caractersticas del formulario o del control que tengamos seleccionado es ese momento. Con el mismo visor de propiedades podemos modificar esas caractersticas para conseguir que los controles se ajusten en apariencia segn nuestras necesidades. En la mitad inferior tenemos la Caja de Herramientas, la que contiene todos los elementos grficos que podemos programar en Gambas, los cuales ya fuimos mencionando y son prcticamente todos los elementos GUI disponibles en Linux (botones, cuadro de textos, etiquetas, etc). Desde esta caja podemos obtener los controles para arrastrarlos al formulario. Volviendo a las barra de mens y botones, con ello controlamos todas las tareas principales del IDE. La versin actual tiene 6 mens que se muestran a continuacin.

12

El men Archivo con permite crear un proyecto nuevo, abrir uno desde el disco, guardar, ver algn ejemplo o salir de Gambas. El men Proyecto nos habilita para definir las propiedades del proyecto y compilarlo para crear un ejecutable, archivo fuente, o paquete de instalacin. Con el men Depuracin podemos controlar las interrupciones en la ejecucin del programa, ejecutar linea por linea, etc. Con el men Vista podemos ocultar o hacer visibles cada unos de los componentes del IDE. Desde el men Herramientas tenemos acceso al Gestor de Bases de Datos, las Preferencias respecto al IDE y otras ms. Finalmente, desde el men ? (Ayuda) podemos acceder a la documentacin que se instala junto con el entorno. La Barra de Herramientas nos brinda acceso rpido a las funciones de ms uso. Dejando el puntero del mouse sobre los botones nos aparecer un cuadrito con el nombre.

Ahora que conocemos el entorno de programacin, sigamos con el diseo del formulario que tenemos creado. En la caja de herramientas, seleccionamos la pestaa Form; all podremos ver los controles ms comunes para los formularios. Para este ejercicio utilizaremos una etiqueta (label) y un botn (button). Entonces seleccionamos con un click el control label de la caja de herramientas, luego movemos el puntero del mouse sobre el formulario, presionamos el botn izquierdo para comenzar a marcar la zona donde queremos que se dibuje la etiqueta, arrastramos el puntero y lo soltaremos para fijar el tamao que queramos. La segunda opcin es haciendo doble click sobre el control label en la caja de herramientas, aparecer el control dibujado en la esquina superior derecha del formulario. Una tercera opcin es arrastrar el

13

control desde la caja de herramientas hasta el rea del formulario donde deseamos dejarlo. En cualquier caso, podemos reubicar y redimensionar un control seleccionndolo en el diseador del formulario y utilizando los cuadritos blancos que lo rodean. Hacemos lo mismo para ubicar el control button, el botn. Deberas conseguir la siguiente apariencia. Observa que alrededor del texto Label1 hay una regin sin puntos. Esos puntos sobre todo el formulario se llaman grilla, y nos ayudar a ordenar los controles. La etiqueta se ha estirado un poco, por lo que se ve sin puntos hacia la derecha del texto. Eso es para que entre todo el texto que prendemos mostrar ms adelante. Prueba escribiendo tu texto en la propiedad Text en el visor de propiedades para ajustar el tamao de la etiqueta.

Ahora editaremos las propiedades de cada objeto para conseguir nuestro objetivo comenzando con el formulario: En el explorador de proyecto hacemos click derecho sobre el nico formulario que tenemos y elegimos la opcin Renombrar... (F2), y escribimos frmEjercicio1. En el visor de propiedades buscamos la propiedad Text y escribimos Mi primer formulario con Gambas. En el botn modificaremos las propiedades desde el visor de propiedades; entonces Name: btnMostrar y Text: Mostrar texto. Si el botn no tiene el tamao adecuado, el texto podra ocultarse parcialmente; en tal caso solo redimensiona su tamao. En la etiqueta modificaremos las mismas propiedades que en el botn, usando como nombre lblSaludo y al texto de la propiedad Text lo borramos. Obtendremos la siguiente apariencia. Ahora debemos codificar la accin que queremos al presionar el botn. Para abrir el editor de cdigo tenemos cuatro maneras, la ms rpida sera haciendo doble click sobre el botn. La segunda opcin es hacer click derecho y elegir la opcin Abrir cdigo (Ctrl+W). Estas dos opciones nos lleva al editor de cdigo donde veremos que automticamente se escribieron las instrucciones PUBLIC SUB y END correspondientes al evento Click de nuestro botn. Entre ellas escribiremos la accin de nuestro botn, la cual sera lblSaludo.Text = Bienvenido a la programacin con Gambas!. Notars que al escribir el nombre de la etiqueta, te mostrar un pequeo cuadro con el nombre completo de nuestra etiqueta, es el auto-completado, para aprovecharlo puedes usar la tecla Tab o Intro para continuar escribiendo el '.', no funcionar con la barra de espacio como puedes hacerlo en otros editores. Al escribir el punto, te saldr una lista con todas las propiedades y mtodos del control (de la etiqueta en nuestro caso), elegimos o escribimos Text, y completamos el texto que vamos a mostrar.

14

Es un buen momento para guardar nuestro proyecto. Aqu podemos cerrar el entorno, luego de volver a abrir nuestro proyecto, tendremos las cosas tal cual lo vemos ahora. De todos modos este paso no es necesario ahora, ya que podemos directamente ejecutar nuestra aplicacin. Antes de ejecutarse nuestro cdigo, debe guardarse y compilarse; todo eso se hace de forma automtica al presionar el botn Ejecutar o la tecla F5, con lo cual ya no necesitamos guardar el proyecto. Finalmente podremos ver nuestra ventana funcionando.

Para cerrar la aplicacin podemos presionar el botn con la X (Cerrar la ventana) que nos ofrece el gestor de ventanas o con el botn Parar de la barra de herramientas del IDE de Gambas. Ms adelante usaremos un botn en el formulario programado para terminar la ejecucin de la aplicacin.

Hasta ahora hemos editado dos tipos de archivos, como podemos ver justo arriba del editor de cdigo. Los archivos que creamos son frmEjercicio1.form, donde tenemos todos los datos del formulario; y el archivo frmEjercicio1.class, que contiene todo nuestro cdigo. Haciendo click sobre la pestaa con el nombre frmEjercicio1.form volveremos al diseador de formulario, y haciendo click sobre frmEjercicio1.class volveremos al editor de cdigo. Esta ltima es la tercera forma de acceder al cdigo de nuestro control. Si abrimos nuestro navegador de archivos preferido y accedemos a la carpeta de nuestro proyecto, podremos ver que all se encuentran nuestros dos archivos. Recordemos que ambos tiene el nombre que elegimos para nuestro formulario.

15

En el siguiente captulo veremos los fundamentos de la programacin en Basic, los tipos de datos que se utilizan y la sintaxis de las instrucciones bsicas que se utilizan en cualquier lenguaje de programacin.

Bibliografa: Mg. Ing. Ftima del C. Martnez; 2008; Introduccin a Visual Basic; Tucumn; Argentina Luis Joyanes Aguilar; 1996; Programacin Orientada a Objetos; McGraw-Hill; Madrid; Espaa John W Rittinghouse; 2005; A Beginner's Guide to GAMBAS Wikipedia; Programacin; http://es.wikipedia.org/wiki/Programacion; accedido 12/oct/2010 Wikipedia; Software Libre; http://es.wikipedia.org/wiki/Software_libre; accedido 12/oct/2010

16

También podría gustarte