Nuestra herramienta: GAMBAS

Documentos relacionados
Elementos de un programa en C

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Macros y Visual Basic para Aplicaciones en Excel

Computación II. Introducción a Visual Basic

FUNDAMENTOS DE INFORMÁTICA

Editor de código Visual Basic. Lista de miembros automática, sugerencias de sintaxis, autocompletado y otras opciones. (CU00313A)

PHP: Lenguaje de programación

TEMA 4. ESTRUCTURAS DE CONTROL

Parte 4: Estructuras de Control

Índice general. Capítulo 1 Conceptos básicos. Capítulo 2 Controles básicos I. Pág. N. 1

ESCUELA DE INFORMÁTICA

Guía práctica de estudio 05: Diagramas de flujo

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

GLOSARIO DE MICROSOFT VISUAL BASIC (HAZ CLIC EN LA OPCION DEL MENU Y ACCEDERAS RAPIDAMENTE)

Programación en Visual Basic Ricardo Rodríguez García

Microsoft Visual Studio está basado en.net framework. Definiciones de.net Framework:

Sentencias o instrucciones en Visual BASIC

UNIDAD 4. MODIFICAR TABLAS DE DATOS

Manual de turbo pascal

1

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

índice MÓDULO 1: Introducción a Visual Basic 6.0 MÓDULO 2: Fundamentos de programación TEMA 1. Introducción a Visual Basic 6.0

OPENOFFICE IMPRESS. Creación básica de presentaciones digitales

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

En este artículo vamos a conocer los tipos de datos que podemos manejar programando en C.

INDICE Parte 1. Visual Basic Capitulo 1. Qué es Visual Basic? Capitulo 22. Mi Primera Aplicación Capitulo 3. Elementos del lenguaje

Estructuras de Control

REFERENCIA DEL LENGUAJE

Microsoft Word. Microsoft Word 2013 SALOMÓN CCANCE. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Estructuras de control

5.3 CREAR FORMULARIOS

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.

Indice del curso básico programación desde cero Visual Basic Nivel I (CU00302A)

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

COLEGIO PABLO DE TARSO IED CONSTRUCCION DE PROYECTOS DE VIDA PRODUCTIVOS DREAMWEAVER UNO- PRÁCTICAS DOC RAUL MONROY PAMPLONA

Objetivo: Construir un programa integrando sentencias de decisión MARCO TEÓRICO

Comencemos a programar con. Entrega 10. Estructuras de Control II

Contenido Introducción... 1 Instalación del Cliente... 2 Acceso vía Web... 7 He olvidado la contraseña... 8 Quiero cambiar la contraseña...

Operadores y Expresiones

La última versión disponible cuando se redactó este manual era la 5 Beta (versión ), y sobre ella versa este manual.

Ciclos. Recordando Estructuras de Control Básicas: SELECCIÓN (condición) SECUENCIAL

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

Tutorial Básico de vbscript

EDUComputacion. Te ofrece el curso de:

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.

PROGRAMACION EN VISUAL BASIC

PROGRAMACIÓN VISUAL CON GAMBAS

Macros y Visual Basic para Aplicaciones en Excel

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

Estructuras en LabVIEW.

Cómo gestionar el correo procedente de la lista de correo de la Asamblea. Recomendaciones de la Comisión de Comunicación - HOTMAIL

Los nombres y marcas comerciales mencionados en este manual son propiedad de sus respectivos autores o fabricantes.

ENTORNO DE DESARROLLO Y COMPILACIÓN DE PELLES C

Uso de blogs. Creación y administración de blogs. Pedro A. Castillo Valdivieso Depto. Arquitectura y Tecnología de Computadores

Arrays unidimensionales. Dim.Option Base. Erase. Ejemplos en Visual Basic (CU00311A)

Microsoft Excel 2010 Completo + Profesional

TIPOS DE CAMPOS Cada Sistema de Base de Datos posee tipos de campos que pueden ser similares o diferentes.

Creación y manejo de la base de datos y tablas

TEMA 3: El proceso de compilación, del código fuente al código máquina

media = ( temp0 + temp1 + temp2 + temp3 + temp temp23 ) / 24; printf( "\nla temperatura media es %f\n", media );

fundamentos de programación (unidad 4) programación estructurada en Java

Manejo de Software para Microcomputadoras. Visual Basic para Aplicaciones en Excel

Creación de la KB. Page1. Video filmado con GeneXus X Evolution 3. Vamos a ejecutar a GeneXus

Programación en java. Estructuras algorítmicas

CUADRO DE CONTROL CONTROLES ACTIVEX

