Beruflich Dokumente
Kultur Dokumente
Cuadernillo de
PARA
trabajo para
PROGRAMACIN
PROGRAMACIN
IIII
AO 2015
51 - 52 - 53
Profesor:
Horacio Dante Satti
Alumno/a:_______________________________
Programa de Programacin II
pgina. 1
UNIDAD 5
Visual Basic
UNIDAD 6
pgina. 2
PARTE II
pgina. 3
Qu es Visual Basic?
Visual Basic es un ambiente grfico de desarrollo de aplicaciones denominado GUI (interfaz
grfica de usuario), para el sistema operativo Microsoft Windows. Las aplicaciones creadas con
Visual Basic estn basadas en objetos y son manejadas por eventos. Visual Basic se deriva
del lenguaje BASIC (Cdigo de Instrucciones Simblicas Multipropsito para Principiantes), el
cual es un lenguaje de programacin estructurado. Sin embargo, Visual Basic emplea un
modelo de programacin manejada por eventos.
Qu es un objeto?
Cuadernillo de Programacin IIProf. Horacio Dante Satti - Ao 2015
pgina. 4
Los formularios (Ventanas), mens y los distintos tipos de controles son entidades
genricas de las que puede haber varios ejemplares concretos en cada programa.
En programacin orientada a objetos (en Visual Basic deberamos decir basada en
objetos), se llama clase a estas entidades genricas, mientras que se llama objeto a cada
ejemplar de una clase determinada.
Propiedades:
El conjunto de datos que describen las caractersticas de un objeto se le conoce
como sus propiedades. Para un formulario tenemos por ejemplo, las propiedades BackColor
(color de fondo), Height (altura).
Algunas propiedades no solo determinan el aspecto que tiene el objeto, sino que
adems pueden determinar su comportamiento; por ejemplo, la propiedad MaxButton
establece si el formulario tendr o no el botn Maximizar. La presencia o ausencia de este
botn determinar si el formulario se puede o no maximizar.
Mtodos:
Los mtodos son un conjunto de procedimientos que permiten que un objeto ejecute
una accin o tarea sobre s mismo. Por ejemplo, para un formulario tenemos el mtodo Hide
que har que el formulario se oculte; o el mtodo Show que har que el formulario se vuelva a
mostrar.
Eventos:
Un evento es una accin que es reconocida por el objeto. Un evento ocurre (se
dispara) como resultado de la interaccin del usuario con el objeto. Tambin puede dispararse
debido a la ejecucin de cdigo (sentencias) o como resultado de la interaccin de otro objeto
con el objeto de poseedor del evento. Para un formulario tenemos por ejemplo; el evento Load
que se dispara cuando se carga el formulario; o el evento Click para un botn de comando, se
dispara cuando se hace clic sobre l.
pgina. 5
Si se pudiera programar un globo, el cdigo de Visual Basic podra ser como el siguiente.
Para establecer las propiedades del globo:
Globo.Color = Rojo
Globo.Dimetro = 10
Globo.Inflado = True
Observe la sintaxis del cdigo: el objeto (Globo) seguido de la propiedad (Color)
seguida de la asignacin del valor (Rojo). Podra modificar el color del globo desde el cdigo
si repitiera esta instruccin y sustituyera el valor por otro diferente. Las propiedades tambin
se pueden establecer en la ventana Propiedades mientras se est diseando la aplicacin.
Los mtodos de un globo se invocan de esta forma:
Globo.Inflar
Globo.Desinflar
Globo.Elevar 5
La sintaxis es similar a la sintaxis de las propiedades: el objeto (un nombre)
seguido de un mtodo (un verbo). En el tercer ejemplo hay un elemento adicional, llamado
argumento, que indica la distancia que se eleva. Algunos mtodos tendrn uno o ms
argumentos para describir ms a fondo la accin que se va a ejecutar.
pgina. 6
pgina. 7
Diseador
de
Barra de
Cuadro de
Herramient
Barra de
Herramie
Ventana de
Explorador
de
Ventana de
Barra de Mens:
Presenta los comandos que se usan para trabajar con Visual Basic. Adems de los
mens estndar Archivo, Edicin, Ver, Ventana y Ayuda, contiene otros mens
para tener acceso a funciones especficas de programacin, como Proyecto,
Formato o Depuracin.
Barra de Herramientas:
Permite un acceso directo (solo un clic) a muchas de las operaciones ms frecuentes
utilizadas durante el desarrollo de aplicaciones.
Cuadro de Herramientas:
Contiene todos los objetos y controles que se pueden aadir a los formularios para
crear aplicaciones.
pgina. 8
Diseador de Formularios:
Funciona como una ventana en la que se puede personalizar el diseo de la interfaz
de usuario (ventana) de una aplicacin.
Explorador de Proyectos:
Lista de los archivos (formularios, mdulos, etc.) del proyecto actual. Un Proyecto es
una coleccin de archivos que utiliza para construir una aplicacin.
Ventana de Propiedades:
Lista los valores de las propiedades del formulario o control seleccionado que pueden
ser modificados durante el diseo del formulario o control.
Ventana de Cdigo:
Funciona como un editor para escribir el cdigo (sentencias) de la aplicacin.
Ayuda en lnea:
Visual Basic proporciona una amplia ayuda en lnea. El archivo de Ayuda contiene
mucho cdigo de ejemplo que se puede copiar directamente a una aplicacin. La ayuda de
Visual Basic es sensible al contexto. Para emplear la ayuda sensible al contexto en la ventana
de cdigo, escriba la palabra para la cual desea informacin, y luego presione F1. Por ejemplo,
si desea informacin acerca de la sentencia Open, escriba Open y presione F1.
Libros en Pantalla:
Adems de la ayuda sensible al contexto, el CD-ROM de Visual Basic incluye una
versin en lnea de la documentacin impresa para Visual Basic. Para acceder a los Libros en
Pantalla, haga clic en Libros en Pantalla dentro del men Ayuda de Visual Basic.
La Ventana de Cdigo:
La ventana o editor de cdigo de Visual Basic proporciona de manera automtica
informacin relevante a medida que se ingresa cdigo. Por ejemplo, si se escribe el nombre de
un control, seguido de un punto, las propiedades y mtodos para ese control sern mostrados
automticamente en un cuadro de lista. Luego se puede escoger la propiedad o mtodo
deseado para completar la sentencia.
Cuando se ingresa el nombre de una funcin en la ventana de cdigo, Visual Basic
automticamente proporciona el formato o sintaxis de la funcin.
pgina. 9
Mtodo 1:
Teniendo el cuadro de Herramientas o un Formulario visible, haga doble clic en el
control que desea aadir en el Cuadro de Herramientas, los controles se ubican en el centro del
formulario, uno encima de otro, luego hay que moverlos a la posicin deseada dentro del
formulario.
Mtodo 2
1- Haga clic sobre el control en el Cuadro de Herramientas.
2- Ubique el puntero del Mouse (una cruz) sobre el formulario en la esquina superior
izquierda donde desea colocar el control.
3- Realice un clic sostenido mientras arrastra el puntero a la esquina superior
derecha donde colocar el control.
4- Suelte el botn del Mouse.
Estos cuatro pasos se repiten con cada control que desea aadir al formulario.
Qu es un proyecto?
Cuando desarrolla una aplicacin, Visual Basic crea un archivo especial llamado
Archivo de Proyecto para administrar todos los dems archivos de la aplicacin.
El Archivo de Proyecto es simplemente una lista de todos los archivos y objetos
asociados con el proyecto, as como informacin sobre las opciones del entorno. Esta
informacin se actualiza cada vez que se guarda el proyecto. Todos los archivos y objetos
tambin se pueden compartir con otros proyectos. Un proyecto est compuesto por los
siguientes archivos:
Tipo de archivo
Extensi
n
Proyecto
.vbp
Formulario
.frm .frx
Mdulo estndar
.bas
Controles
Personalizados
.ocx
Mdulo de clase
.cls
Recursos
.res
Descripcin
Realiza el seguimiento de todos los componentes de la
aplicacin.
Incluye el formulario, los objetos sobre el formulario y el
cdigo que se ejecuta cuando ocurre un evento en el
formulario.
Contiene procedimientos Sub y Function que pueden ser
invocados por cualquier formulario u objeto sobre el
formulario. (opcional)
Controles
adicionales
a
los
controles
estndar
proporcionados por Microsoft u otras empresas. (Opcional)
Contiene la definicin de clase, mtodos y propiedades de
un nuevo tipo de objeto. (Opcional)
Contiene informacin binaria usada por la aplicacin. Son
usados generalmente cuando se crean programas para
mltiples lenguajes. (Opcional)
Cuando ha completado todos los archivos del proyecto puede convertir el proyecto en un
archivo ejecutable (.exe).
pgina. 10
pgina. 11
Tipo de Control
Prefijo
Ejemplo
CheckBox
chk
chkCasillaDeVerificacion
CommandButton
cmd
cmdBotonDeComando
ListBox
lst
lstLista
EditMask
em
emFormatoParaDatos
Graph
gra
graGrafico
Frame
fra
fraMarco
Hscrollbar
hsb
hsbBarraDeDesplazamientoHorizonta
l
Vscrollbar
vsb
vsbBarraDeDesplazamientoVertical
Line
lin
linLinea
Listview
lsv
lsvVistaDeDatos
Menu
mnu
mnuMenu
Textbox
txt
txtCuadroDeTexto
Olecontrol
ole
oleControl
Picture
pic
picCuadroDeImagen
OptionButton
opt
optBotonDeOpcion
Label
lbl
lblRotulo
Tab
tab
tabPestaas
Treeview
tvw
tvwVistaEnArbol
Form
frm
frmFormulario
pgina. 12
Formularios
El formulario es el principal medio de comunicacin entre el usuario y la aplicacin.
Los usuarios interactan con los controles sobre el formulario para ingresarle datos y obtener
resultados.
Propiedades
BackColor
BorderStyle
Caption
ControlBox True/False.
Enabled True/False.
Icon
Left y Top
MaxButton True/False.
MinButton True/False.
Name
WindowState
Eventos
Activate
Click
Deactivate
Load
Unload
Mtodos
Hide
Refresh
SetFocus
Show
Oculta el formulario.
Actualiza el contenido del formulario.
Le entrega el enfoque al formulario.
Hace visible el formulario.
pgina. 13
Formularios
Mdulos de Formulario
Cada formulario en su aplicacin tiene un mdulo de formulario asociado, estos son
guardados con una extensin de archivo FRM y contienen:
Mdulos Estndar
Los mdulos estndar pueden contener cdigo que es comn a varios formularios en
su aplicacin. Este cdigo es por omisin pblico, lo cual significa que fcilmente compartido
con otros mdulos de cdigo, tales como un mdulo de formulario. Estos mdulos contienen
declaraciones de procedimientos, tipos y variables. No pueden almacenar procedimientos de
evento porque no contienen objetos.
La Ventana de Cdigo
Cdigo es un trmino general para todas las sentencias Visual Basic que un
programador escribe en una aplicacin: procedimientos de evento y procedimientos generales.
El cdigo en Visual Basic se escribe en la ventana de Cdigo. El editor de texto es
solo un editor ASCII con colores para diferenciar las palabras claves en el cdigo que escribe.
La Ventana de Cdigo se usa para escribir, mostrar y editar el cdigo de su
aplicacin. Puede abrir una ventana de cdigo por cada mdulo de su aplicacin, de modo que
puede fcilmente copiar y pegar entre ellos.
Lista de
Botn ver
Procedimie
Lista de
Botn
ver
pgina. 14
La Barra de Divisin:
Desde el men Ventana puede ejecutar el comando Dividir para dividir la ventana de
cdigo en dos partes, cada una de las cuales se desplaza separadamente. Puede entonces ver
diferentes partes de su cdigo al mismo tiempo. La informacin que aparece en el cuadro
Objeto y Procedimiento se refiere al cdigo en la parte que tiene el enfoque. El mismo comando
utilizado para dividir la ventana puede utilizarlo para cerrar una de sus partes o tambin lo
puede hacer arrastrando la barra de divisin hacia la parte superior o inferior de la ventana.
Editando Cdigo:
Use las caractersticas de edicin de Visual Basic para que su cdigo sea ms fcil
de leer.
Sangra:
Use la sangra para diferenciar partes de su cdigo, tales como estructuras repetitivas
y condicionales. Para aplicar sangra a una seccin de sentencias de un cdigo use la tecla
Tab o el comando Aplicar sangra del men Edicin. Se forma similar, Shift + Tab o el
comando Anular sangra del men Edicin quitar una sangra a las lneas seleccionadas.
pgina. 15
Comentarios:
El aadir documentacin y comentarios a su cdigo permite comprender mejor lo que
hace el cdigo. Esto tambin ayuda a comprender el cdigo si necesita volver a revisarlo en
alguna fecha posterior. Un comentario se inicia con el carcter apstrofe (), de modo que todo
el texto que contine a este carcter ser ignorado en la ejecucin de la aplicacin. Veamos el
siguiente ejemplo:
pgina. 16
Manejo de Formularios
Normalmente la interfaz de una aplicacin est compuesta por varios formularios.
Cuando Visual Basic inicia la aplicacin, automticamente se muestra el formulario de
arranque, mientras que los otros formularios deben ser mostrados y ocultados a travs de
cdigo. El mtodo o funcin usada depende de lo que deseamos hacer.
Tarea
Mtodo o instruccin
Ocultar un formulario
Mdulo de clase
Mtodo Show
Muestra un formulario. Si el formulario no est cargado al momento de ejecutar el
mtodo Show, Visual Basic lo cargar automticamente.
Formato
NombreDelFormulario.Show
Ejemplo
FrmEntrada.Show
Sentencia Load
Carga un formulario a la memoria, pero no lo muestra.
Formato
Load NombreDelFormulario
Ejemplo
Load FrmEntrada
Evento Load
El evento Load ocurre cuando el formulario es cargado en la memoria. Esto sucede
cuando se usa la sentencia Load, o cuando se invoca el mtodo Show y el formulario an no
est cargado en memoria. Normalmente, este evento se utiliza para establecer algunas
propiedades del formulario, los controles que se encuentran en l, o variables a nivel del
formulario.
pgina. 17
Ejemplo1:
Private Sub Form_Load()
frmIngreso.Left = (Screen.Width - frmIngreso.Width) / 2
frmIngreso.Top = (Screen.Height - frmIngreso.Height) / 2
End Sub
Ejemplo2:
Private Sub Form_Load()
txtUsuario.Text=""
txtContrasea.Text=""
cmdIngresar.Enabled=False
End Sub
Mtodo Hide
Oculta un formulario, pero no lo descarga de memoria.
Formato
NombreDelFormulario.Hide
Ejemplo:
frmIngreso.Hide
Sentencia Unload
Descarga un formulario de memoria
Formato
Unload NombreDelFormulario
Comentarios:
La descarga de un formulario puede ser necesaria o conveniente en aquellos casos
en los que la memoria utilizada se necesite para alguna otra tarea o cuando sea necesario
restablecer las propiedades a sus valores originales.
Antes de descargar un formulario se ejecuta el evento Unload (Form_Unload). Si
establece el argumento Cancelar a True en este evento, no se descargar el formulario.
Sugerencia
Use la palabra Me para referirse al formulario actual.
Ejemplo:
Descarga el formulario actual
Private Sub cmdCerrar-Click ( )
Unload Me
End Sub
pgina. 18
Evento Unload
Ocurre cuando un formulario est a punto de descargarse. Este evento se
desencadena porque un usuario cierra el formulario mediante el comando Cerrar del men
Control o una sentencia Unload. El parmetro Cancelar, es un entero que determina si el
formulario es descargado. Si Cancelar es 0, el formulario se descarga. Establecer Cancelar a
cualquier valor distinto de cero impide que el formulario sea descargado.
Ejemplo:
Private Sub Form_Unload(Cancel As Integer)
Dim iRpta As Integer
iRpta = MsgBox(Est seguro de cerrar la ventana?, _
VbYesNo + vbQuestion, Mensaje)
If iRpta = vbNo Then
Cancel = True
End If
End Sub
Ejemplo 2:
frmEntrada.Show vbModal
Ejemplos 2:
Finaliza la aplicacin
Private Sub cmdFinalizar-Click ( )
End
End Sub
pgina. 19
Controles Bsicos
Con los controles, los usuarios pueden operar y obtener los resultados de una
aplicacin. Puede aadir controles a un formulario seleccionando la herramienta adecuada del
Cuadro de Herramientas. Entre los controles ms comunes a utilizar en una aplicacin
tenemos: Etiqueta (Label), Cuadro de Texto (TextBox) y Botn de Comando (CommandButton).
Control
Etiqueta
Control
Cuadro de
Control
Botn de
pgina. 20
Propiedades
Enabled True/False.
Font
Locked True/False.
MaxLength
MultiLine
Name
PasswordChar
Text
Visible
Eventos
Change
GotFocus
KeyDown
LostFocus
Mtodos
Refresh
SetFocus
Font
Name
Visible True/False.
Eventos
Click
Mtodos
SetFocus
Default True/False.
pgina. 21
Estableciendo Propiedades
Al disear la interfase de usuario de una aplicacin Visual Basic, se deben establecer
la propiedades para los controles (objetos) creados.
Procedimientos de Evento
Visual Basic invoca automticamente procedimientos de evento en respuesta a
acciones del teclado, del ratn o del sistema. Por ejemplo, los botones de comando tienen un
procedimiento de evento Click. El cdigo que se escriba en el procedimiento de evento Click es
ejecutado cuando el usuario haga clic en un botn de comando. Para abrir la ventana de
Cuadernillo de Programacin IIProf. Horacio Dante Satti - Ao 2015
pgina. 22
cdigo, haga doble clic en el control o formulario, haga clic en la orden Cdigo del men Ver.
Cada control tiene un conjunto fijo de procedimientos de evento. Los procedimientos de evento
para cada control son mostrados en un cuadro de lista despegable en la ventana de cdigo. El
siguiente cdigo muestra el procedimiento de evento Click para un botn de comando llamado
cmdOK.
Private Sub cmdOK_Click()
MsgBox "Hola"
End Sub
Nota: Los controles que no pueden obtener enfoque, al igual que los controles desactivados o
invisibles, no tienen la propiedad TabIndex y no estn incluidos en el orden de tabulacin.
Cuando el usuario presiona Tab, estos controles son ignorados.
pgina. 23
Tipos de Datos
Un tipo de dato determina la naturaleza del dominio de valores que puede tomar una
variable, las operaciones en que puede participar y el espacio de memoria que necesita. La
tabla siguiente muestra los tipos de datos, incluyendo el tamao de almacenamiento y el
intervalo.
Tamao de
Almacenamiento
Rango
Byte
Boolean
Integer
Long(entero
largo)
Single
(coma
flotante/
precisin
simple)
Double (coma
flotante/
precisin doble)
1
2
2
4
0 a 255
True o False
-32.768 a 32.767
-2.147.483.648 a 2.147.483.647
Currency
(entero a
escala)
Decimal
8 bytes
Date
Object
String (longitud
variable)
8 bytes
4 bytes
10 bytes +
longitud de la
cadena
Longitud de la
cadena
16 bytes
Tipo de Dato
byte
bytes
bytes
bytes
4 bytes
8 bytes
-1,79769313486232E308 a -4,94065645841247E-324
para valores
negativos; 4,94065645841247E-324 a
1,79769313486232E308 para valores positivos
-922.337.203.685.477,5808 a
922.337.203.685.477,5807
14 bytes
String (longitud
fija)
Variant (con
nmeros)
Variant (con
caracteres)
Definido por el
usuario
(utilizando
Type)
22 bytes +
longitud de la
cadena
Nmero
requerido por los
elementos
pgina. 24
Nota: Los valores que se pasan a una funcin de conversin deben ser vlidos para el tipo de
dato de destino o se producir un error. Por ejemplo, si intenta convertir un tipo Long en un
Integer, el tipo de Long debe de estar en el intervalo vlido del tipo de dato Integer.
Variables
Las variables se utilizan para almacenar valores temporalmente durante la ejecucin
de una aplicacin. Las variables tienen un nombre (la palabra que utiliza para referirse al valor
que contiene la variable), un tipo de dato (que determina la clase de dato que la variable puede
almacenar) y un mbito (que especifica en que parte de la aplicacin es conocida la variable
para ser utilizada).
pgina. 25
Declaracin de Variables
En Visual Basic, se declara una variable mediante la instruccin Dim, proporcionando
un nombre a la variable segn la siguiente sintaxis:
Dim nombre-variable [As tipo]
Ejemplo:
Dim Resultado As Integer
Las variables que se declaran en un procedimiento mediante la sentencia Dim slo
existen mientras se ejecuta el procedimiento. Cuando termina el procedimiento, desaparece el
valor de la variable. Adems, el valor de una variable de un procedimiento es local a dicho
procedimiento; es decir, no puede tener acceso a una variable de un procedimiento desde otro
procedimiento. Estas caractersticas le permiten utilizar los mismos nombres de variables en
distintos procedimientos sin preocuparse por posibles conflictos o modificaciones accidentales.
El nombre de una variable debe cumplir con los siguientes requisitos:
La clusula opcional As tipo de la sentencia Dim le permite definir el tipo de dato o de objeto de
la variable que va a declarar. Los tipos de datos definen el tipo de informacin que almacena la
variable. Algunos ejemplos de tipos de datos son String, Integer y Currency. Las variables
tambin pueden contener objetos de Visual Basic u otras aplicaciones. Algunos ejemplos de
tipos de objeto de Visual Basic, o clases, son Object, Form1 y TextBox.
Hay otras formas de declarar variables:
Declaracin Implcita:
No tiene por qu declarar una variable antes de utilizarla. Por ejemplo, podra escribir una
funcin donde no hiciera falta declarar TempVal antes de utilizarla:
Function Raz (num)
TempVal = Abs (num)
Raz = Sqr(TempVal)
End Function
Visual Basic crea automticamente una variable con ese nombre, que puede utilizar
como si la hubiera declarado explcitamente. Aunque es cmodo, puede provocar errores
sutiles en el cdigo si se equivoca de nombre de variable.
pgina. 26
Ejemplo:
Suponga que ha escrito esta funcin:
Function Raz (num)
TempVal = Abs (num)
Raz = Sqr (TemVal)
End Function
A primera vista, parece igual. Pero como se ha escrito errneamente la variable
TempVal en la tercera lnea, la funcin devolver siempre cero. Cuando Visual Basic encuentra
un nombre nuevo, no puede averiguar si realmente desea declarar una variable nueva o
simplemente ha escrito de forma errnea una variable existente, por lo que crea una variable
nueva con ese nombre.
Declaracin Explcita
Para evitar problemas al equivocarse de nombre en las variables, puede configurar
Visual Basic para que le avise siempre que encuentre un nombre que no se haya declarado
explcitamente como una variable.
Para declarar variables de forma explcita:
Incluya esta sentencia en la seccin Declaraciones Generales del mdulo de clase,
de formulario o estndar:
Option Explicit
- o bien En el men Herramientas, elija Opciones, haga clic en la ficha Editor y active la
opcin Declaracin de variables requerida.
Nota: Esto inserta automticamente la sentencia Option Explicit en los mdulos nuevos, pero
no en los ya creados, por lo que tendr que agregar manualmente Option Explicit a los
mdulos existentes en el proyecto.
pgina. 27
Privado
Pblico
Nivel de
procedimiento
No es aplicable. No donde se
puede declarar variables pblicas
dentro de un procedimiento.
Nivel de mdulo
pgina. 28
Constantes
A menudo ver que el cdigo contiene valores constantes que reaparecen una y otra
vez. O puede que el cdigo dependa de ciertos nmeros que resulten difciles de recordar
(nmeros que, por s mismos, no tienen un significado obvio).
En estos casos, puede mejorar mucho la legibilidad del cdigo y facilitar su
mantenimiento si se utilizan constantes.
Una constante es un nombre significativo que sustituye a un nmero o una cadena
que no vara. Aunque una constante recuerda ligeramente a una variable, no puede modificar
una constante o asignarle un valor nuevo como ocurre con una variable. Hay dos orgenes para
las constantes:
pgina. 29
Puede colocar ms de una declaracin de constante en una nica lnea si las separa con
comas:
Public Const conPi=3.14, conMaxPlanetas=9, conAsignatura= Programacin II
A menudo, la expresin del lado derecho del signo igual ( = ) es un nmero o cadena literal,
pero tambin puede ser una expresin que d como resultado un nmero o una cadena
(aunque la expresin no puede contener llamadas a funciones). Puede incluso definir
constantes en trminos de constantes previamente definidas:
Const conPi2 = conPi * 2
Para crear una constante que slo exista en un procedimiento, declrela dentro del
procedimiento.
Para crear una constante disponible para todos los procedimientos de un mdulo, pero
no para el cdigo que est fuera del mdulo, declrela en la seccin Declaraciones
Generales del mdulo.
Para crear una constante disponible en toda la aplicacin, declare la constante en la
seccin Declaraciones Generales de un mdulo estndar y coloque delante de Const
la palabra clave Public.
pgina. 30
Declaracin
Visible en:
Nivel de procedimiento
Nivel de mdulo
Global
En toda la Aplicacin
En una aplicacin de Visual Basic, las variables globales se deben usar slo
cuando no exista ninguna otra forma cmoda de compartir datos entre formularios.
Cuando haya que usar variables globales, es conveniente declararlas todas en un
nico mdulo agrupadas por funciones y dar al mdulo un nombre significativo que
indique su finalidad, como Pblicas.
Prefijo
g
m
Ninguno
Ejemplo
gstrNombreUsuario
mblnProgresoDelClculo
dblVelocidad
Prefijo
bln
byt
col
cur
dtm
dbl
err
int
lng
obj
sng
str
udt
vnt
Ejemplo
blnEncontrado
bytDatosImagen
colWidgets
curIngresos
dtmInicio
dblTolerancia
errNmDeOrden
intCantidad
lngDistancia
objActivo
sngMedia
strNombre
udtEmpleado
vntCheckSum
pgina. 31
Ejemplo
Type RegEmpleado
EmpCdigo As Integer
EmpNombre As String * 40
EmpCargo As String * 15
End Type
Arreglo de Variables
Un arreglo es una coleccin de elementos del mismo tipo con un nombre comn. Los
elementos son identificados por el nombre comn y un ndice.
Sintaxis:
Dim NombreDelArreglo( Dimensin1, Dimensin2, ... ) As TipoDeDato
Visual Basic soporta hasta 60 dimensiones. Al declarar las dimensiones se puede indicar un
solo nmero, en cuyo caso se entiende que dicha dimensin va de cero hasta el nmero
indicado. Tambin es posible indicar explcitamente el inicio y trmino de la dimensin.
pgina. 32
Ejemplo
Dim Lista1 (20) As Integer ' 21 elementos, del 0 al 20
Dim Lista2 (1 to 20) As Integer ' 20 elementos, del 1 al 20
Dim Tabla (1 to 10, 1 to 20) As String ' Tabla de 10 x 20
Arreglos Dinmicos
Hay situaciones en las cuales se desea usar un arreglo, pero al momento del diseo
no se sabe sus dimensiones. Para este tipo de situaciones Visual Basic permite declaraciones
de arreglos del siguiente modo:
Dim x ( ) As Integer
...
...
Redim x (lstLista.ListCount)
Operadores
Aritmticos
^
*
/
\
Mod
+
&
Exponenciacin
Multiplicacin
Divisin
Divisin entera
Residuo entero (Ejm: A Mod B)
Suma
Resta
Concatenacin de cadenas
Comparacin
=
<>
<
>
<=
>=
Like
*
?
#
[lista]
[lista]
Is
Igual
Distinto
Menor que
Mayor que
Menor o igual
Mayor o igual
Compara dos cadenas
Cero o ms caracteres (Ejm: cad Like ma*)
Cualquier carcter
Cualquier dgito (0-9)
cualquier carcter en lista
cualquier carcter que no est en lista
Usado para comparar dos variables de referencia a objetos
Lgicos
And
Or
Xor
Not
Y lgico
O lgico
O Exclusivo
Negacin
pgina. 33
Estructuras de Control
Las estructuras de control le permiten controlar el flujo de ejecucin del programa.
Tenemos dos tipos de estructuras de control:
Estructuras de decisin
Estructuras de bucle
Estructuras de Decisin
Los procedimientos de Visual Basic pueden probar condiciones y, dependiendo de los
resultados, realizar diferentes operaciones. Entre las estructuras de decisin que acepta Visual
Basic se incluyen las siguientes:
If...Then
If...Then...Else
Select Case
If...Then
Use la estructura If...Then para ejecutar una o ms instrucciones basadas en una condicin.
Puede utilizar la sintaxis de una lnea o un bloque de varias lneas:
pgina. 34
Ejemplo 2:
If chkAlumnoUNI.Value=1 Then
txtCosto = Format (txtCosto*0.70,Fixed)
txtCdigo.Enabled = True
End If
If...Then...Else
Utilice un bloque If...The...Else para definir varios bloques de sentencias, uno de los
cuales se ejecutar:
If condicin1 Then
[bloque de sentencias 1]
[ElseIf condicin2 Then
[bloque de sentencias 2]] ...
[Else
[bloque de sentencias n]]
End If
Visual Basic evala primero la condicin1. Si es False, Visual Basic procede a
evaluar condicin2 y as sucesivamente, hasta que encuentre una condicin True. Cuando
encuentra una condicin True, Visual Basic ejecuta el bloque de instrucciones
correspondientes y despus ejecuta el cdigo que sigue a End If. Opcionalmente, puede incluir
un bloque de instrucciones Else, que Visual Basic ejecutar sin ninguna de las condiciones es
True.
If...Then...ElseIf es un caso especial de If...Then...Else. Observe que puede tener
cualquier nmero de clusula ElseIf o ninguna. Puede incluir una clusula Else sin tener en
cuenta si tiene o no clusula ElseIf. Por ejemplo, la aplicacin podra realizar distintas acciones
dependiendo del control en que se haya hecho clic de una matriz de controles de men:
Ejemplo 1:
Private Sub cmd_Click(Index As Integer)
If Index = 0 Then
Call cortar 'Llama al procedimiento cortar
ElseIf Index = 1 Then
Call copiar 'Llama al procedimiento copiar
ElseIf Index = 2 Then
Call borrar 'Llama al procedimiento borrar
Else
Call pegar
'Llama al procedimiento pegar
End If
End Sub
Ejemplo 2:
If ClaveUsuario=Programacion II Then
Permite al usuario entrar al sistema
...
...
Else
Mostrar un mensaje advirtiendo error en la clave
...
...
End If
pgina. 35
Ejemplo 3:
Private Sub DeterminaCondicin ( )
If Val (txtPromedio) >=13 Then
txtCondicin = Aprobado
ElseIf Val (txtPromedio) >= 10 Then
txtCondicin = Asistente
Else
txtCondicin = Desaprobado
End If
End Sub
Ejemplo 4:
Private Sub DeterminaCondicin()
If Val(txtpromedio) >= 7 Then
txtcondicion = "Aprobado"
ElseIf Val(txtpromedio) >= 4 Then
txtcondicion = "Recupera"
Else
txtcondicion = "Desaprobado"
End If
End Sub
Observe que siempre puede agregar ms clusulas ElseIf a la estructura If...Then.
Sin embargo, esta sintaxis puede resultar tediosa de escribir cuando cada ElseIf compara la
misma expresin con un valor distinto. Para estas situaciones, puede utilizar la estructura de
decisin Select Case.
Select Case
Visual Basic proporciona la estructura Select Case como alternativa a If...Then...Else
para ejecutar selectivamente un bloque de sentencias entre varios bloques. La sentencia
Select Case ofrece posibilidades similares a la instruccin If...Then...Else, pero hace que el
cdigo sea ms legible cuando hay varias opciones.
La estructura Select Case funciona con una nica expresin de prueba que se evala
una vez solamente, al principio de la estructura. Visual Basic compara el resultado de esta
expresin con los valores de cada Case de la estructura. Si hay una coincidencia, ejecuta el
bloque de sentencias asociado a ese Case:
Selec Case expresin_prueba
[Case lista_expresiones1
[bloque de sentencias 1]]
[Case lista_expresiones2
[bloque de sentencias 2]]
[Case Else
[bloque de sentencias n]]
End Select
pgina. 36
pgina. 37
Estructuras de Repeticin
Las estructuras de repeticin o bucle le permiten ejecutar una o ms lneas de cdigo
repetidamente. Las estructuras de repeticin que acepta Visual Basic son:
Do...Loop
For...Next
For Each...Next
Do...Loop
Utilice el bucle Do para ejecutar un bloque de sentencias un nmero indefinido de
veces. Hay algunas variantes en la sentencia Do...Loop, pero cada una evala una condicin
numrica para determinar si contina la ejecucin. Como ocurre con If...Then, la condicin
debe ser un valor o una expresin que d como resultado False (cero) o True (distinto de cero).
En el siguiente ejemplo de Do...Loop, las sentencias se ejecutan siempre y cuando condicin
sea True:
Do While condicin
Sentencias
Loop
Cuando Visual Basic ejecuta este bucle Do, primero evala la condicin. Si
condicin es False (cero), se salta todas las sentencias. Si es True (distinto de cero) Visual
Basic ejecuta las sentencias, vuelve a la instruccin Do While y prueba la condicin de nuevo.
Por tanto, el bucle se puede ejecutar cualquier nmero de veces, siempre y cuando
condicin sea distinta de cero o True. Nunca se ejecutan las sentencias si condicin es
False inicialmente. Por ejemplo, este procedimiento cuenta las veces que se repite una cadena
destino dentro de otra cadena repitiendo el bucle tantas veces como se encuentre la cadena de
destino:
Function ContarCadenas (cadenalarga, destino)
Dim posicin, contador
posicin = 1
Do While InStr (posicin, cadenalarga, destino)
posicin = InStr (posicin, cadenalarga, destino)+1
contador = contador + 1
Loop
ContarCadenas = contador
End Function
Si la cadena destino no est en la otra cadena, InStr devuelve 0 y no se ejecuta el
bucle.
Otra variante de la instruccin Do...Loop ejecuta las sentencias primero y prueba la
condicin despus de cada ejecucin. Esta variacin garantiza al menos una ejecucin de
sentencias:
Do
Sentencias
Loop While condicin
pgina. 38
Hay otras dos variantes anlogas a las dos anteriores, excepto en que repiten el bucle
siempre y cuando condicin sea False en vez de True.
Hace el bucle cero o ms veces
Do Until condicin
Sentencias
Loop
For...Next
Do
Sentencias
Loop Until condicin
pgina. 39
Do
[bloque de sentencias]
[Exit Do]
[bloque de sentencias]
Loop [{While / Until} condicin]
Exit For y Exit Do son muy tiles ya que, algunas veces, resulta apropiado salir
inmediatamente de un bucle sin realizar ms iteraciones o sentencias dentro del bucle. Cuando
utilice la instruccin Exit para salir de un bucle, el valor de la variable contador difiere,
dependiendo de cmo haya salido del bucle:
Cuando termina un bucle, la variable contador contiene el valor del lmite superior
ms el paso.
Cuando sale de un bucle prematuramente, la variable contador conserva su valor
segn las reglas usuales del alcance.
Cuando sale antes del final de una coleccin, la variable contador contiene
Nothing si se trata de un tipo de dato Object y Empty si es un tipo de dato
Variant.
pgina. 40
Date
Devuelve un tipo Variant (Date) que contiene la fecha actual del sistema.
Sintaxis:
Date
Utilice la instruccin Date para obtener la fecha del sistema.
Format
Devuelve un tipo Variant (String) que contiene una expresin formateada de acuerdo a las
instrucciones contenidas en una expresin de formato.
Sintaxis:
Format(expresin[, formato[, primerdadesemana[, primerdadeao]]])
La sintaxis de la funcin Format consta de las siguientes partes:
Parte
Descripcin
Expresin
Formato
pgina. 41
Int
Devuelve un valor del mismo tipo que el que se pas como parmetro y que contiene
la parte entera de un nmero.
Sintaxis
Int(nmero)
Ejemplo de la funcin Int:
Int(14.456)
' Devuelve 14
El argumento nmero es un tipo Double o cualquier expresin numrica vlida. Si
nmero contiene Null, la funcin devolver Null.
La funcin Int elimina la fraccin de un nmero y devuelven el valor entero resultante.
pgina. 42
IsDate
Devuelve un valor de tipo Boolean que indica si una expresin se puede convertir en
una fecha.
Sintaxis
IsDate(expresin)
El argumento expresin requerido, es un tipo de datos Variant que contiene una
expresin de fecha o una expresin de cadena reconocible como una fecha o una hora.
La funcin IsDate devuelve True si la expresin es una fecha o se puede convertir en
una fecha vlida; en caso contrario, devuelve False. En Microsoft Windows, el intervalo de
fechas vlidas va desde el 1 de enero de 100 D.C. hasta el 31 de diciembre de 9999 D.C; los
intervalos varan de un sistema operativo a otro.
Ejemplo de la funcin IsDate:
En este ejemplo se utiliza la funcin IsDate para determinar si una expresin puede
convertirse en fecha.
Dim MiFecha, TuFecha, SinFecha, MiPrueba
MiFecha = "12 febrero 1969": TuFecha = #2/12/69#: SinFecha = "Hola"
MiPrueba = IsDate(MiFecha)
' Devuelve True.
MiPrueba = IsDate(TuFecha)
' Devuelve True.
MiPrueba = IsDate(SinFecha)
' Devuelve False.
Left
Devuelve un tipo Variant (String) que contiene un nmero especificado de caracteres
del lado izquierdo de una cadena.
Sintaxis
Left(string, length)
La sintaxis de la funcin Left tiene estos argumentos con nombre:
Parte
Descripcin
string
length
pgina. 43
Len
Devuelve un tipo Long que contiene el nmero de caracteres en una cadena o el
nmero de bytes necesarios para almacenar una variable.
Sintaxis
Len(cadena)
La sintaxis de la funcin Len consta de las siguientes partes:
Parte
Cadena
Descripcin
Cualquier expresin de cadena vlida. Si cadena contiene Null, se devuelve
Null.
pgina. 44
Mid
Devuelve un tipo Variant (String) que contiene un nmero especificado de caracteres
de una cadena.
Sintaxis
Mid(string, start[, length])
La sintaxis de la funcin Mid tiene estos argumentos con nombre:
Parte
string
start
length
Descripcin
Obligatorio. Expresin de cadena de la cual se devuelven los caracteres. Si
string contiene Null, se devuelve Null.
Obligatorio; un tipo Long. Posicin de carcter en string en la cual comienza la
parte que se quiere tomar. Si start es mayor que el nmero de caracteres en la
string, Mid devuelve una cadena de longitud cero ("").
Opcional, un tipo Variant (Long). Nmero de caracteres que se van a devolver.
Si se omite o en el texto hay menos de length caracteres (incluyendo el
carcter de start), se devuelven todos los caracteres desde la posicin de start
hasta el final de la cadena.
Descripcin
Obligatorio. Expresin de cadena desde la cual se devuelven los caracteres
que estn ms a la derecha. Si string contiene Null, se devuelve Null.
Se requiere, un tipo Variant (Long). Expresin numrica que indica cuntos
caracteres se van a devolver. Si es 0, se devuelve una cadena de longitud cero
(""). Si es mayor o igual al nmero de caracteres en string, se devuelve la
cadena completa.
pgina. 45
Str
Devuelve en un tipo Variant (String) la representacin de cadena de un nmero.
Sintaxis
Str(nmero)
El argumento nmero necesario es un tipo Long que contiene una expresin
numrica vlida.
Cuando los nmeros se convierten a cadenas, siempre se reserva un espacio a la
izquierda para el signo del nmero. Si nmero es positivo, la cadena devuelta contiene un
espacio a la izquierda y el signo ms se da por supuesto.
Utilice la funcin Format para convertir valores numricos en valores con formato de
fecha, hora, moneda o en otros formatos definidos por el usuario. A diferencia de Str, la funcin
Format no incluye un espacio a la izquierda para el signo del nmero.
Nota: La funcin Str slo reconoce el punto (.) como separador decimal vlido.
Ejemplo de la funcin Str
En este ejemplo se utiliza Str para devolver una representacin de cadena de un
nmero. Cuando un nmero se convierte en una cadena siempre se reserva un espacio a la
izquierda para el signo.
Dim MiCadena
MiCadena = Str(459)
MiCadena = Str(-459.65)
MiCadena = Str(459.001)
Ucase
Devuelve un tipo Variant (String) que contiene una cadena especificada que se ha
convertido a maysculas.
Sintaxis
UCase(cadena)
El argumento cadena necesario es cualquier expresin de cadena vlida. Si string
contiene Null, se devuelve Null.
Slo se convierten a maysculas las letras minsculas. Las letras maysculas o los
caracteres que no son letras no sufren cambios.
pgina. 46
Val
Devuelve los nmeros contenidos en una cadena como un valor numrico del tipo
adecuado.
Sintaxis
Val(cadena)
El argumento obligatorio cadena es cualquier expresin de cadena vlida.
La funcin Val deja de leer la cadena en el primer carcter que no puede reconocer
como parte de un nmero. Los smbolos y caracteres que se consideran a menudo parte de
valores numricos, como signos de moneda y comas, no se reconocen. Sin embargo, la
funcin reconoce los prefijos de base &O (para octal) y &H (para hexadecimal). Los espacios
en blanco, los tabuladores y los avances de lnea se eliminan del argumento.
Lo siguiente devuelve el valor 1615198:
Val("
pgina. 47
Ttulo de marco.
Determina si est habilitado para responder a las acciones del usuario.
Nombre del control.
Determina si el Marco y los controles que contiene estn visibles o no.
Eventos
Click
pgina. 48
Eventos
Click
Arreglo de Controles
Cuando creamos un arreglo de controles, todos los controles que forman el arreglo
deben tener el mismo nombre (Propiedad Name), la propiedad Index establece el ndice de
cada control en el arreglo, esta propiedad comienza desde 0.
Un arreglo de controles es un grupo de controles que comparten el mismo:
Tipo de objeto
Nombre del control
Procedimientos de evento
pgina. 49
Cdigo ms eficiente
Los arreglos de controles hacen que el cdigo sea ms eficiente y mejoran el
rendimiento de la aplicacin debido a que usa menos recursos del sistema que los controles
individuales.
OptReporte
OptReporte
OptReporte
pgina. 50
fraRango.Enabled = True
lblDesde.Enabled = True
lblHasta.Enabled = True
txtDesde.Enabled = True
txtHasta.Enabled = True
txtDesde.SetFocus
End Select
End Sub
Max
Min
Name
SmallChange
Value
Evento
Change
pgina. 51
lstGaseos
txtGaseosa
cmdAgrega
cmdElimina
Propiedades
Enabled
List
ListCount
ListIndex
MultiSelect
Name
NewIndex
Selected
Sorted
Style
Text
Mtodos
AddItem
RemoveItem
Eventos
Click
pgina. 52
Mtodos
AddItem
RemoveItem
Eventos
Click
Change
Procedimientos
Existen dos tipos de procedimientos con los que se trabaja en Visual Basic: los
procedimientos de evento y los procedimientos generales.
Procedimientos de Evento
Visual Basic invoca automticamente procedimientos de evento en respuesta a
acciones del teclado, del ratn o del sistema. Por ejemplo, los botones de comando tienen un
procedimiento de evento Click. El cdigo que se escriba en el procedimiento de evento Click es
ejecutado cuando el usuario haga clic en un botn de comando.
Cada control tiene un conjunto fijo de procedimientos de evento. Los procedimientos
de evento para cada control son mostrados en un cuadro de lista despegable en la ventana de
cdigo.
Procedimientos Generales
Los procedimientos generales son procedimientos Sub o Function que son creados
para que lleven a cabo tareas especficas, estos deben ser invocados de manera explcita.
Para crear un procedimiento general, se debe abrir la ventana de cdigo y hacer clic
en la orden Agregar procedimiento del men Herramientas. Tambin se puede crear un
nuevo procedimiento escribiendo el encabezado de procedimiento Sub, seguido por el nombre
del procedimiento, en una lnea en blanco dentro de la ventana de cdigo.
Si se tiene cdigo duplicado en varios procedimientos de evento, se puede colocar el
cdigo en un procedimiento general y luego invocar al procedimiento general desde los
procedimientos de evento.
pgina. 53
Procedimientos Sub
Los procedimientos Sub no retornan valores. La sintaxis que define un procedimiento es la
siguiente:
[Private | Public ] [Static] Sub nombre[(parmetros)]
Sentencias
[Exit Sub]
Sentencias
End sub
Ejemplo:
Public Sub Seleccionar(Cuadro As TextBox)
Cuadro.SelStart = 0
Cuadro.SelLength = Len(Cuadro.Text)
End Sub
Los procedimientos Sub son invocados de alguna de las dos formas siguientes:
Call nombreProced [(argumentos)]
nombreProced [argumentos]
Ejemplo:
Call Seleccionar(Text1)
Si se emplea la instruccin Call, se debe encerrar la lista de argumentos entre
parntesis. Si se omite Call, tambin se deben omitir los parntesis alrededor de la lista de
argumentos.
Funciones (Function)
Una funcin es un procedimiento que cuando se ejecuta devuelve un resultado. La sintaxis
correspondiente a una funcin es:
[Private | Public ] [Static] Function nombre[(parmetros)] [As tipo]
Sentencias
[Exit Function]
Sentencias
Nombre = expresin
End Function
Ejemplo:
En el siguiente ejemplo, el procedimiento Function recibe un nmero y devuelve ese
nmero al cuadrado.
Public Function Cuadrado(N As Integer) As Integer
Cuadrado = N * N
End Function
Si se desea guardar el valor devuelto, se debe usar parntesis cuando se invoque a
la funcin, como se muestra a continuacin:
Resultado = Cuadrado (5)
pgina. 54
pgina. 55
Mtodo 2
Escribir Sub o Function seguido del nombre del procedimiento directamente sobre la
ventana de cdigo. Posteriormente presionamos la tecla Entrar (Enter) para que Visual Basic
complete el esqueleto del Procedimiento.
Para editar un procedimiento General existente, seleccionar (General) en la lista
objeto de la ventana de cdigo y a continuacin seleccionar el procedimiento en la lista
procedimiento.
pgina. 56
EJERCICIOS:
EJERCICIO N 1: Mostrar su Nombre
pgina. 57
pgina. 58
EJERCICIO N 9:
EJERCICIO N 10:
pgina. 59
propiedades
en
Objeto
Propiedad
-------------- ---------------
Valor
Form1
Name
Caption
frmEjercicio
Ejercicio 11
Name
MultiLine
ScrollBars
txtDemostracion
True
2 (Vertical)
Name
Caption
FontBold
chkNegr
&Negrita
True
Name
Caption
FontItalic
chkCurs
&Cursiva
True
Name
Caption
FontUnderline
chkSubr
&Subrayada
True
Name
Caption
FontStrikethru
chkTach
&Tachada
True
Name
Caption
cmdTerm
&Salir
Text1
Check1
Check2
Check3
Check4
Command1
pgina. 60