Programación con Visual Basic 6 Introducción y Repaso Lab. Geomática II Depto. Ingeniería Geográfica ~ USACH ~ CHILE Profesor: Ing. Marcos Medina Tapia. Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 1 Introducción. • Un programa informático es un conjunto de “órdenes” que al ser ejecutadas dan lugar al software. • Estas “órdenes”, del programa, son escritas con un lenguaje de programación. • Visual Basic, Visual C++, Java, Pascal son ejemplos de lenguajes de programación. Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 2 Tipos de programas • Programas secuencial (llamados también tipo batch): es un programa que se arranca, lee los datos que necesita, realiza los cálculos e imprime o guarda los resultados. • Programas interactivos: exigen la intervención del usuario en tiempo de ejecución, para suministrar datos o indicar el procedimiento mediante menús, limitando y orientando la acción del usuario. • Programas orientados a eventos: Programas típicos de Windows que se caracterizan en que esperan las acciones del usuario, acciones denominadas como eventos. Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 3 • • • • • Visual Basic es uno de los tantos lenguajes de programación que podemos encontrar hoy en día. Visual => hace referencia al método que se utiliza para crear la interfaz gráfica del usuario. Basic => hace referencia al lenguaje BASIC (Beginner´s All-purpose Symbolic Instruction Code) que fue creado en su versión original en el Dartmouth College, dirigido a las personas que estaban interesadas en iniciarse en algún lenguaje de programación. Luego de sufrir varias modificaciones, en el año 1978 se estableció el BASIC estándar. La sencillez del lenguaje ganó el desprecio de los programadores avanzados por considerarlo "un lenguaje para principiantes". Primero fue GW-BASIC, luego se transformó en QuickBASIC y actualmente se lo conoce como Basic. Actualmente, Visual Basic ya no es más "un lenguaje para principiantes" sino que una perfecta alternativa para los programadores, de cualquier nivel, que deseen desarrollar aplicaciones compatibles con Windows. Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 4 Conceptos relacionados a la programación orientada a objetos • • • • Eventos: es una acción, como hacer clic, doble clic, presionar una tecla, mover el puntero del mouse, etc. Que el usuario debe realizar para que un objeto ejecute una acción determinada donde cada control responde a diferentes eventos, algunos de ellos tienen características comunes. Los eventos pueden Visualizarse en la ventana de código. Controles: Son los objetos que conforman la interfaz gráfica de un programa; a través de ellos, un usuario interactúa con la aplicación. Sus características pueden cambiarse por medio de la ventana propiedades. Propiedades: Son los datos que hacen referencia a un objeto o formulario. Ejemplo: Color de fondo del formulario, Fuente de texto de un TextBox. Objetos: Un objeto es una entidad que tiene asociado un conjunto de métodos, eventos y propiedades. Hay muchas clases de objetos, y por tanto, puede llegar a haber tantos métodos, eventos y propiedades distintas como objetos diferentes. Ejemplo: Una caja de texto (TextBox) en la cual podemos escribir cualquier línea es un objeto. Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 5 Entorno de Visual Basic 6: • Barra de título: muestra el nombre del proyecto y del formulario que se está diseñando actualmente • Barra de menús: agrupa los menús despegables que contienes todas las operaciones que pueden llevarse a cabo con Visual Basic 6.0. • Barra de herramientas estándar: contienen los botones que se utilizan con mayor frecuencia cuando se trabaja con un proyecto. Simplifica la elección de opciones de los menús Archivo, Edición, Ver y Ejecutar; además, en el área derecha presenta la ubicación (coordenadas) y el tamaño del objeto seleccionado • Ventana de formulario: es el área donde se diseña la interfaz gráfica, es decir, es donde se inserta elementos gráficos, como botones, imágenes, casilla de verificación, cuadros de listas, etc. • Cuadro de herramientas: presenta todos los controles necesarios para diseñar una aplicación, como cuadros de texto, etiquetas, cuadros de listas, botones de comandos, etc. • Ventana de proyecto: muestra los elementos involucrados en el proyecto, como formularios, módulos, controles, etc. Cada elemento puede seleccionarse en forma independiente para su edición. • Ventana propiedades: muestra todas las propiedades del control actualmente seleccionado, en este caso muestra las propiedades del Form1, luego podemos ver que abajo dice "Form1 Form", lo que está en negrita es el nombre del objeto, y lo que le sigue es el tipo de objeto, en este caso es un Formulario (Form) • Ventana de posición del formulario: muestra la ubicación que tendrá el formulario en la pantalla, cuando ejecute la aplicación. Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 6 Ejemplo de un programa de Visual Basic 'Programa que calcula el área de un círculo Option Explicit Private Sub Form_Load() ‘Declaración de variables Dim area As Double Dim radio As Double Const PI = 3.141592653 'Input para la entrada de datos por el teclado radio = InputBox("Ingrese el radio del círculo", "Ingresar", "") area = PI * radio * radio 'Mensaje para visualizar los datos en pantalla MsgBox ("El área del círculo es: " & area) End Sub Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 7 Elementos de Visual Basic • • • • • • • • Comentarios Constantes Variables Operadores Sentencia de asignación Estructuras de datos Funciones y procedimientos Funciones y procedimientos intrínsecos Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 8 Comentarios • Los comentarios permiten al programador poner notas en el programa para facilitar su comprensión • Sintaxis: Para señalar una sentencia como comentario, es necesario anteponer una comilla simple ( ’ ) Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 9 Constantes • Una constante es un valor que no cambia durante la ejecución del programa • Una constante puede ser un número o una cadena alfanumérica • Sintaxis: [Public | Private] Const nombre_constante [As tipo] = valor • Ejemplo: – Const PI = 3.141592653 – Public Const Version = “4.0” Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 10 Variables • Una variable contiene un valor que puede ser modificado a lo largo del programa • Cada variable tiene atributos: – Nombre: característica que permite llamar a la variable – Tipo: determina los valores que puede tomar la variable (números, alfanuméricos, etc.) – Ámbito: especifica la parte del programa donde es reconocida para ser ocupada la variable. Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 11 Nombres de las variables • El nombre de la variable tiene que comenzar con una letra, con una longitud hasta de 255 caracteres, y debe ser único en su ámbito. • Puede contener letras, número, incluso el caracter “_”. • No se puede utilizar: – El punto – Los paréntesis – Palabras reservadas de Visual Basic (como For, Caption, And,…) Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 12 Tipos de datos Tipo Características BOOLEAN Sólo admite 2 valores TRUE o FALSE BYTE admite valores entre 0 y 255 INTEGER admite valores entre -32768 y 32767 LONG admite valores entre -2.147.483.648 y 2.147.483.647 SINGLE admite valores decimales con precisión simple DOUBLE admite valores decimales de doble precisión CURRENCY válido para valores de tipo moneda STRING cadenas de caracteres DATE fechas, permite operar con ellas Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 13 Declaración de variables • La declaración de variables puede ser explícita o implícita. Aunque es aconsejable declarar la variable, anteponiendo la palabra Dim o Public, según el ámbito de la variable. • La inicialización de variables es cero para variables numéricas, y es “” para variables alfanuméricas. • Ejemplos: – Dim i As Integer – Dim nombre As String – Dim x As Double, y As Double • La sentencia que obliga a realizar una declaración explícita es: Option Explicit Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 14 Operadores • Los Operadores permiten realizar operaciones, los principales son: • Aritméticos: • • • • Exponencial ^ Cambio de signo – Suma, resta +, Multiplicación, División *, / • Concatenación: • Concatenar &, + • Relacional: • Igual, Distinto, Mayor, Menor =, <>, >, >=, <, <= • Lógico: • Negación, Y, O Not, And, Or Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 15 Sentencia • Corresponde a una línea de texto que indica la operaciones a realizar, teniendo la siguiente estructura variable = expresión • Por ejemplo, Velocidad = distancia / tiempo Precio_total = precio * 10 Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 16 Sentencia de control • Permiten tomar decisiones y realizar procesos repetidos. • • • • • • • If…Then…End if Select Case For…Next While…Wend Do…Loop With…End With Goto Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 17 Sentencia If Permite “tomar una decisión” de la acción a ejecutar basándose en un resultado boleano. If condicion Then sentencia(s)1 [Else sentencia(s)2] End if Ejemplo: If a > b then Msgbox “a es mayor que b” Else Msgbox “a es menor que b” End if If condicion1 Then sentencia(s)1 [ElseIf condicion2 Then sentencia(s)2] [Else sentenci(a)n] End If Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 18 Select Case Permite ejecutar una de varias acciones en función del valor de una expresión. Select Case expresion Case etiq1 sentencia1 [Case etiq2 sentencia2] [Case Else sentencia3] End Select Select Case x Case 1, 2, 3 Msgbox “Valor 1, 2 ó 3” Case 4, 5, 6 Msgbox “Valor 4, 5 ó 6” Case Else Msgbox “Valor >= 7” End Select Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 19 For…Next Es un bucle que ejecuta una serie de sentencias, un número definido de veces. For variable = Valor1 To Valor2 [Step Valor3] Sentencias [Exit For] Sentencias Next [variable] La sentencia Exit For, permite salir del bucle antes de que termine normalmente Dim i As Integer, suma As Interger For i = 1 To 99 Step 2 suma = suma + 1 Next i Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 20 While…Wend Es un bucle que repite la ejecución de una serie de sentencia mientras una determinada condición sea verdadera. While condición sentencia(s) Wend i=0 While i < 20 i = i +1 Wend Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 21 Estructuras de datos: matrices • Una matriz es un conjunto de datos contiguos, todos del mismo tipo, que comparten un nombre en común y que es posible acceder a ellos mediante un valor que representa la posición dentro de la matriz. • Sintaxis: Dim variable[(dimension)] [As Tipo] donde variable: nombre de la matriz dimension: número de elementos de la matriz Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 22 Funciones y procedimientos • La funciones son unidades que después de haber ejecutado una serie de sentencias, devuelven un valor específico. • Los procedimientos se diferencian en que no devuelven ningún valor, solo ejecutan sus sentencias. Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 23 • Sintaxis de procedimientos: [Private|Public] [Static] Sub nombre[(argumentos)] sentencia(s) [Exit Sub] End Sub Para llamarlo, puede ser Call(nombre[(argumentos)]) nombre[(argumentos)] • Sintaxis de funciones: [Private|Public] [Static] Function nombre[(argumentos)] As tipo_variable sentencias [Exit Function] End Sub Para llamarlo var = nombre[(argumentos)] Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 24 Funciones intrínsecas Funciones matemáticas: nombre de variable: x • • • • • • Valor absoluto: Exponencial: Parte Entera: Logaritmo: Seno, coseno: Raíz cuadrada: Abs(x) Exp(x) Int(x) Log(x) Sin(x), Cos(x) Sqr(x) Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 25 Funciones de caracteres nombre de variable: s • Número de caracteres: Len(s) • Devuelve los n caracteres situados a la izquierda: Left(s) • Devuelve los n caracteres situados a la derecha: Right(s) • Devuelve una subcadena de caracteres de una ubicación m dentro de la cadena con una longitud n Mid(s, m[, n]) • Convierte una expresión en una cadena de caracteres: Cstr(s) • Convierte una cadena a mayúsculas Ucase(s) • Convierte una cadena a minúsculas Lcase(s) Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 26 Otras funciones intrínsecas • Devuelve la fecha y hora actual: • Devuelve la fecha: • Devuelve la hora: Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 Now Date Time 27 Proyectos • En Visual Basic, se estructura distintos tipos de archivos (módulos) mediante la utilización de Proyectos. La extensión de un Proyectos es *.vbp, que contiene formularios, módulos de clase, archivos de Basic estándar (*.bas ), etc. Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 28 Controles Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 29 Eventos Private Sub cmdCargar_Click frmSecundario.Show End Sub Private Sub Form_Load() Msgbox(“Se inicio el formulario”) End Sub Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 30 Menús Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 31 Creación de una calculadora simple Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 32 Definición de controles Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 33 Código Option Explicit Private Sub cmdDiv_Click() txtResult.Text = Val(txtOper1.Text) / Val(txtOper2.Text) lblOp.Caption = "/" End Sub Private Sub cmdProd_Click() txtResult.Text = Val(txtOper1.Text) * Val(txtOper2.Text) lblOp.Caption = "*" End Sub Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 34 Private Sub cmdResta_Click() txtResult.Text = Val(txtOper1.Text) - Val(txtOper2.Text) lblOp.Caption = "-" End Sub Private Sub cmdSuma_Click() txtResult.Text = Val(txtOper1.Text) + Val(txtOper2.Text) lblOp.Caption = "+" End Sub Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 35 Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 36