Tema: Repaso sobre el uso del IDE de Microsoft Visual C#.

Enteros. Son los números que no contienen componentes fraccionarios y, por tanto, no contienen punto decimal.

Tema 2. El lenguaje JAVA

2. EXPRESIONES 3. OPERADORES Y OPERANDOS 4. INDENTIFICADORES COMO LOCALIDADES DE MEMORIA

Fundamentos de la Programación

FORMATO CONDICIONAL EN EXCEL

INSTITUCION EDUCATIVA MANUEL ANGEL ANACHURY AREA: TECNOLOGIA E INFORMATICA

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

Ficha de Aprendizaje N 13

Herramientas de Programación. M.C. Juan Carlos Olivares Rojas

GESTIÓN DEL CORREO. Buscar y marcar mensajes. Buscar mensajes: Revisar leídos y no leídos

FUNCIONES PHP: DECLARACIÓN Y LLAMADAS. PARÁMETROS, RETURN. EJERCICIOS EJEMPLOS RESUELTOS. (CU00827B)

Seleccione en el escritorio el programa Sucosoft S40 y darle doble click.

DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA

Manual Básico de OpenOffice Calc

TALLER DE EXCEL BÁSICO

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Java para no Programadores

Práctica 3 Ambiente de desarrollo Visual

Tema: Entorno a C# y Estructuras Secuenciales.

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

MICROSOFT EXCEL MICROSOFT EXCEL Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Cómo crear el objeto Juego de Pistas en Eduloc

Truco para encontrar y reemplazar líneas manuales por marcas de párrafo

Actividad de Evaluación Brandon Emmanuelle Cuevas Rangel GPO: 303 Carrera: Informática 3er Semestre Joel Rocha Barocio Cienega de Flores N.L.

Depurar programas

Guía del Curso Certificación It en Microsoft Excel VBA para Excel: Macros and Graphics Expert

Programación con Visual C#

Ejercicios ejemplo: verificación de algoritmos del valor suma de una sucesión matemática. (CU00238A)

TEMA 3: DIBUJO VECTORIAL. Realización de dibujos vectoriales con la herramienta OpenOffice Draw

Cómo crear un Juego de preguntas en Educamóvil

Operaciones básicas con hojas de cálculo

Transcripción:

Introducción Este míni-manual esta pensado y orientado para los asistentes al taller de Gambas. Dado que, a priori, esperamos la asistencia de gente sin conocimientos previos de programación este texto va a ser escueto y muy elemental. Además de dar una formación teórica básica tiene el propósito de servir como chuleta para poder consultar las sintaxis más elementales como por ejemplo de las condicionales, bucles, etc.

Nuestra herramienta: GAMBAS Vamos a usar Gambas, un lenguaje de programación visual similar al Visual Basic de Microsoft. Gambas dispone de su propio IDE. Un IDE, por sus siglas en inglés, es un entorno de desarrollo integrado. Gambas es lo que se conoce como un lenguaje de programación interpretado y como ocurre con GNU que es un acrónimo recurrente (Gnu No es Unix) Gambas significa Gambas Almost Means BASic, que traducido al castellano es Gambas Casi es BASic. Los IDE's son unos programas que aglutinan todo lo que necesitamos para programar. Tenemos un editor para picar (vamos a ir introduciéndonos en la jerga del programador) código, con resaltado por colores, autocompletado para ayudarnos en la edición, señalización de errores, etc. Un depurador para poder controlar la ejecución del programa y evaluar su comportamiento con sus inspectores de variables, objetos, etc. Un compilador para generar los binarios, bytecodes, ejecutables, etc. Un empaquetador para crear los instaladores. Además disponen de otras herramientas como gestores de servicios SVC para el control de versiones como GIT o similares. Editores de conexión a bases de datos, etc. Lo primero que vemos al ejecutar Gambas la ventana de bienvenida y nos da varias opciones, abrir un proyecto existente, crear uno nuevo o abrir recientes. Seleccionamos la que necesitemos. Si elegimos crear uno nuevo debemos completar algunos datos. Lo primero el tipo de proyecto, en nuestro caso Aplicación gráfica. Después nos pide donde queremos guardar el proyecto, elegimos la ubicación que más nos guste. Y por último un nombre para el proyecto y un título, el primero debe ser una palabra sin espacios, el segundo podemos poner lo consideremos. Pues ya está, ya tenemos nuestro proyecto. Pero y que es todo esto? Pues vamos a poner una foto con el nombre de cada cosa.

Empecemos a diseñar nuestra ventana, y esto es tan fácil como arrastrar los controles desde la ventana de herramientas hasta el área de trabajo. Fácil no? Consideraciones, hay muchos controles, ordenados por categorías, pero para empezar solo algunos: Los señalados en rojo son los más elementales. La A, es el control Label o etiqueta y con ellos se hacen las típicas descripciones que encontramos al lado, por ejemplo de un cuadro de texto o TextBox que es el cuadrado con la abc. Las etiquetas no son editables por el usuario, se pueden cambiar sus propiedades únicamente en tiempo de edición o en tiempo de ejecución mediante código. En cambio en los Textbox podemos escribir durante la ejecución, y se usan para la introducción de datos al programa. El botón, el del OK se usa típicamente confirmar o iniciar la ejecución de código. En azul encontramos otros controles muy útiles pero en menos medida. El circulo se conoce como RadioButton y se usa en casos donde necesitamos que el usuario elija entre varias opciones excluyentes entre ellas, por ejemplo subir o bajar, no podemos hacer las dos a la vez. El cuadrado es conocido como CheckBox y sirve para que el usuario elija opciones, podemos seleccionar más de una, por ejemplo comer arroz y beber agua, podemos elegir las 2. Bien, una vez tenemos los controles en nuestro formulario podemos cambiarles las propiedades, incluido el propio formulario, desde la ventana de propiedades. Esto lo hacemos, primero para que al iniciar tengamos una serie de cosas ya hechas, por ejemplo, muchos controles disponen de la propiedad text donde podemos definir el texto que se mostrara de inicio en pantalla. Y segundo, hay una propiedad que los primerizos no suelen tener en cuenta, la propiedad name nos permite identificar los controles. Cuando los añadimos se numeran, con lo que al final si no cambias los nombres seguirle la pista a Label1, Label2, Label3,.., Label50 es complicado saber cual es cual. Podemos darle el nombre que queramos, pero es bueno tener un sistema, por ejemplo yo uso 3 consonantes del control en minúsculas y un nombre descriptivo empezando en mayúscula, para un Textbox donde queremos que el usuario introduzca un nombre usaría txtnombreusuario, y la etiqueta correspondiente sería lblnombreusuario A nivel de edición esto es lo más básico para empezar a usar el IDE, ahora vamos a empezar con la chuleta de código.

Empezando con el código Aquí está la madre del cordero, la parte de diseño es necesaria, pero sin el código no hacemos nada. Así que vamos a ponernos al lío. Lo primero que tenemos que saber es que hay una serie de palabras reservadas que no podemos usar como identificadores. La ventaja es que los lenguajes de programación se orientan al inglés, con lo que las palabras reservadas no nos afectarán mucho. Esencialmente se trata de las expresiones reservadas para las instrucciones, como por ejemplo if, then, do, while, etc... o tipos de dato como string, integer, long, etc. Lo primero debemos saber que cada control tiene una serie de eventos. Los eventos son una especie de disparadores de código. Los eventos se enmarcan en un bloque definido por las instrucciones Public Sub y End. Estos bloques se conocen como métodos o subrutinas, de ahí lo de sub. Cada control tiene un evento principal, para los botones es click o para las cajas de texto es keypress (pulsación de tecla). Si en la ventana de edición hacemos doble click sobre un control nos moverá automáticamente al código asociado al evento principal de ese control. Si queremos cambiar el evento, solo tenemos que borrar hasta el _, el autocompletar desplegará una lista con todos los eventos disponibles para ese control. En la imagen anterior ya se puede apreciar otra característica, si queremos cambiar una propiedad determinada de un control podemos acceder a ella mediante el., con Label1.Text podemos cambiar el texto que se mostrará en pantalla. Para manejar datos necesitamos conocerlos. Los principales son Integer, para los enteros sin decimales. Float, números con decimales. String para las cadenas de texto. Boolean para verdadero o falso. Hay más, como por ejemplo Short para enteros cortos (hasta +/- 32.767) o Date para almacenar fechas. En la documentación de Gambas podemos encontrar todos lo tipos disponibles. Para usar los tipos de datos hemos de definir lo que se conoce como variables. Se usa un identificador, de forma similar a los controles. Y se definen con las palabras reservadas Dim y as de la siguiente manera Dim nombrevariable As Integer. Aunque no es obligatorio, ya que por defecto se les asigna un valor, podemos inicializarla, esto es útil si el valor de base es diferente del que viene por defecto y además lo conocemos. Esto nos ahorra una linea de código y se hace así Dim nombrevariable As Integer = 23. Siempre tenemos que definirlas al principio del método donde queramos usarlas.

Podemos cambiar el valor de las variables tantas veces como sea necesario, pero no podemos cambiar el tipo de dato, esto es muy importante. Si asignamos un tipo de dato entero es entero y no podemos cambiarlo. La división de 5 / 2 nos daría 2'5, pero la variable solo guardará el 2, la parte entera de la división. Podemos usarlas de forma circular, es decir podemos realizar la siguiente suma de un entero variable=variable + 3 y esto se puede hacer por que no realizamos la operación sobre la variable sino que se asigna el valor tras la operación. Lo que realmente le estamos diciendo al programa es coge el valor de variable y súmale 3, cuando acabes lo guardas en variable. Existe otra figura, los arrays o matrices, y son colecciones de datos bajo un mismo identificador. Los arrays pueden tener varias dimensiones y se definen casi igual que las variables, Dim variable as Integer[] o Dim variable as Integer[3]. La diferencia entre ambas es que la primera tiene un tamaño dinámico y la otra esta limitado a 3. Esto significa que bajo el identificador variable podemos guardar hasta 3 valores enteros. Las dimensiones se definen con el número de []. Las constantes son variables fijas. Sirven para definir datos fijos que conocemos de antemano, que estamos seguros no van a cambiar y que vamos a usar de forma recurrente. Por ejemplo, el número pi. Normalmente se declaran al principio del módulo o clase y con las palabras reservadas Private o Public dependiendo del ámbito. Los programas pueden ser realmente extensos y complejos. Los métodos pueden contener cientos de líneas de código que llaman a a otros métodos y funciones, operaciones matemáticas, muchas variables, etc. Por eso es importante comentar el código. Esto permite añadir líneas en código que serán ignoradas por el compilador/interprete y ayudarán a leer el código posteriormente para futuras actualizaciones o ediciones, por nosotros o por otras personas. En gambas, igual que en visual basic, se utiliza el apostrofe sencillo ' para indicar un comentario. Los número se ponen tal cual, no hay problemas. Pero para el uso de texto siempre tenemos que entrecomillarlo. Igual que en la imagen anterior.

Manejando el flujo El código se ejecuta de arriba hacia abajo, siguiendo escrupulosamente el orden de la lineas. Pero eso no significa que no podamos manejarlo. Para eso tenemos varias herramientas, la primera es el tipo de programación, bien modular o bien la programación orientada a objetos. Tienen diferencias sustanciales entre una y otra, pero esencialmente las dos dividen los fragmentos de código en bloques independientes y que se ejecutan bajo demanda. Después tenemos las estructuras de control de flujo que sirven esencialmente para dirigir la ejecución hacia unos determinados fragmentos de código. Respecto a la programación modular, solo decir que va implícita en gambas. Al hacer doble click en un botón accedemos a la porción de código que se ejecutara única y exclusivamente si hacemos click sobre ese botón en tiempo de ejecución. También podemos crearnos bibliotecas de métodos y funciones para ser llamadas por el programa. La diferencia fundamental entre un método y una función es que la segunda devuelve un resultado y la primera no. La sentencia if then else, para mi es la instrucción más elemental. Conocida como instrucción condicional evalúa una expresión, por ejemplo el resultado de una suma y si la condición se cumple ejecuta el código, si no lo ignora. If (2+2=4) then ejecuta código end if Podemos, si queremos, asignarle un valor por defecto, por si la condición no se cumple. If (2+2=4) then ejecuta código 1 else ejecuta código 2 end if Podemos anidar diferentes instrucciones, unas dentro de otras. If (2+2=5) then ejecuta código 1 else If (2+2=4) then ejecuta código 2 else ejecuta código 3 end if

También podemos hacer evaluaciones complejas donde se evalúan varias condiciones como por ejemplo. If (2+2=4 AND 3-1=2 OR 10-10=0) then ejecuta código 1 else ejecuta código 2 end if Incluso hacer que funcione con el resultado inverso. If ( NOT 2+2=4 AND 3-1=2 OR 10-10=0) then ejecuta código 1 else ejecuta código 2 end if Con esta simple instrucción podremos dominar el flujo del programa. Pero podemos encontrarnos con algunos problemas de uso, o de eficiencia de uso. A veces una variable pueda adoptar muchos valores. Por ejemplo los meses del año. Programar 12 condicionales anidadas puede ser dramático. Para eso existen los selectores con la instrucción Select Case. Es una especie de lista de valores para una expresión. Dim mes as Integer mes = obtiene el número del mes actual Select mes Case 1 Enero Case 2 Febrero Case 3 Marzo.. Case 12 Diciembre End Select En este caso también podemos asignarle un valor por defecto, igual que con el if. Select mes Case 1 Enero Case 2 Febrero Case 3 Marzo.. Case 12 Diciembre Case else No se el mes End Select

