36
Lab. Geomática II – Ingeniería Civil Geográfica 25/04/2005 1 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.

Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Embed Size (px)

Citation preview

Page 1: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

1

Programación con Visual Basic 6

Introducción y Repaso

Lab. Geomática IIDepto. Ingeniería Geográfica ~ USACH ~ CHILE

Profesor: Ing. Marcos Medina Tapia.

Page 2: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

2

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.

Page 3: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

3

Tipos de programas • Programas secuencial (llamados también tipo batch): es un

programa que se arranca, lee los datos que necesita, realiza loscá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.

Page 4: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

4

• 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 SymbolicInstruction Code) que fue creado en su versión original en el DartmouthCollege, 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.

Page 5: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

5

• 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.

Conceptos relacionados a la programación orientada a objetos

Page 6: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

6

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.

Page 7: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

7

Ejemplo de un programa de Visual Basic'Programa que calcula el área de un círculo

Option ExplicitPrivate Sub Form_Load()

‘Declaración de variables Dim area As DoubleDim radio As DoubleConst PI = 3.141592653

'Input para la entrada de datos por el tecladoradio = InputBox("Ingrese el radio del círculo", "Ingresar", "")area = PI * radio * radio

'Mensaje para visualizar los datos en pantallaMsgBox ("El área del círculo es: " & area)

End Sub

Page 8: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

8

Elementos de Visual Basic

• Comentarios• Constantes• Variables• Operadores• Sentencia de asignación• Estructuras de datos• Funciones y procedimientos• Funciones y procedimientos intrínsecos

Page 9: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

9

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 ( ’ )

Page 10: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

10

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”

Page 11: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

11

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.

Page 12: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

12

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,…)

Page 13: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

13

Tipos de datos

fechas, permite operar con ellasDATE

cadenas de caracteres STRING

válido para valores de tipo monedaCURRENCY

admite valores decimales de doble precisiónDOUBLE

admite valores decimales con precisión simpleSINGLE

admite valores entre -2.147.483.648 y 2.147.483.647LONG

admite valores entre -32768 y 32767INTEGER

admite valores entre 0 y 255BYTE

Sólo admite 2 valores TRUE o FALSEBOOLEAN

CaracterísticasTipo

Page 14: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

14

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

Page 15: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

15

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

Page 16: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

16

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 / tiempoPrecio_total = precio * 10

Page 17: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

17

• Permiten tomar decisiones y realizar procesos repetidos.• If…Then…End if• Select Case• For…Next• While…Wend• Do…Loop• With…End With• Goto

Sentencia de control

Page 18: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

18

Sentencia If

If condicion Thensentencia(s)1

[Elsesentencia(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 Thensentencia(s)1

[ElseIf condicion2 Thensentencia(s)2]

[Elsesentenci(a)n]

End If

Permite “tomar una decisión” de la acción a ejecutar basándose en un resultado boleano.

Page 19: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

19

Select Case

Select Case expresionCase etiq1

sentencia1[Case etiq2

sentencia2][Case Else

sentencia3]End Select

Permite ejecutar una de varias acciones en función del valor de una expresión.

Select Case xCase 1, 2, 3

Msgbox “Valor 1, 2 ó 3”Case 4, 5, 6

Msgbox “Valor 4, 5 ó 6”Case Else

Msgbox “Valor >= 7”End Select

Page 20: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

20

For…Next

For variable = Valor1 To Valor2 [Step Valor3]Sentencias [Exit For]Sentencias

Next [variable]

Es un bucle que ejecuta una serie de sentencias, un número definido de veces.

La sentencia Exit For, permite salir del bucle antes de que termine normalmente

Dim i As Integer, suma As IntergerFor i = 1 To 99 Step 2

suma = suma + 1Next i

Page 21: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

21

While…Wend

While condiciónsentencia(s)

Wend

Es un bucle que repite la ejecución de una serie de sentencia mientras una determinada condición sea verdadera.

i = 0While i < 20

i = i +1Wend

Page 22: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

22

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 matrizdimension: número de elementos de la matriz

Page 23: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

23

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.

Page 24: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

24

• 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)]

Page 25: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

25

Funciones intrínsecas

Funciones matemáticas: nombre de variable: x

• Valor absoluto: Abs(x)• Exponencial: Exp(x)• Parte Entera: Int(x)• Logaritmo: Log(x)• Seno, coseno: Sin(x), Cos(x)• Raíz cuadrada: Sqr(x)

Page 26: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

26

Funciones de caracteresnombre 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)

Page 27: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

27

Otras funciones intrínsecas • Devuelve la fecha y hora actual: Now• Devuelve la fecha: Date• Devuelve la hora: Time

Page 28: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

28

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.

Page 29: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

29

Controles

Page 30: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

30

EventosPrivate Sub cmdCargar_Click

frmSecundario.ShowEnd Sub

Private Sub Form_Load()Msgbox(“Se inicio el formulario”)

End Sub

Page 31: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

31

Menús

Page 32: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

32

Creación de una calculadora simple

Page 33: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

33

Definición de controles

Page 34: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

34

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

Page 35: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

35

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

Page 36: Lab9 Visual Basic - Tripodmembers.tripod.com/geomatica_ii.cl/archivos/vb6_intro_cl.pdf · encontrar hoy en día. • Visual => hace referencia ... Una caja de texto (TextBox) en la

Lab. Geomática II – Ingeniería Civil Geográfica25/04/2005

36