INTRODUCCIÓN A VISUAL BASIC • Lenguaje de programación basado en objetos y dirigido por eventos (o sucesos), desarrollado por el alemán Alan Cooper para el entorno Windows de Microsoft. • Es un lenguaje de programación visual, también llamado lenguaje de 4ª generación. Esto quiere decir que un gran número de tareas se realizan sin escribir código, simplemente con operaciones gráficas realizadas con el ratón sobre la pantalla. • Es también un programa basado en objetos, aunque no orientado a objetos. La diferencia está en que utiliza objetos con propiedades y métodos, pero carece de los mecanismos de herencia y polimorfismo propios de los verdaderos lenguajes orientados a objetos como Java y C++. COMPONENTES DE UN PROYECTO • Todos los proyectos están compuestos de una interfaz de usuario o varias. • Una interfaz es un formulario (archivo .Frm) o ventana de la aplicación. • Sobre los formularios se sitúan controles. (archivos .ocx que también forman parte del proyecto). DISEÑAR LA INTERFAZ O FORMULARIO USANDO LOS CONTROLES COMPONENTES DE UN PROYECTO • También forman parte del proyecto el conjunto de procedimientos y funciones que responden a los posibles sucesos que se pueden generar sobre los controles situados en la interfaz de usuario en tiempo de ejecución. • Y todos los módulos que son precisos para otras tareas como pueden ser las de validación de los datos que se introducen en la aplicación (son los archivos .Bas). En resumen: Un programa en Visual Basic es un proyecto (.vbp) que consta de diferentes elementos, básicamente: * Formularios con su código (se dice que el código está escrito en el módulo del formulario): ficheros con extensión frm. * Módulos estándar (contienen funciones y procedimientos generales): ficheros con extensión bas. Modo de Diseño y Modo de Ejecución • La aplicación Visual Basic puede trabajar de dos modos distintos: en modo de diseño y en modo de ejecución. • En modo de diseño el usuario construye interactivamente la aplicación, colocando controles en el formulario, definiendo sus propiedades, y desarrollando funciones para gestionar los eventos. • La aplicación se prueba en modo de ejecución. En ese caso el usuario actúa sobre el programa (introduce eventos) y prueba cómo responde el programa. Hay algunas propiedades de los controles que deben establecerse en modo de diseño, pero muchas otras pueden cambiarse en tiempo de ejecución desde el programa escrito en Visual Basic 6.0, en la forma en que más adelante se verá. • También hay propiedades que sólo pueden establecerse en modo de ejecución y que no son visibles en modo de diseño. EVENTOS Y MÉTODOS • Eventos Ya se ha dicho que las acciones del usuario sobre el programa se llaman eventos. Son eventos típicos el clicar sobre un botón, el hacer doble clic sobre el nombre de un fichero para abrirlo, el arrastrar un icono, el pulsar una tecla o combinación de teclas, el elegir una opción de un menú, el escribir en una caja de texto, o simplemente mover el ratón. Cada vez que se produce un evento sobre un determinado tipo de control, Visual Basic 6.0 arranca una determinada función o procedimiento que realiza la acción programada por el usuario para ese evento concreto. Estos procedimientos se llaman con un nombre que se forma a partir del nombre del objeto y el nombre del evento, separados por el carácter (_), como por ejemplo txtBox_click, que es el nombre del procedimiento que se ocupará de responder al evento click en el objeto txtBox. • Métodos Los métodos son funciones que también son llamadas desde programa, pero a diferencia de los procedimientos no son programadas por el usuario, sino que vienen ya pre-programadas con el lenguaje. Los métodos realizan tareas típicas, previsibles y comunes para todas las aplicaciones. De ahí que vengan con el lenguaje y que se libere al usuario de la tarea de programarlos. Cada tipo de objeto o de control tiene sus propios métodos. Por ejemplo, los controles gráficos tienen un método llamado Line que se encarga de dibujar líneas rectas. De la misma forma existe un método llamado Circle que dibuja circunferencias y arcos de circunferencia. DISEÑO DE LA APLICACIÓN: CONTROLES • • • • • • • • • • Puntero: cancela el dibujo de un control y restablece el puntero del ratón. PictureBox (caja de imágenes): contiene y muestra una imagen gráfica. Label (etiqueta): muestra texto como una etiqueta que no puede ser modificada por el usuario en tiempo de ejecución. TextBox (caja de texto): sirve para mostrar un cuadro de texto a través del cual el usuario puede introducir o modificar datos. Su contenido también puede bloquearse. Frame (marco): describe un marco de agrupamiento en el que se pueden incluir controles del mismo tipo formando una isla de controles independientes de otros de su misma clase dentro de un mismo formulario. CommandButton (botón de comando): botones de órdenes para que, cuando se pulse sobre él, se inicie un proceso. Puede estar etiquetado con un rótulo o icono que indiquen la tarea que se inicia al ser pulsado. CheckBox (casilla de verificación): las casillas de verificación permiten la elección de una o varias opciones. No son excluyentes, es decir, se pueden elegir varias de ellas a la vez. OptionButton (botón de opción): permiten la elección de una o varias opciones. Son excluyentes, es decir, sólo se puede elegir uno de los que se incluyen en el mismo formulario. Si se pretende que se pueda elegir más de uno, deberá incluirse cada grupo de opciones excluyentes en un Frame. ComboBox (lista desplegable): lista un grupo de elementos de los que se puede elegir uno o varios. Permite incluir nuevos elementos en tiempo de ejecución. ListBox (lista): muestra una lista de elementos de los que se puede elegir uno o varios. Es una lista cerrada, en tiempo de ejecución el usuario no puede añadir nuevos elementos. • • • • • • • • • • HScrollBar (barra de desplazamiento horizontal): origina un valor basado en la posición horizontal que ocupa en la barra un cuadro que se desplaza sobre ella. VScrollBar (barra de desplazamiento vertical): origina un valor basado en la posición vertical que ocupa en la barra un cuadro que se desplaza sobre ella. Timer (temporizador): permite que se ejecuten tareas dependiendo del valor que se establezca como intervalo. DriveListBox (lista de unidades de disco): muestra las diferentes unidades de disco para que el usuario pueda elegir una para situarse en ella. DirListBox (lista de directorios): muestra los diferentes directorios o carpetas de la unidad de disco para que el usuario pueda elegir uno y situarse en él. FileListBox (lista de archivos): muestra y permite que el usuario elija entre los archivos del directorio elegido de la unidad actual. Shape (figura): permite incluir formas geométricas. Line (línea): permite incluir líneas. Image (imagen): almacena y muestra una imagen. Permite adaptar el tamaño de la imagen al que se especifique para este control, aumentando o disminuyendo el tamaño original. Data (conexión a origen de datos): proporciona un enlace con tablas de bases de datos. Código: Módulos • Los procedimientos Sub / End Sub son el módulo base para responder a los sucesos que se producen sobre los controles de un formulario en tiempo de ejecución. Sub Nombreprocedimiento (Lista de parámetros formales) [declaraciones variables locales] Cuerpo del procedimiento (sentencias que consiguen la ejecución de las tareas previstas) End Sub Sentencias • • • • • Manipulan datos de entrada para producir unos resultados Buena práctica: una sentencia por línea Comentarios (‘) Sentencia End Sentencias de asignación – Establecen propiedades de controles (Control.propiedad = valor) Ejemplos: Text1.Text = “” Label1.Caption = “Hola, mundo” Command1.Visible = True Form1.Left = Form1.Left – 75 Text1.Text = Text1.Text & “g” • Propiedad por omisión • Propiedades lógicas Sentencias • Sentencias de asignación – Asignan valores a variables (Nombrevariable = valor) Ejemplos: arista = Val(Text1.Text) contador = contador + 1 VARIABLES • Identificadores de una zona de memoria que tiene que almacenar un dato o valor que puede ser modificado a lo largo del proceso. • Aunque no sea necesario, deben declararse antes de utilizarlas en cualquier expresión. • El nombre debe tener como máximo 40 caracteres. El primer carácter debe ser siempre una letra y sólo se admiten letras, números y el subrayado. • Se deben elegir nombres significativos. VARIABLES: TIPOS DE DATOS • Tipo entero – Byte – Integer – Long • Tipo real – Single – Double • Tipo cadena (String) • Tipo lógico (Boolean) • Tipo fecha (Date) EXPRESIONES Y OPERACIONES ARITMÉTICAS • Expresión = unión de operadores y operandos • Operadores de texto (&,+,…) • Operadores aritméticos: () ^ */ \ mod +- OPERACIONES DE E/S SALIDA • Msgbox • Label.Caption • Print ENTRADA • TextBox.Text • Msgbox () • InputBox()