Story Transcript
PROGRAMACIÓN VISUAL CON GAMBAS
¿QUÉ ES GAMBAS? Gambas
es un lenguaje de programación libre derivado de BASIC. Es similar al producto de Microsoft Visual Basic Gambas no es sólo un lenguaje de programación, sino también un entorno de programación visual para desarrollar aplicaciones gráficas o de consola y distribuido bajo la licencia GPL GNU
GPL GNU La Licencia Pública General de GNU
es una licencia creada por la Free Software Foundation a mediados de los 80, y está orientada principalmente a proteger la libre distribución, modificación y uso de software. Su propósito es declarar que el software cubierto por esta licencia es software libre
BASIC BASIC es un lenguaje de programación
que originalmente fue desarrollado como una herramienta para la enseñanza; Se diseminó entre las microcomputadoras hogareñas a partir de la década de 1980, y sigue siendo muy popular hoy en día, en muchos dialectos bastante distintos del original.
¿QUÉ ES GAMBAS? Permite crear formularios, botones de
comandos, cuadros de texto.
formularios
cuadro de texto
Botones
¿QUÉ ES GAMBAS? En la clasificación que hicimos en el tema
anterior sobre los lenguajes de programación, podríamos decir que se engloba dentro de los LENGUAJES ORIENTADOS A OBJETOS.
¿QUÉ ES GAMBAS? Este tipo de lenguajes, funcionan igual
que los de ALTO NIVEL (como C), pero además utilizan diferentes OBJETOS. A estos objetos se les puede determinar tanto sus propiedades (tamaño, color...) como su comportamiento al hacer determinados EVENTOS sobre ellos (hacer clic, posar el ratón, arrastrar...)
¿POR QUÉ EL NOMBRE DE GAMBAS? El
nombre de Gambas responde al acrónimo recursivo Gambas Almost Means Basic (Gambas Casi Significa Basic), ya que no podemos considerarlo un clon de BASIC, puesto que Gambas también está muy inspirado por el lenguaje de programación Java. Debido a este nombre, el logo del proyecto Gambas es una gamba de color azul.
ACRÓNIMO RECURSIVO Un acrónimo recursivo es aquél en el que
una de las letras se refiere al acrónimo en sí, recursivamente. El ejemplo más conocido quizá sea el de GNU, que significa GNU is not UNIX. Como se ve, la G referencia al propio acrónimo en sí, haciéndolo recursivo (o recurrente según la RAE)
¿QUÉ ES GAMBAS? Con
Gambas se pueden hacer aplicaciones o programas con interfaz gráfica de forma muy rápida.
EMPEZANDO CON GAMBAS Vamos a seguir una serie de pasos, sin
pensar demasiado, para hacer una aplicación muy sencilla, esto nos servirá para familiarizarnos con Gambas, aunque aún desconozcamos muchas cosas.
http://wiki.gnulinex.org/gambas/7
Primer ejercicio
EMPEZANDO CON GAMBAS SEGUNDO EJERCICIO
EMPEZANDO CON GAMBAS TERCER EJERCICIO
INSTALAR GAMBAS PASO 1 PASO 2
OBJETOS, EVENTOS, MENSAJES Y PROCEDIMIENTOS OBJETO:
Todo programa orientado a objetos se basa en la utilización de objetos. Ejemplos de objetos: Ventanas, botones
de acción, barras de desplazamiento, listas desplegables, cuadros de texto, casillas de verificación, botones de opción ...
OBJETOS, EVENTOS, MENSAJES Y PROCEDIMIENTOS EVENTO: Un evento es una acción que se
puede realizar con un objeto. Ejemplos de eventos: hacer
clic con el ratón posar el ratón sobre el objeto pulsar el botón derecho del ratón moverlo ...
OBJETOS, EVENTOS, MENSAJES Y PROCEDIMIENTOS MENSAJE:
Cuando se ejecuta un programa orientado a objetos, todos los objetos implicados en él están recibiendo mensajes de qué está ocurriendo con los otros objetos, de modo que puedan responder cuando sea necesario. La respuesta que puede dar un objeto a un mensaje concreto no es otra que la designada por el usuario en el MÉTODO O PROCEDIMIENTO correspondiente al evento en cuestión
OBJETOS, EVENTOS, MENSAJES Y PROCEDIMIENTOS Formulario del programa; aparece al ejecutar el programa y contiene todos los objetos de este
Cuando el usuario rellene los campos necesarios y le de al botón Command1, se realizará el procedimiento asociado al evento “hacer clic” sobre dicho botón.
Todos los objetos del formulario están esperando mensajes de qué está ocurriendo
Estas son las respuestas que darán los objetos cuando ocurra el evento “hacer clic” sobre el botón Command 1
¿CÓMO SE PROGRAMA EN GAMBAS? Programar
en Gambas, como en cualquier lenguaje orientado a objetos, es una tarea algo diferente a la de otros lenguajes de programación. Los pasos son: Añadir y preparar los formularios (ventanas) Agregar los objetos(controles) a los formularios Modificar las propiedades de los objetos y formularios. Crear los procedimientos asociados a los eventos de los objetos.
OTRO EJEMPLO SENCILLO Realizar
un nuevo programa con un formulario. Dentro del formulario pondremos un cuadro de texto explicando cómo funciona el programa. Si pulsamos fuera del cuadro de texto, se mostrará un mensaje de Bienvenida. Si se pulsa sobre el cuadro de texto el programa finalizará.
OTRO EJEMPLO SENCILLO Poner un título al formulario principal PUBLIC SUB Form_MouseDown() Message.Info("Bienvenido a Gambas") END PUBLIC SUB Label1_MouseDown() FMain.Close END
Poner un borde al cuadro de texto
EJERCICIO Crear un nuevo proyecto con un único
formulario que, al hacer clic sobre él, muestre un cuadro de mensaje con tu nombre completo.
CONTROLES Puntero: Permite seleccionar formularios y controles. Etiqueta: Para escribir texto que el usuario no pueda ni deba modificar Etiqueta: Para escribir texto que el usuario no pueda ni deba modificar. Además se puede escribir texto con formato “html” Cuadro de imagen: Para mostrar gráficos e imágenes.
CONTROLES Cuadro de Película: Para insertar vídeos animados. Barra de progreso: Para mostrar cómo avanza el progreso de una determinada acción Botón de acción: Permite insertar botones que el usuario podrá utilizar al hacer clic sobre ellos para acciones concretas. Casilla de verificación: Se utilizan para indicar dos posibles estados de una opción: activada o desactivada. Botones de opción: Son parecidos a las casillas de verificacion, pero en este caso el usuario sólo podrá marcar uno de los botones que estén agrupados.
CONTROLES Marco: Servirá para agrupar controles relacionados entre sí. Por ejemplo, un conjunto de botones de opción. Barra de botones: Servirá para añadir controles que se activarán sólo cuando el ratón pase por encima. Barra de desplazamiento: Permite insertar una barra vertical u horizontal. Según la posición de la marca el programa devolverá un valor entero u otro. Lista de opciones: Permite insertar una lista de opciones, de entre las que el usuario podrá elegir.
CONTROLES Cuadro de texto: Servirá para que el usuario pueda introducir texto en el programa.
UN NUEVO PROGRAMA Insertaremos un nuevo formulario que
llevará cinco controles:
PROPIEDADES DE LOS OBJETOS Hay muchas propiedades de un objeto
que se pueden modificar, y permiten definir perfectamente su aspecto. Una de las propiedades más importantes es el nombre, puesto que será el que se tendrá que utilizar siempre que se quiera hacer alusión a él. Por defecto, el programa nombra los objetos de forma genérica con el nombre de la clase del objeto y un número.
PROPIEDADES DE LOS OBJETOS Cada propiedad puede ser modificada:
antes
de ejecutar el programa o durante la ejecución del programa
MODIFICAR LAS PROPIEDADES EN TIEMPO DE DISEÑO Para hacerlo seguiremos los pasos: 1.Seleccionar el objeto 2.Buscar la propiedad en la ventana Propiedades 3.Borrar el valor de la propiedad por defecto y escribir el nuevo valor
MODIFICAR LAS PROPIEDADES EN TIEMPO DE EJECUCIÓN Para
hacerlo debemos escribir la sentencia adecuada en alguno de los procedimientos que constituyen el programa. La forma general de hacer referencia a una propiedad de un objeto es: Objeto.Propiedad
Label3.Text
MODIFICAR EL PROGRAMA CUADRADO Al presionar el botón Calcular o Alt+C el
programa calculará el cuadrado del número introducido. Al iniciar el programa, prepararemos el cuadro de texto para que no muestre nada, y el cuadro del resultado también estará vacío. El título del formulario principal será Cálculo del cuadrado de un número Cambiar el tipo de letra para las tres etiquetas, por Sans Serif y el tamaño a 4 El tamaño de la letra para el botón será 3 El color de la letra de la etiqueta del resultado será rojo
EVENTOS EN UN PROGRAMA Cada
control tiene unos eventos determinados, aunque la mayoría de ellos son comunes a todos los controles. Los eventos de un control podrán introducirse en el código del programa dándole al botón derecho del ratón y eligiendo la opción Event.
TEXTO CON FORMATO Crear un nuevo formulario que permitirá
copiar, en una etiqueta, el texto que el usuario escriba en un cuadro de texto, aplicando un atributo (negrita, cursiva o subrayado) en función de sobre qué botón de acción se haga clic. Por otra parte al hacer clic sobre el cuadro de texto, se borrará su contenido, y al hacer doble clic sobre él, se borrará tanto el contenido del cuadro de texto como el de la etiqueta. Al pulsar el botón Salir finalizará el programa.
TEXTO CON FORMATO
TEXTO CON FORMATO Añade un botón que sirva para eliminar
atributos.
CREAR UN ARCHIVO EJECUTABLE Una
vez creado un programa y comprobadas todas sus posibilidades, puede compilarse, para crear un archivo ejecutable, que permitirá ejecutar el programa como cualquier otra aplicación instalada en el ordenador. El modo de generar este archivo es: Project -> make -> executable Ejercicio:
Crea el programa Cuadrado.
ejecutable
del
Ejercicios 1. Crear un formulario con un botón de
acción, dos cuadros de texto y diez etiquetas:
Ejercicios 2. Al pulsar sobre el botón ejecutar se
completarán los campos: Nombre
Completo (utiliza el operador & que sirve para concatenar cadenas de texto) En mayúsculas (UCase(label_nº.text)) En minúsculas (LCase(label_nº.text)) Longitud (Len(label_nº.text))
Ejercicios 3. Contesta a las siguientes preguntas:
¿Cuántos procedimientos tiene el formulario anterior? ¿A qué evento están asociados? ¿Qué significa la instrucción End de un procedimiento? 4. Compila el programa para crear un ejecutable. 5. Ejecuta el programa desde el archivo ejecutable 6. Modifica el formulario anterior para que se introduzcan el nombre, el primer apellido y el segundo en cuadros de texto independientes. Agrega un nuevo botón que permita finalizar el programa y cerrar el formulario.
TIPOS DE DATOS Y DECLARACIÓN DE VARIABLES Los datos en Gambas pueden comportarse
de dos modos: como
constantes como variables La declaración de variables se realiza de la
forma:
[DIM] Identificador AS TipoDeDato
TIPOS DE DATOS Y DECLARACIÓN DE VARIABLES Los tipos de datos que se pueden utilizar
en gambas son los siguientes:
Boolean: admite dos valores Verdadero (true) y Falso (false) Integer: admite valores enteros entre -32768 y 32767 Long: admite valores enteros entre -2147483648 y 2147483647 Single: como el tipo float en C Float: admite valores de tipo flotante, equivalente al double de C Date: admite valores de tipo fecha y hora String: para cadenas de caracteres
Ejercicio Explica
cuál será el resultado siguiente código en un formulario:
del
PUBLIC SUB Form_Activate() DIM DIM DIM DIM
molecula AS String atomos AS Integer masa1 AS Single masa2 AS Single
molecula = "Cloro" atomos = 2 masa1 = 35.453 masa2 = atomos * masa1 Message.Info("La masa molecular del " & molecula & " es " & masa2 & " uma") END
TIPOS DE DATOS Y DECLARACIÓN DE VARIABLES Las variables que hemos declarado hasta ahora
sólo estarán disponibles dentro del procedimiento en el que se declaran. Si una variable queremos utilizarla en todo el programa, tendremos que declararla de la siguiente forma: Private Identificador as TipodeDato Las
constantes sólo se pueden declarar al principio del programa, nunca dentro de un procedimiento:
Private Const Identificador as TipodeDato = valor
Ejercicio Crea un nuevo formulario para calcular la
longitud de una circunferencia y su área a partir del valor del radio. Utiliza tres variables: radio circunferencia circulo
Utiliza una constante para el valor de
PI = 3.1416
Ejercicio
OPERADORES ARITMÉTICOS SUMA: + RESTA: MULTIPLICACIÓN: * DIVISIÓN: / POTENCIA: ^ COCIENTE DE LA DIVISIÓN: \ RESTO: MOD
Ejercicio Diseña un formulario en el que deben
introducirse dos números enteros. Al pulsar el botón calcular se obtendrán las principales operaciones aritméticas.
Para que funcionen el cociente y el resto habrá que utilizar la función Cint(), que transformará el texto de cualquier TextBox en un valor numérico entero
LA FUNCIÓN INPUTBOX Existe otro modo de introducir un dato, distinto del de
escribirlo en un cuadro de texto, que consiste en utilizar la función InputBox. Esta función mostrará una caja de diálogo con el mensaje que se especifique, en la que se podrá escribir el dato que se quiere proporcionar al programa. Campos no obligatorios InputBox(mensaje,[titulo],[texto por omisión])
Texto para informar al usuaraio de qué debe introducir
Título que aparecerá en la barra de título del cuadro
Texto que aparecerá en el cuadro de datos
ESTRUCTURAS SELECTIVAS IF condicion THEN sentencia1 [ELSE sentencia2]...[ENDIF]
IF expresion THEN ... endif IF expresion THEN ... ELSE IF expresion THEN ... ELSE ... endif
Ejercicio Crea el siguiente formulario: Cuando pulsemos el botón Comparar, aparecerá en la etiqueta cuál de los dos números es mayor.
Operadores relacionales En las condiciones de la sentencia IF será
necesario utilizar los operadores relacionales: