Curso de Visual Basic 6.0 en Monterrey
Curso de Visual Basic 6.0 en Monterrey
0
Instructor: _______________________________
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved.
Soluciones para la Industria
Ofrecemos venta de
equipos de Automatización
Contacto: Ave. Simón Bolívar #1523-A , Col. Mitras Centro
Olga Rodríguez Mónica Patricia Jacobo
Monterrey, Nuevo León México C.P. 64460
orodriguez@[Link] mjacobo@[Link]
E-mail: ventas@[Link]
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved.
Objetivos del curso
1. Realizar ejercicios prácticos para que los
participantes aprendan
2. Promoveer el uso de buenas prácticas de
programación utilizando una metodología
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 3
Diagramas de flujo
Un diagrama de flujo es una serie de
símbolos conectados por flechas.
Dentro de cada símbolo se encuentra la
frase de la actividad en ese paso.
La forma de la figura representa el tipo de
operación que va a ocurrir.
A las flechas que conectan a los símbolos se
les llama líneas de flujo
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 4
Diagramas de flujo
Lineas de Flujo: Usadas para
conectar símbolos
Terminal: Utilizada para
representar el inicio y el fin de
una tarea
Entrada/Salida
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 5
Diagramas de flujo
La principal ventaja de utilizar diagramas de
flujo para planear una actividad es que
provee una representación gráfica de la
tarea, lo cual hace que la lógica sea mas
fácil de seguir
La mayor desventaja de los diagramas de
flujo es que cuando el programa es muy
grande, pueden ocupar varias páginas,
haciendose difíciles de seguir y modificar
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 6
Pseudocódigo
El pseudocódigo es una versión abreviada
del código del programa.
El pseudicódigo le permite al programador
enfocarse en los pasos necesarios para
solucionar un problema en lugar de
preocuparse en como utilizar un lenguaje de
programación
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 7
Pseudocódigo Vs Diagrama de Flujo
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 8
Ventana de Nuevo Proyecto
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 9
Pantalla inicial de Visual Basic
Barra de
herramientas
Menú
Explorador
de proyecto
Caja de
herramientas
Ventana de
propiedades
Forma
Vista de la
forma
Ventana de
proyecto
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 10
Caja de Texto
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 11
Ventana de propiedades
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 13
Propiedades de texto
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 14
Propiedades de texto
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 15
Command Button
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 16
Designando la tecla de acceso P
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 18
Insertar imágenes
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 19
Ejercicios
Cree las interfaces mostradas en las siguientes figuras
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 20
Eventos en Visual Basic
Cuando un programa de Visual Basic esta
corriendo, su foma y sus controles se muestran en
la pantalla. Normalmente nada sucede hasta que
el usuario realiza una acción, a dicha acción se le
conoce como evento
Los tres pasos para crear un programa en Visual
Basic son los siguientes
1. Crear la interface, es decir generar y posicionar
los objetos
2. Ajustar las propiedades para los objetos
3. Escribir el código que se ejecute cuando el
evento ocurra
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 21
Enunciados de asignación
Las propiedades de un objeto son midificadas en
el código mediante enunciados de la forma
[Link] = setting
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 22
Enunciados de asignación
Los enunciados de asignación asignan valores a
las propiedades
El enunciado
[Link] = 12
Pone el tamaño de los caracteres en el text box llamada
TxtBox a 12
El enunciado
[Link] = True
Convierte los caracteres en el text box a Negritas
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 23
Procedimientos de eventos
La mayoría de los eventos estan asiciados con
objetos. Los enunciados que se ejecutan cuando
un evento ocurre estan escritos en código llamado
procedimiento de evento
La estructura de un procedimiento de evento es:
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 25
Ejemplo: Procedimientos de
eventos
La ventana de código tiene dos listas drop-down.
A la lista izquierda se le conoce como Object box,
a la lista de la derecha se llama Procedure Box
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 26
Ejemplo: Procedimientos de
eventos
De la lista de procedimientos para el objeto texto,
seleccione LostFocus
Introduzca la linea
[Link]=12
Entre las dos líneas existentes
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 27
Ejemplo: Procedimientos de
eventos
Despues de que usted introduce un punto, el
editor despliega una lista de los posibles atributos
despues de el punto
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 28
Ejemplo: Procedimientos de
eventos
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 29
Ejemplo: Procedimientos de
eventos
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 30
Ejemplo: Procedimientos de
eventos
Ahora corra el programa
presionando F5 y con el boton Resumen de los
de “run” procedimientos
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 31
Ejemplo: Procedimientos de
eventos
Alpresionar el
Al introducir el
Texto boton
Al perder el
foco
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 32
Ejercicios
Al presionar uno de
los botones, la
palabra desplegada
debe alinearse según
lo que dice cada
botón:
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 33
Ejercicios
Cuando se tiene el
cursor sobre uno de los
textos, este se pone en
negritas. Los botones le
dan tamaño 12 u 8.
Al presionar los
botones se cambia el
color de las letras y/o
del fondo
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 34
Operaciones Aritméticas
En Visual Basic Cuando queremos
utilizamos la desplegar un número
siguiente notación: utilizamos una
Suma + “picture box”.
Resta – [Link] 5
División / [Link]
Multiplicación * El método Cls limpia
Exponenciar ^
la “picture box”.
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 35
Ejemplo
En el siguiente
ejemplo se aplican las
cinco operaciones
aritméticas a los
números 3 y 2
El primer paso es
crear un “picture box”
que aquí llamaremos
picResults y un botón
que llamaremos
command3.
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 36
Ejemplo
Una vez creados los
objetos se debe
escribir las siguientes
operaciones.
Al correr el programa
y presionar el botón
se deben observar los
siguientes resultados.
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 37
Operaciones Aritméticas con
Variables
Al utilizar variables, se les debe dar un
nombre y asignar un valor mediante el
signo =. Por ejemplo:
Var1 =2
Var2 = 5
Var3 = 8
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 38
Ejemplo
Para resolver un
problema en el que
se nos da una
velocidad de 50 m/s
y un tiempo de 14 s.
Calcularíamos la
distancia de la
siguiente manera
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 39
Operaciones Aritméticas con
Variables
Al manejar variables, disponemos de dos
manera de desplegar un resultado:
c = a * (2 + b) Guarda el resultado en c y
después
[Link] c despliega c.
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 40
Operaciones de comparación
En Visual Basic podemos comparar
variables y/o números utilizando la
siguiente notación:
= igual qué
<> desigual qué
< menor qué
> mayor qué
<= menor o igual qué
>= mayor o igual qué
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 41
Funciones numéricas
En Visual Basic disponemos de funciones numéricas que
extienden las capacidades matemáticas. Raíz cuadrada Sqr,
Int para quitar decimales y para redondear Round(n, r) donde
n es el número a redondear y r sería la cantidad de
decimales con la que nos queremos quedar:
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 42
Ejercicios
1. Calcule el punto de equilibrio de una fábrica: Asigne
el valor 5000 a la variable costosFijos; asigne el valor 8 a
la variable precioPorUnidad; asigne el valor 6 a la variable
costoPorUnidad; asigne el valor de costosFijos dividido
sobre la diferencia de precioPorUnidad y costoPorUnidad a
la variable puntodeEquilibrio y despliéguela en un “picture
box” al presionar un botón.
2. Cálculo de monto de compra: Asigne el valor 25.625 a
la variable costoUnitario; asigne el valor 400 a la variable
cantidad; asigne el producto de estas dos variables a la
variable monto y despliéguela en un “picture box” al
presionar un botón.
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 43
Ejercicios
3. Calcule el balance de una cuenta de ahorros
después de 10 años de haber depositado $100 con
un 5% de interés anual: Asigne el valor 100 a la
variable balance; multiplique la variable balance por 1.05
elevado a la 10ma potencia y despliéguela en un “picture
box” al presionar un botón.
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 45
Strings
En Visual Basic tenemos dos tipos
primarios de datos: Números y Strings.
Una String constante es una secuencia de
caracteres que es tratada como un solo
objeto. Los String pueden ser desplegados
con métodos Print y combinados con la
operación de concatenación (&).
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 46
Variables tipo String
Una variable tipo String es un Ejemplo:
nombre para referir un String.
Si x,y,…,z son caracteres y
strVar1 es una variable tipo Private Sub cmdButton_Click()
string donde: [Link]
[Link] “hello”
strVar1 = “xy…z” today = “9/17/99”
[Link] today
para desplegar “xy…z” End Sub
puedo:
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 47
Ejemplo: Números y Strings
Private Sub cmdCompute_Click()
[Link]
interes = 0.0655
principal = 100
phrase = “El balance después de un año es”
[Link] phrase; (1 + interes)*principal
End Sub
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 48
Concatenación
Dos Strings pueden Ejemplo
combinarse para
Private Sub cmdDisplay_Click()
formar un nuevo [Link]
String. La operación frase1 = “Árbol que crece torcido,”
frase2 = “su rama nunca endereza.”
que hace esto se frase = frase1 & frase2
llama concatenación [Link] frase & “ Refrán
popular”
y se representa con End Sub
un &.
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 49
Declaración de tipo de Variable
Al declarar una variable de cierto tipo al inicio de cada evento
hacemos programas más fáciles de leer y prevenimos errores
de programación. Esto lo hacemos con el enunciado Dim.
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 50
Alcance de las variables
Tenemos variables locales y “form- Ejemplo: x es una variable
level”.
“form-level”; y es una
variable local.
Una variable local existe únicamente
Dim x As Single
cuando el evento se está efectuando.
Puede haber variables locales de
Private Sub cmdOne_Click()
mismo nombre pero en diferentes
eventos y por lo tanto no tienen Dim y As Single
ninguna relación una con la otra. x=x+1
y=y+1
[Link] “x =”; x; “ y =”; y
Una variable “form-level” es
End Sub
reconocida por todo evento asociado
con su form.
Private Sub cmdTwo_Click()
Dim y As Single
x=x+1
y=y+1
[Link] “x =”; x; “ y =”; y
End Sub
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 51
Utilizar Text Boxes como
Entrada y Salida de datos
En Text Boxes los números son guardados
como strings. Por lo tanto debo hacer
conversiones tanto de número a string
como de string a número:
Ejemplo:
El siguiente programa
convierte millas a
kilometros y
kilometros a millas
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 53
Utilizar Text Boxes como
Entrada y Salida de datos
Ejemplo (Continuación):
Private Sub txtMillas_LostFocus()
[Link] = Str(1.6 * Val([Link]))
End Sub
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 54
Set de caracteres ASCII
Todos los caracteres están asociados con valores numéricos,
estos valores son llamados ASCII. La mayoría de tipos de
letra son gobernados por el estándar ASCII .
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 55
Comparaciones entre String
La notación para comparaciones que vimos
con los datos numéricos aplica también
para string.
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 56
Funciones con String
Left: Toma el número de caracteres indicado partiendo del
lado izquierdo.
Ejemplo: Left(“Fanatico”, 3) es “Fan”
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 57
Funciones con String
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 58
Funciones que relacionan
números y Strings
Len: Calcula la cantidad de caracteres en un
string.
Ejemplo: Len(“Un momento”) es 10
Len(“ ”) es 1
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 59
Ejemplo
El programa
analizará nombres
para separar nombre
y apellido
entregando el
número de letras en
el apellido.
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 60
Ejemplo
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 61
Funciones para dar Formatos
Las funciones para dar formato se utilizan
para desplegar números y fechas de la
forma adecuada.
Ejemplos:
FormatNumber(12345.628, 1) es 12,345.6
FormatCurrency(12345.628, 2) es $12,345.63
FormatPercent(0.185, 2) es 18.5%
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 62
Ejercicios
Haga un programa
que convierta de
grados Farenheit a
Celsius con la fórmula:
C=(5/9)*(F-32)
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 64
Entradas desde un Input Box
Cuando solamente queremos un dato del usuario y no
queremos una “Input box” ocupando espacio en la pantalla,
podemos hacer aparecer una momentanea con el siguiente
enunciado:
stringVar
Ejemplo:=EnInputBox(prompt,
el siguiente ejemplo,title)
el usuario da el nombre del archivo a
abrir.
Private Sub cmdDisplay_Click()
Dim fileName As String, prompt As String, title As String
Dim CasaNumero As Single, calle As String
[Link]
prompt = “¿En qué archivo se encuentra la información?”
title = “Nombre del archivo”
fileName = InputBox(prompt, title)
Open fileName For Input As #1
Input #1, CasaNumero
Input #1, calle
[Link] “La dirección es:”; CasaNumero; calle
Close #1
End Sub
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 65
Función Tab
Al Ejemplo:
utilizar el
enunciado
Tab(n);
El objeto desplegado
iniciará en la
enésima posición de
la línea
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 66
Message Box como Salida
Cuando se quiere enviar un mensaje momentáneo
al usuario y que éste desaparezca una vez que lo
lea utilizamos un Message Box con el siguiente
enunciado:
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 67
Ejercicios
Cree un archivo de texto llamado [Link]
que tenga la siguiente información:
“refrescos”, “millones de galones”, 23.
Haga el código para desplegar un
enunciado que indique la cantidad de
refrescos que toman los Norteamericanos
por día.
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 68
Ejercicios
En la siguiente tabla están los datos de la
actividad de tres cuentas bancarias. Haga el
código para que al presionar un botón se
despliegue el balance de fin de mes de cada
cuenta en columnas.
Número Balance al Depósitos Retiros
de Cuenta inicio de
mes
AB4057 1234.56 345.67 100.00
XY4321 789.00 120.00 350.00
GH2222 321.54 143.65 0
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 69
Procedimientos Generales
Un procedimiento de evento contiene un
bloque de código que se ejecuta cuando el
evento ocurre. Un procedimiento general es
ejecutado cuando el programador decida
ejecutarlo. Existen dos tipos de
procedimientos generales:
Sub procedimientos.
Procedimientos de función.
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 70
Sub procesos
El siguiente programa utiliza un subproceso para desplegar la
explicación de la operación que se va a realizar:
Private Sub cmdSuma_Click()
Dim num1 As Single, num2 As Single
[Link]
Call Explicacion
[Link]
num1 = 2
num2 = 3
[Link] “La suma de”; num1; “y”; num2; “es”; num1 + num2
End Sub
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 71
Sub procesos con parámetros
Con el mismo programa anterior, vamos a manejar varias
sumas utilizando un subproceso que realice la operación
recibiendo parámetros:
Private Sub cmdSuma_Click()
Dim num1 As Single, num2 As Single •También podemos enviar
[Link] como parámetros
Call Explicacion
[Link]
variables tipo string.
Call Suma(2, 3)
Call Suma(4, 6)
Call Suma(7, 8)
End Sub
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 73
Variables y Expresiones como
Argumentos
El valor de un parámetro no solamente se
envía al argumento, también el valor del
argumento se envía al parámetro.
Revisemos el siguiente ejemplo:
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 74
Procedimientos de Función
Un proceso de Ejemplo1
función se utiliza Private Function FaC(t As Single) As
Single
para entregar una ´Convierte Fahrenheit a Celsius
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 75
Ejemplo
El siguiente programa utiliza la función FaC
para calcular la conversión de grados
Fahrenheit a Celsius
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 76
Ejercicio
Haga un programa que genere un recibo de
venta. Cada vez que el usuario hace click en
un botón, un objeto y su precio deberán ser
leídos desde un par de “text boxes” y
desplegado en un “picture box”. Use una
variable “form-level” para hacer la suma de
los precios. Cuando el usuario hace click en
un segundo botón (después de que todos
los precios fueron entregados), el programa
debe desplegar la suma total de los precios,
el IVA (15% del total) y el total a pagar.
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 77
Estructuras de Decisión
Un bloque IF permite al programa decidir
que accion tomar basandose en si la
condición es verdadera o falsa.
IF condición THEN
acción1
ELSE
accion2
END IF
El código anterior causa que el programa tome la
acción1 si la condición es verdadera y la acción2
si la condición es falsa
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 78
Pseudocódigo y Diagrama de Flujo
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 79
Ejemplo 1 –Bloque IF
Escriba un programa que encuentre el mayor de
dos números introducidos por el usuario
Encuentra el
Command1 Caption Número Mayor
picResult
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 80
Ejemplo 1 – Bloque IF
De doble click al boton para insertar el código
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 81
Ejemplo 2 – Bloque IF
Escriba un programa que pida el costo y los
ingresos de una compañía y despliege el mensaje
“sin ganancia” si el costo y la utilidad son iguales,
de lo contrario que despliegue la ganancia o la
pérdida
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 82
Ejemplo 2 – Bloque IF
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 83
Bloques Select-Case
El bloque de Select-Case una estructura
eficiente de toma de decionesque simplifica
la elección entre múchas acciones. Elimina
la necesidad de multiples IFs anidados.
Las opciones del Bloque Select-Case son
determinadas por el valor de una expresion
llamada selector
Cada una de las acciones es preceida por la
clausula case
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 84
Ejemplo 1 - Bloque Select-Case
El siguiente programa convierte un número
introducido en una frase descriptiva
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 85
Ejemplo 1 - Bloque Select-Case
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 86
Ejemplo 2 - Bloque Select-Case
En la siguiente variación del ejemplo anterior, los
valores listados especifican rangos.
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 87
Ejemplo 3 - Bloque Select-Case
En esta variante del ejemplo anterior se utilizan
diferentes tipos de valores.
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 88
Ejemplo 4 - Bloque Select-Case
En el bloque Select-Case también se pueden seleccionar strings
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 89
Ejemplo 4 - Bloque Select-Case
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 90
Ejemplo 4 - Bloque Select-Case
Ejecute la aplicación, escriba diferentes nombres
en la caja de texto y presione el boton
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 91
Operaciones Lógicas
Las tres operaciones lógicas principales son And, Or
y Not.
Para la expresión
Condicion1 And Condicion2
Si ambas condiciones son verdaderas, la operación
es verdadera, de lo contrario es falsa
Para la expresión
Condicion1 Or Condicion2
Si cualquier condicion es verdadera, la operación es
verdadera, de lo contrario es falsa
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 92
Ejemplo 1 – Operaciones Lógicas
El siguiente ejemplo, tiene operaciones lógicas
en la condición IF
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 93
Ejemplo 1 – Operaciones Lógicas
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 94
Ejemplo 1 – Operaciones Lógicas
Ejecute la aplicación, escriba diferentes valores
en la caja de texto y presione el boton
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 95
Ejercicio 1 – Operaciones Lógicas
Complete la siguiente
tabla
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 96
Do Loops
Pseudocódigo y diagrama de flujo de un lazo
Do While
Es verdadera No
la condición?
Do While condicion es
verdadera Si
Procesos Ejecuta
Acciones
LOOP del lazo
Ejecuta
Acciónes
siguientes
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 97
Ejemplo 1 – Do While
Escriba un programa que despliegue los números del 1 al 10
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 98
Ejemplo 1 – Operaciones Lógicas
El siguiente programa requiere que el usuario
introduzca un password antes de mostrar el
mensaje secreto
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 99
Ejemplo 2 – Do While
El siguiente programa requiere que el usuario introduzca un password antes de mostrar el
mensaje secreto
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 10
Ejemplo 1 – Operaciones Lógicas
Ejecute la aplicación, escriba diferentes nombres
en la caja de texto y presione el boton
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 10
Ejercicio 1 – Operaciones Lógicas
En el siguiente ejercicio determine la salida
desplegada en la caja de imagen cuando el
botón es presionado
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 10
Lazos FOR…NEXT
Cuando sabemos exactamente cuantas veces
queremos ejecutar el lazo, se puede utilizar el lazo
FOR…NEXT. Los lazos For…Next son faciles de leer
y de escribir. El siguiente código utiliza el lazo
For..Next para desplegar una tabla
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 10
Pseudocódigo y Diagrama de Flujo
Inicia la
Variable de
control
Next i No
Ejecuta
acciones dentro
de lazo
Incrementa
Variable de
control
Ejecuta acciones
después de lazo
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 10
Ejemplo 1 – For…Next
Suponga que la población de una ciudad es
300,000 en el año 2006 y esta creciendo a una
tasa de 3 por ciento anual. El siguiente
programa despliega una tabla mostrando la
población cada año hasta el año 2010
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 10
Ejemplo 1 – For…Next
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 10
Ejemplo 2 – For…Next
El siguiente programa despliega los valores del
índice de un lazo For…Next para los valores
terminales introducidos por el usuario
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 10
Ejemplo 1 – For…Next
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 11
For…Next Anidados
For j For i
For k For j
For k
Next k
For k
Next k
Next k Next j
Next j Next i
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 11
Ejemplo 3 – For…Next
Escriba un programa que despliegue las
multiplicaciones de los enteros de 1 a 4
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 11
Ejemplo 3 – For…Next
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 11
Cuatro controles adicionales
Frame
Check box Boton de opción
Lista
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 11
Control Frame
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 11
Control Check Box
El siguiente programa permite a un empleado
calcular el costo anual de varios beneficios
Private Sub Check1_Click()
Call Tally
End Sub
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 11
Control Check Box
El siguiente programa permite a un empleado
calcular el costo anual de varios beneficios
Private Sub Tally()
Dim Suma As Single
If [Link] = 1 Then
Suma = Suma + 12.51
End If
If [Link] = 1 Then
Suma = Suma + 9.68
End If
If [Link] = 1 Then
Suma = Suma + 1.5
End If
If [Link] = 1 Then
Suma = Suma + 25.25
End If
[Link] = FormatCurrency(Suma)
End Sub
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 11
Control Botón de opción
Los botones de opción son utilizados para dar al
usuario una sola opción entre múltiples
opciones. Normalmente varios botones de
opción están dentro de un frame
Private Sub Option1_Click()
[Link] = 12
End Sub
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 11
Control Botón de opción
Ejecute el programa y seleccione las diferentes
opciones
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 11
Control List Box
Las cajas de lista despliegan una columna de
caracteres, conocidos como items
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 12
Control List Box
Private Sub Command1_Click()
Dim item As String
item = InputBox("Articulo a agregar;")
[Link] item
End Sub
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 12
Control List Box
Ejecute el programa y seleccione las diferentes
opciones
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 12
Introducción a Bases de Datos
Propiedad
RecordSource = Cities
Propiedad DataSource
= Data1
Propiedad DataField=
city
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 12
Problema de práctica
El acceso a la base de datos [Link] es
dado con VisualBasic 6.0 y normalmente
se almacena en el folder
ProgramFiles/Microsoft Visual Studio/VB98
¿Cómo puede uno determinar cada una de
las siguientes cantidades?
1. En número de tablas en la base de datos
2. Los nombres de los campos en las tablas
3. El número de registros en la tabla Titles
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 12
Solución al Problema de práctica
Inserte un data control, llámelo datBooks y ponga la
propiedad DatabaseName = [Link]
1. Seleccione la propiedad de RecodSource seleccione el botón
con flecha hacia abajo del lado derecho para ver la lista de
opciones. Cuente el número de las tablas.
2. Ajuste la propiedad RecordSource = Titles. Inserte un
Textbox, y líguelo a la base de datos poniendo en su
propiedad DataSource = datBooks. En la propiedad
DataField del TextBox, cuente el número de opciones que
aparecen
3. Inserte un PictureBox y un boton en la pantalla. Inserte los
enunciados
[Link]
[Link] [Link]
En el CommandDisplay_Click. Ejecute el programa y presione el
botón
[Link] Tel: (81) 1522 7231 (55) 5905 5267, (664) 288 1058 ó 01800 874 0030
®2006 On Site Tech Training. All Rights Reserved. 12