En estos casos conocemos los posibles valores de las variables, pero puede que no sepamos el valor que pueden tomar, por ejemplo las horas del día y si es mañana, tarde o noche. Para eso se pueden usar los intervalos. Case 7 to 12 Mañana Podemos evaluar texto, no tiene por que ser un número. Se hace entrecomillando el texto. Case texto Es un texto Con estas herramientas controlamos el flujo dentro del programa, método o función para que ejecute un determinado código, pero podemos necesitar ejecutar un código varias veces por la razón que sea. Por ejemplo para un contador o para que el programa compruebe que se cumple una determinada condición sin la cual no se puede seguir. O por que necesitamos recorrer un texto buscando algo. Existen varios hay que destacar for de entre los otros, ya que este se ejecuta para un determinado número de repeticiones conocido de antemano. FOR contador = 1 TO 20 STEP 3 ejecuta código NEXT En este caso el bucle contara de 1 a 20 a intervalos de 3, cuando contador pase de 20 dejara de repetirse. Después tenemos los bucles infinitos, estos se ejecutan mientras una determinada condición es cierta. Ojo con estos bucles, nos metemos en infinito por menos de nada. Básicamente todos hacen lo mismo, la diferencia entre ellos es el momento de evaluar la condición. While y Do While evalúan la condición al inicio del bucle, lo que significa que si la condición es falsa no se ejecutara nunca. La sintaxis de ambos es similar. [Do While / While] contador <=10 ' La condición se evalúa aquí ejecuta código INC contador 'esto es igual que poner contador = contador +1 [Loop / Wend] En este caso el bucle se repite mientras el contador es menor o igual que 10. Podemos usar el bucle Do Until, en este caso la evaluación se realiza al final, lo que significa que el código se ejecutara por lo menos una vez. Eso significa que debemos tener en cuenta las iteraciones ya que para el mismo resultado que con la estructura anterior la condición a evaluar es distinta. Do ejecuta código INC contador 'esto es igual que poner contador = contador +1 Loop Until contador= 11 ' La condición se evalúa aquí En este caso el bucle se repite mientras el contador no sea igual 11, mientras sea menor se repetirá por eso si ponemos <=10 como en el anterior solo se repetiría 1 vez, la condición se cumple en la primera iteración (1 es menor que 10) y si ponemos = 10 solo lo haría 9 veces.

Glosario En está última página tenéis un pequeño glosario para algunos conceptos que hay aquí. Picar código: escribir código, programar. Tiempo de desarrollo: Es el momento en el cual picamos código y podemos editar sus propiedades de forma manual. Los errores en esta fase suelen ser de tipo sintáctico o tipográficos y generalmente fáciles de corregir y localizar. Tiempo de ejecución: Es cuando el programa se ejecuta de forma autónoma. Los errores en esta fase suelen venir asociados a errores de programación, por ejemplo un uso incorrecto de datos y generalmente difíciles de resolver, ya que no se ven fácilmente. Por ejemplo intentamos hacer una división entre 0. Depurador: Es una de las herramientas más útiles de IDE. Nos permite parar o reanudar la ejecución del código. Evaluar las variables y los valores que contiene. Ejecutar paso a paso, etc. Módulo: Es un archivo de código fuente, sin interfaz gráfica, donde programamos métodos y funciones que vamos a usar de forma recurrente a lo largo de todo el programa. Tiene varias ventajas, la primera es que de esta forma si hay que cambiar algo solo tendremos que modificar en un sitio y no andar buscando por todo el código. Y la segunda es que como suelen ser funciones genéricas podremos reciclarlas para otros proyectos. Expresión: Son operaciones matemáticas, de concatenación, asignación de valores, etc. Instrucción: Orden que se le da al programa para que haga algo. Sentencia: El conjunto de una instrucción más una expresión. Servicio SVC: Los servicios de control de versiones sirven para ayudar a los desarrolladores a mantener un código limpio y estable. Estos servicios guardan los cambios producidos en el código a lo largo del tiempo de forma que podemos recuperar cualquier estado previo. Son especialmente útiles en grandes proyectos donde hay varios desarrolladores implicados. Controles: Funcionalidades que el IDE nos facilita para poder hacer nuestro programa. Son controles los botones, cajas de texto, la propia ventana, las etiquetas, etc.