Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad 1 ............................................................................................................ 12
Introduccin a Visual Basic ............................................................................... 12
1.1. Nociones bsicas .................................................................................... 12
1.1.1. Historia ....................................................................................................... 12
1.1.2. Concepto .................................................................................................... 14
1.1.3. Ventajas ..................................................................................................... 14
1.1.4. Requerimientos ........................................................................................... 15
1.1.5. Compilacin ................................................................................................ 15
1.1.6. Modos de operacin .................................................................................... 16
1.1.7. Reglas de Visual Basic ................................................................................. 16
1.2. Teora de Objetos ................................................................................... 18
1.2.1. Clase .......................................................................................................... 18
1.2.2. Objeto ........................................................................................................ 18
1.2.3. Propiedades ................................................................................................ 19
1.2.4. Mtodos...................................................................................................... 20
1.2.5. Evento ........................................................................................................ 20
1.2.6. Procedimientos de evento ............................................................................ 21
1.2.7. Encapsulacin ............................................................................................. 22
1.2.8. Polimorfismo ............................................................................................... 22
Unidad 2 ............................................................................................................ 23
Trabajar con Visual Basic .................................................................................. 23
2.1. Estructura de proyecto ........................................................................... 23
2.1.1. Proyecto ..................................................................................................... 23
2.1.2. Mdulos ...................................................................................................... 23
2.1.3. Procedimientos ............................................................................................ 24
2.1.4. Declaraciones .............................................................................................. 24
2.2. IDE de Visual Basic................................................................................. 25
2.2.1. Entorno de Desarrollo Integrado (IDE).......................................................... 25
2.2.2. Ventana Explorador de Proyecto ................................................................... 25
2.2.3. Ventana Diseador de Formularios ............................................................... 26
2.2.4. Ventana de cdigo....................................................................................... 26
2.2.5. Caja de herramientas................................................................................... 27
2.2.6. Ventana de propiedades .............................................................................. 27
2.2.7. Funciones bsicas del IDE ............................................................................ 28
2.3. Crear una aplicacin............................................................................... 32
2.3.1. Pasos bsicos .............................................................................................. 32
2.3.2. Colocar los objetos ...................................................................................... 32
2.3.3. Establecer las propiedades ........................................................................... 33
2.3.4. Escribir el cdigo ......................................................................................... 34
Unidad 3 ............................................................................................................ 36
Objetos de Visual Basic ..................................................................................... 36
3.1. El formulario .......................................................................................... 36
3.1.1. Formulario (Clase: Form) ............................................................................. 36
3.1.2. Propiedades de formularios .......................................................................... 37
3.1.3. Mtodos de formularios ............................................................................... 38
3.1.4. Eventos de formularios ................................................................................ 38
Unidad 4 ............................................................................................................ 50
Cdigo en Visual Basic ....................................................................................... 50
4.1. Espacios de memoria .............................................................................. 50
4.1.1. Identificadores ............................................................................................ 50
4.1.2. Tipos de datos ............................................................................................ 50
4.1.3. Declaracin de espacios de memoria ............................................................ 52
4.1.4. Alcance de variables y constantes................................................................. 53
4.1.5. Declaracin de variables .............................................................................. 53
4.1.6. Declaracin de constantes (simblicas) ......................................................... 54
4.1.7. Constantes intrnsecas ................................................................................. 54
4.1.8. Arreglos ...................................................................................................... 55
4.1.9. Objetos y espacios de memoria .................................................................... 56
4.2. Operadores ............................................................................................. 57
4.2.1. Aritmticos.................................................................................................. 57
4.2.2. Lgicos ....................................................................................................... 58
4.2.3. Relacionales ................................................................................................ 58
4.2.4. Operadores especiales ................................................................................. 59
4.2.5. Precedencia de los operadores ..................................................................... 59
4.3. Estructuras de control ............................................................................ 60
4.3.1. Programacin estructurada .......................................................................... 60
4.3.2. Tipos de estructuras .................................................................................... 60
4.3.3. Estructura bifurcativa If-Then-ElseIf-Else ...................................................... 60
4.3.4. Estructura bifurcativa Select-Case................................................................. 61
4.3.5. Estructura repetitiva For-Next ...................................................................... 62
4.3.6. Estructura repetitiva Do-Loop ....................................................................... 63
4.4. Procedimientos....................................................................................... 64
4.4.1. Procedimientos y subrutinas ......................................................................... 64
4.4.2. Ventajas de los procedimientos .................................................................... 65
4.4.3. Clasificacin de procedimientos .................................................................... 66
4.4.4. Alcance de procedimientos ........................................................................... 67
4.4.5. Trabajar con procedimientos ........................................................................ 67
4.4.6. Transferencia de parmetros........................................................................ 69
4.4.7. Ejemplo completo de la unidad .................................................................... 70
Unidad 5 ............................................................................................................ 71
Funciones intrnsecas ........................................................................................ 71
5.1. Funciones en general ............................................................................. 71
5.1.1. Expresiones ................................................................................................ 71
5.1.2. Funciones ................................................................................................... 71
5.1.3. Instrucciones .............................................................................................. 72
5.2. Funciones de cadena .............................................................................. 72
5.2.1. Tratamiento de cadenas .............................................................................. 72
5.2.2. Cambiar a maysculas y minsculas ............................................................. 73
5.2.3. Determinar la longitud de una cadena .......................................................... 73
5.2.4. Buscar caracteres dentro de una cadena ....................................................... 73
5.2.5. Extraer e insertar caracteres a una cadena ................................................... 74
5.2.6. Tratamiento de espacios en blanco ............................................................... 74
5.2.7. Convertir a nmero y a cadena .................................................................... 75
5.2.8. Obtener cadenas de caracteres con formato ................................................. 75
5.2.9. Mapa de caracteres ..................................................................................... 77
5.3. Funciones numricas.............................................................................. 78
5.3.1. Funciones matemticas ................................................................................ 78
5.3.2. Funciones de ajuste decimal ........................................................................ 78
5.3.3. Funcin de nmero aleatorio ........................................................................ 79
5.4. Funciones de fecha y hora...................................................................... 79
5.4.1. Obtener la fecha y hora del sistema.............................................................. 79
5.4.2. Establecer la fecha y hora del sistema .......................................................... 79
5.4.3. Realizar clculos con fechas y horas ............................................................. 79
5.4.4. Devolver fechas y horas ............................................................................... 82
5.4.5. Cronometrar procesos ................................................................................. 82
5.5. Funciones de Objetos ............................................................................. 82
5.5.1. Cuadro de dilogo de entrada InputBox ........................................................ 82
5.5.2. Cuadro de dilogo de mensajes MsgBox ....................................................... 83
Unidad 6 ............................................................................................................ 87
Archivos............................................................................................................. 87
6.1. Nociones bsicas .................................................................................... 87
6.1.1. Unidades .................................................................................................... 87
6.1.2. Archivos ...................................................................................................... 88
6.1.3. Directorios .................................................................................................. 88
6.2. Instrucciones de archivos ...................................................................... 89
6.2.1. Instrucciones para manipular directorios ....................................................... 89
6.2.2. Instrucciones para manipular archivos .......................................................... 89
6.3. Funciones de archivos ............................................................................ 91
6.3.1. Funciones para manipular directorios ............................................................ 91
6.3.2. Funciones de archivos cerrados .................................................................... 92
6.3.3. Funciones de archivos abiertos ..................................................................... 92
6.4. Objetos de archivos................................................................................ 93
6.4.1. Caja de lista de archivos (Clase: FileListBox) ................................................. 93
6.4.2. Caja de lista de directorio (Clase: DirListBox) ................................................ 93
6.4.3. Caja de lista de unidades (Clase: DriveListBox) ............................................. 93
6.4.4. Cuadro de dilogo comn (Clase: CommonDialog) ........................................ 94
ndice de figuras
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
1.1.2.1.2.2.2.3.2.4.2.5.2.6.2.7.2.8.2.9.2.10.2.11.2.12.2.13.2.14.2.15.2.16.2.17.2.18.3.1.3.2.3.3.3.4.4.1.4.2.4.3.4.4.4.5.4.6.5.1.5.2.5.3.5.4.5.5.5.6.5.7.5.8.5.9.5.10.5.11.5.12.5.13.6.1.6.2.6.3.6.4.6.5.7.1.7.2.7.3.7.4.-
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
7.5.7.6.7.7.7.8.7.9.7.10.7.11.7.12.7.13.7.14.7.15.7.16.7.17.7.18.7.19.7.20.7.21.7.22.7.23.8.1.8.2.8.3.8.4.8.5.8.6.8.7.8.8.8.9.8.10.8.11.8.12.8.13.8.14.8.15.8.16.9.1.-
ndice de tablas
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
1.1.3.1.3.2.3.3.3.4.3.5.3.6.3.7.3.8.3.9.4.1.4.2.4.3.4.4.4.5.5.1.5.2.5.3.5.4.5.5.5.6.5.7.5.8.5.9.5.10.5.11.6.1.6.2.6.3.6.4.7.1.7.2.7.3.7.4.7.5.7.6.7.7.7.8.7.9.7.10.7.11.7.12.7.13.8.1.8.2.8.3.8.4.8.5.9.1.-
Unidad 1
Introduccin a Visual Basic
La manera de lograr las cosas es empezndolas
. Horace Greeley
PASCAL. Basic deba evolucionar y la IBM crea una versin modificada de Basic
llamaba BASICA, la cual fracas. Paralelamente, la empresa Microsoft saca al
mercado la versin estructurada de Basic denominada GWBASIC para DOS.
Posteriormente otra empresa, Borland, crea su propia versin de Basic
estructurado, pero agrega mejoras de velocidad optimizando la compilacin en su
producto TURBO BASIC. Microsoft compite con Borland optimizando tambin la
compilacin y corrigiendo casi todos los defectos de las versiones anteriores, para
finalmente obtener Quick-BASIC. Las ltimas versiones del sistema operativo MSDOS incluan una versin algo recortada de Quick-BASIC llamada QBASIC.
En 1985 aparece Windows, la Interfaz de Usuario Grfica (GUI) de Microsoft para
su sistema operativo MS-DOS; y comienzan a aparecer conceptos tales como
multitarea, multiprocesamiento y objetos de programacin. El programa Windows
permita administrar casi la totalidad de servicios de usuario del sistema con
procesadores de texto, hojas de clculo, programas de dibujo y diseo, antivirus y
hasta una calculadora. Era necesario crear aplicaciones que se ejecutaran
utilizando esta GUI. Es as como los diseadores de Microsoft combinan,
convenientemente, la interfaz grfica con su lenguaje de programacin por
excelencia, QBASIC; obtenindose una de las primeras versiones visuales de
lenguajes de programacin, la cual recibi el nombre Visual Basic.
Desde que apareci Visual Basic, ya Basic no es slo para novatos, sino que
representa una alternativa para programadores de todos los niveles, quienes
estimulados por su gran versatilidad y potencia, comienzan a utilizarlo. Para los
aos de 1993 y 1994, Visual Basic comienza a hacerse muy popular con su versin
3.0 de 16 bits. La versin 4.0 estuvo lista para 1995, casi paralelo con la aparicin
del primer sistema operativo de Microsoft con ambiente grfico: Windows 95. Este
era el momento de transicin de los buses de datos de los microprocesadores de
16 a 32 bits; hecho determinante para que Visual Basic 4.0 estuviera disponible
para ambos buses de datos, por lo que la instalacin era opcional para 16 32
bits. No tard mucho en evolucionar un poco ms con su versin 5.0
exclusivamente para 32 bits. A mediados de 1998, Visual Basic adopta su versin
6.0, la cual viene como parte de un paquete de lenguajes de programacin visual
para desarrollar aplicaciones Windows llamado Visual Studio 6.0, el cual incluye:
Visual C++ 6.0, Visual FoxPro 6.0, Visual J++ 6.0, Visual InterDev 6.0 y Visual
Basic 6.0. A partir del ao 2000 surge la plataforma de Microsoft para servicios
Web (o cualquier servicio basado en red) conocida como framework.NET, la cual
incluye las herramientas para el desarrollo de aplicaciones Visual Studio .NET,
entre ellas se encuentra Visual Basic .NET.
True BASIC
BASIC STANDAR
GWBASIC
Quick BASIC
QBasic
13
documento de Excel, como objeto, a una aplicacin Visual Basic, para efectuar
las operaciones normales de una hoja de clculo, pudiendo modificar datos de
las celdas del documento original si est vinculado, o slo visualizar y
manipular celdas si est incrustado.
f)
g) Otras ventajas
Compilador de archivos de ayuda para aadir ayuda personalizada a las
aplicaciones, biblioteca de iconos e imgenes, asistente de empaquetado y
distribucin para crear los discos de la aplicacin terminada, ayuda completa
en lnea, y un editor de cdigo con mens emergentes e interpretador del
cdigo.
1.1.4. Requerimientos
Los requerimientos de instalacin que aqu se tratan se refieren a la versin de
Visual Basic 6.0. Para versiones anteriores refirase a los manuales
correspondientes.
a) Requerimientos de software:
Sistema operativo de red: Microsoft Windows NT 3.51 o posterior.
Sistema operativo cliente: Microsoft Windows 95 o posterior.
b) Requerimientos de hardware:
Microprocesador: Pentium 90MHz o superior.
Vdeo: Pantalla VGA de 640x480 o de resolucin superior.
Memoria RAM: 24 MB para Windows 95, 32 MB para Windows NT.
Espacio en disco duro Edicin Estndar: de 48MB a 80 MB.
Espacio en disco duro Edicin Empresarial: de 128MB a 147 MB.
Espacio en disco duro para MSDN (Documentacin multimedia): 67MB.
CD-ROM (no se supone soporte para MS-DOS).
1.1.5. Compilacin
La compilacin es el proceso mediante el cual cualquier lenguaje de programacin
convierte su seudo lenguaje al cdigo mquina o cdigo binario para su
procesamiento y ejecucin segn el sistema operativo instalado. Se dice que el
cdigo mquina (unos y ceros) es el lenguaje de mas bajo nivel, ya que posee las
directivas que interactan directamente e internamente con el microprocesador.
15
Prefijo
hsb
vsb
sta
tlb
prg
ani
opt
cmd
chk
com
ole
tmr
grd
dgd
dbc
cbo
pic
lst
fil
dir
drv
txt
dat
ado
dlg
lbl
tab
shp
frm
img
sys
lin
fra
mnu
Ejemplo
hsbVolumen
vsbIndice
staFechaHora
tlbAcciones
prgCargarArchivo
aniBuzon
optGenero
cmdSalir
chkSoloLectura
comFax
oleHojaCalculo
tmrAlarma
grdPrecios
dgdTitulos
dbcAutor
cboIngles
picVGA
lstCodigos
filOrigen
dirSource
drvDestino
txtApellido
datBiblio
adoBiblio
dlgAbrirArchivo
lblMensajeAyuda
tabOpciones
shpCirculo
frmEntrada
imgIcono
sysMonitor
linVertical
fraIdioma
mnuAbrirArchivo
17
Propiedades
1.2.4.
Mtodos
Evento
Un evento es una accin reconocida por un objeto, como cuando el usuario hace
clic con el Mouse o presiona una tecla. Los eventos no slo son producidos por el
usuario, tambin pueden ser ocasionados por el sistema, por aplicaciones
externas, e inclusive por la misma aplicacin. Por ejemplo, MiCarro podra tener los
eventos "CambioDeVelocidad, Estacionarse, Encendido, GiroIzquierdo, etc. La
sintaxis para alguno de estos eventos de MiCarro sera:
MiCarro_CambioDeVelocidad
20
MiCarro_Encendido
MiCarro_Estacionarse
En Visual Basic la sintaxis general para el evento de un objeto es:
NombreDeObjeto_NombreDeEvento
1.2.6.
Procedimientos de evento
1.2.7. Encapsulacin
Esta caracterstica de la OOP es la facultad de unificar el cdigo y los datos que la
clase u objeto contiene, as como ocultar el cdigo que maneja dicha informacin.
La encapsulacin nos ayuda a olvidarnos de cual es la implementacin realizada en
los procedimientos y datos (mtodos y propiedades) de una clase, para que slo
nos preocupemos de cmo usarlos. La encapsulacin es la caracterstica que
permite ocultar cmo estn codificados los mtodos y propiedades de las clases. El
mero hecho de crear un mtodo o una propiedad en una clase ya implica que
estamos usando la caracterstica de la encapsulacin en Visual Basic.
1.2.8. Polimorfismo
Muchas clases pueden proporcionar la misma propiedad o el mismo mtodo y el
que llama no tiene por qu saber la clase a la que pertenece el objeto antes de
llamar a la propiedad o al mtodo. Por ejemplo, una clase Automvil y una clase
Avin podran tener la misma propiedad Velocidad o el mismo mtodo Acelerar. El
polimorfismo significa que puede establecer la Velocidad o invocar Acelerar sin
saber si el objeto es MiCarro o MiAvin. Todos los mtodos implementados en las
clases deben tener una forma nica de comportarse, y las propiedades de las
clases deben ser consistentes con la informacin que corresponde tratar. El
polimorfismo sera el contrato firmado para que esos procedimientos y datos se
utilicen de forma adecuada. Se dice que una clase es polimrfica cuando podemos
usar sus mtodos y propiedades sin importarnos qu objeto los implementa. El
Polimorfismo en Visual Basic se puede usar de dos formas diferentes, segn se
compruebe si el miembro de una clase (propiedad o mtodo) pertenece al objeto
que lo utiliza, en tiempo de diseo o en tiempo de ejecucin.
22
Unidad 2
Trabajar con Visual Basic
Cualquier obra grande al principio es imposible
. - Carlyle
2.1.3. Procedimientos
Cada mdulo se divide en procedimientos. Los procedimientos son estructuras que
delimitan un conjunto de instrucciones. Los procedimientos pueden tener alcance
pblico o privado. Los procedimientos privados slo se pueden acceder desde el
mdulo en el cual estn creados, mientras que los procedimientos pblicos se
pueden acceder desde cualquier mdulo del proyecto. Tambin los procedimientos
existen en tres tipos: Sub, Function, y Property que se estudiarn en detalle en la
unidad 4; por lo pronto slo es necesario conocer su estructura, la cual segn el
alcance y el tipo se pueden ver de la siguiente manera:
Private Sub NombreDeProcedimientoSub()
{Cdigo de instrucciones}
End Sub
Private Function NombreDeProcedimientoFunction()
{Cdigo de instrucciones}
End Function
Los procedimientos se inician con la sentencia Sub y termina con End Sub. De esta
misma manera las funciones comienzan con la sentencia Function y terminan con
End Function. En general, todas las estructuras de Visual Basic se inician con
NombreDeEstructuta y terminan con End NombreDeEstructura. No est permitido
escribir cdigo que no sea dentro de la estructura de procedimientos.
2.1.4. Declaraciones
Independientemente del tipo de mdulo, todos poseen un rea especial fuera de
la estructura de los procedimientos al inicio del mdulo conocida como Seccin de
Declaraciones. En esta seccin del mdulo no se pueden escribir instrucciones,
slo declaraciones. Las declaraciones consisten en especificar localidades de
memoria o funciones externas (API) mediante un nombre o identificador. En la
figura 2.1 se puede apreciar una aproximacin grfica de la estructura completa
de un proyecto, con dos mdulos de formulario, un formulario estndar y la
estructura interna de cada mdulo en declaraciones y procedimientos.
Proyecto.vbp
Formulario1.frm
Formulario2.frm
Mdulo.bas
Declaraciones
Declaraciones
Declaraciones
Private Sub
Public Sub
Private Sub
End Sub
Private Function
End Sub
Private Sub
End Sub
Public Function
End Function
Private Sub
End Sub
Private Sub
End Function
Public Sub
End Sub
End Sub
End Sub
24
d
e
25
a
c
26
Puntero
Pictute
Label
TextBox
Frame
CommandButton
CheckBox
OptionButton
ComboBox
ListBox
HScrollBar
VScrollBar
Timer
DriveListBox
DirListBox
FileListBox
Shape
Line
Image
Data
OLE
27
Sugerencia: Seleccione EXE estndar en cualquiera de los casos para aplicaciones sencillas.
Mediante el teclado: CTRL+N tiene el mismo efecto.
28
Recuerde:
Configurar el proyecto:
Para acceder a las Propiedades del proyecto (ver Figura 2.12) se usa el
men Proyecto | Propiedades de NombreProyecto. La seccin Objeto
30
g) Configurar el entorno:
Para configurar el IDE se hace clic en el men Herramientas | Opciones y
aparece el dilogo que se muestra en la figura 2.13, en la se pueden apreciar
las pestaas Editor, Formato del editor, General, Acople, Entorno y Avanzado.
32
33
34
Evento seleccionado
Procedimiento de evento
Cdigo Basic
35
Unidad 3
Objetos de Visual Basic
La manera ms segura de no fracasar es decidirse a tener xito
.- Sheridan.
3.1. El formulario
3.1.1. Formulario (Clase: Form)
Un objeto formulario es una ventana o un cuadro de dilogo que forma parte de la
interfaz de usuario de una aplicacin cuando esta se ejecuta. Los formularios
pertenecen a la clase Form, a la vez que Form tambin es un objeto. Los
formularios son objetos contenedores. Los contenedores son objetos diseados
para albergar o agrupar a otros objetos, de tal manera que si se mueve o se
elimina al contenedor, tambin se mueven o eliminan a los objetos contenidos en
l. Para hacer referencia a un objeto contenido dentro de un formulario, se debe
especificar el nombre del formulario seguido de un punto y luego el nombre del
objeto.
NombreForm.NombreObjeto.Propiedad = Valor
NombreForm.NombreObjeto.Mtodo [Parmetro1, Parmetro2,]
En el caso que el objeto este contenido en el mismo formulario desde el que se
hace referencia, se sustituye el nombre del formulario por la palabra reservada
Me. La palabra Me es equivalente al nombre del formulario en cuyo mdulo se
escribe el cdigo. En otras palabras, para el ejemplo Me reemplaza a
NombreForm, siempre que la ventana de cdigo pertenezca al formulario
llamado NombreForm.
Me.NombreObjeto.Propiedad = Valor
Me.NombreObjeto.Mtodo [Parmetro1, Parmetro2,]
De esta misma manera, para acceder a propiedades y mtodos del formulario
actual, no es necesario escribir su nombre completo como se muestra a
continuacin.
NombreForm.Propiedad = Valor
NombreForm.Mtodo [Parmetro1, Parmetro2,]
En su lugar, se hace referencia al formulario actual la palabra reservada Me.
Me.Propiedad = Valor
Me.Mtodo [Parmetro1, Parmetro2,]
36
La palabra Me, ms que sintaxis, es una gran ayuda a la hora de escribir cdigo,
ya que al colocar el punto justo despus de Me se despliegan, no slo las
propiedades y mtodos del formulario, sino tambin los objetos que este contiene
(ver Figura 3.1), facilitndose la escritura y verificndose si existe o no el objeto.
Propiedad
Mtodo
Objeto
Esta funcionalidad es gracias al operador punto del editor de cdigo, y aplica para
todos los objetos del sistema, instancias de objetos y estructuras. Observe que se
presentan iconos diferentes para distinguir entre propiedades, mtodos y objetos.
Regla de Visual Basic de prefijo para nombre de objeto Formulario: frm.
Descripcin
Si el objeto es 3D o plano.
Si re-dibuja o no los resultados de mtodos grficos.
Color de fondo del objeto.
Estilo del borde del formulario. Puede ser sin borde, borde fijo, borde ajustable, etc.
Ttulo o rtulo del objeto. Para formularios, aparece en la barra de ttulo.
Si muestra o no el cuadro de control del formulario.
Estilo de lnea de los resultados de mtodos grficos.
Grueso de lnea de los resultados de mtodos grficos.
Si permite o no los eventos del ratn.
Color de relleno de formas, crculos y cuadros.
Estilo de relleno de formas, crculos y cuadros.
Nombre y estilo de la fuente tipogrfica para el objeto.
Color de la fuente tipogrfica.
Altura del objeto. Segn ScaleMode.
Imagen del cuadro de control del formulario.
Distancia del lado izquierdo del objeto al borde de su contenedor. Segn ScaleMode.
Si muestra o no el botn maximizar del formulario.
Si muestra o no el botn minimizar del formulario.
Imagen personal del apuntador de ratn. MousePointer debe establecerse en 99-Custom.
Tipo de imagen del apuntado de ratn sobre el objeto.
Si se puede mover o no el formulario en tiempo de ejecucin.
Identificador o nombre del objeto. No acepta espacios ni caracteres especiales.
Imagen de fondo. Cualquier archivo grfico del entorno de Windows.
Altura interior del objeto. Segn ScaleMode.
Coordenada del lado izquierdo interno del objeto. Segn ScaleMode.
Unidad de medida de las coordenadas. Puede ser Twip, Centmetro, Pulgada, etc.
Coordenada del lado superior interno del objeto. Segn ScaleMode.
37
Propiedad
ScaleWidth
ShowInTaskBar
StarUpPosition
Tag
Top
Visible
Width
WindowState
Descripcin
Ancho interior del objeto. Segn ScaleMode.
Si muestra o no la aplicacin en la barra de tareas de Windows.
Posicin inicial del formulario cuando se carga o se ejecuta la aplicacin.
Informacin adicional del objeto.
Distancia del lado superior del objeto al borde de su contenedor. Segn ScaleMode.
Si se muestra o no en la pantalla.
Ancho del objeto. Segn ScaleMode.
Modo del formulario Normal, Maximizado o Minimizado
Tabla 3.1.- Propiedades ms importantes del formulario.
Botn minimizar
Botn maximizar
Botn cerrar
Caja de control
Barra de men
Height
Borde
Fondo
Width
Figura 3.2.- Elementos bsicos de una ventana.
Sintaxis
Show
Objeto.Show [Estilo]
Hide
Objeto.Hide
Circle
Line
Cls
Objeto.Cls
Move
PSet
SetFocus
Objeto.SetFocus
Accin
Mostrar un formulario en forma modal si Estilo = 1. De
lo contrario es no modal.
Ocultar un formulario. El formulario no se descarga de
la memoria.
Dibujar un crculo sobre el objeto. El centro est en x,
y. El radio es r.
Dibujar una lnea sobre el objeto. La lnea va desde
x1, y1, hasta x2, y2.
Borrar los resultados de mtodos grficos. Mtodos
como Line y Circle son mtodos grficos.
Mover y cambiar tamao del objeto. Alternativamente
dispone las propiedades Top, Left, Height y Width
Dibujar un punto sobre el objeto. El tamao del punto
depende del valor de la propiedad DrawWidth.
Enfocar al objeto. Los objetos deshabilitados o no
visibles, no pueden ser enfocados.
Tabla 3.2.- Mtodos ms importantes del formulario
Ocurre cuando
El usuario presiona y suelta un botn del Mouse (ratn) en un objeto.
El usuario presiona y suelta un botn del Mouse (ratn) en un objeto dos veces.
El usuario presiona un botn del Mouse (ratn) en un objeto.
El usuario suelta un botn del Mouse (ratn) en un objeto.
El usuario mueve el puntero del Mouse (ratn) en un objeto.
38
Evento
KeyDown
KeyUp
KeyPress
DragDrop
DragOver
Activate
Deactivate
GotFocus
LostFocus
Load
Unload
QueryUnload
Paint
Resize
Ocurre cuando
El usuario presiona una tecla en un objeto que tiene el enfoque.
El usuario suelta una tecla en un objeto que tiene el enfoque.
El usuario presiona y suelta una tecla en un objeto que tiene el enfoque.
El usuario termina una operacin de arrastrar y colocar sobre un objeto.
El usuario ejecuta una operacin de arrastrar y colocar sobre un objeto.
Un formulario se convierte en la ventana activa.
Un formulario deja de ser la ventana activa.
Un objeto recibe el enfoque.
Un objeto pierde el enfoque.
Un formulario se abre o se carga.
Un formulario se cierra o descarga.
Un formulario se intenta cerrar o descargar.
Un objeto o parte de l se expone si estaba cubierto por otro.
Un formulario cambia de tamao.
Tabla 3.3.- Eventos ms importantes del formulario.
Veremos slo las propiedades, mtodos y eventos especficos que no hayan sido
tratados anteriormente para cada objeto.
a) Propiedades de etiquetas
Propiedad
Alignment
AutoSize
BackColor
BackStyle
BorderStyle
Caption
DragIcon
DragMode
ToolTipText
WordWrap
Descripcin
Justificacin de texto centrada, derecha o izquierda.
Si ajusta o no su tamao al contenido.
Color de fondo. No tiene efecto si la propiedad BackStyle = 0-Transparent
Estilo de fondo de etiquetas (Label) y figuras (Shape).
Estilo del borde del objeto. Puede ser con o sin borde.
Ttulo o rtulo del objeto.
Icono que se muestra durante la operacin arrastrar y colocar del objeto.
Modo de la operacin arrastrar y colocar del objeto.
Mensaje de la etiqueta de ratn cuando se sealiza al objeto.
Si ajusta o no su tamao en altura al contenido (Caption).
Tabla 3.4.- Algunas propiedades de la etiqueta.
Descripcin
Color de fondo. No tiene efecto si la propiedad Style = 0-Estndar.
Si ejecuta o no el clic de un Botn presionando ESC.
Si ejecuta o no el clic de un Botn presionando ENTER.
Imagen cuando se deshabilita el objeto. No tiene efecto si la propiedad Style = 0-Estndar.
Imagen cuando se hace clic en el objeto. No tiene efecto si la propiedad Style = 0-Estndar.
Imagen de fondo. No tiene efecto si la propiedad Style = 0-Estndar.
Estilo grfico de objetos.
Orden para el enfoque mediante la tecla TAB.
Si se enfoca o no mediante la tecla TAB.
Tabla 3.5.- Algunas propiedades del botn de comando
Descripcin
Si ejecuta o no el evento Validate del objeto si pierde el enfoque.
Si permite o no los eventos del ratn.
Si oculta o no la seleccin del objeto cuando pierde el enfoque.
Si bloquea o no la escritura en cajas de texto.
Cantidad de caracteres admisibles en una caja de texto.
Si permite o no varias lneas de escritura en una caja de texto.
Carcter para enmascarar la escritura en cajas de texto.
Tipo de barra de desplazamiento para cajas de texto.
Cantidad de caracteres seleccionados en una caja de texto.
Posicin del cursor dentro de una caja de texto.
Posicin del cursor dentro de una caja de texto.
Contenido alfanumrico de una caja de texto o combinada.
Tabla 3.6.- Algunas propiedades de la caja de texto.
Descripcin
Nmero de columnas de una lista.
Nmero especfico para cada elemento de una lista.
Elemento especfico de una lista.
Cantidad de elementos dentro de una lista.
Nmero del elemento seleccionado de una lista.
Modalidad de seleccin de una lista.
44
Propiedad
NewListIndex
Selected
Sorted
Style
Descripcin
Nmero del elemento agregado nuevo a una caja de lista.
Si est o no seleccionado un elemento de una lista.
Si ordena o no los elementos de una lista.
Estilo grfico de objetos.
Tabla 3.7.- Propiedades ms importantes de listas.
Sintaxis
AddItem
Objeto.AddItem Elemento
RemoveItem
Objeto.RemoveItem Posicin
Clear
Objeto.Clear
Accin
Agregar el Elemento a un control caja de lista o caja
combinada. NewListIndex tiene la posicin.
Eliminar el elemento que se encuentra en la Posicin de
una caja de lista o caja combinada
Eliminar todos los elementos de una caja de lista o caja
combinada.
Tabla 3.8.- Mtodos ms importantes de las cajas de lista
Descripcin
Variacin del valor de una barra de desplazamiento largo.
Valor mximo de una barra de desplazamiento.
Valor mnimo de una barra de desplazamiento.
Variacin del valor de una barra de desplazamiento en corto.
Valor del objeto.
Tabla 3.9.- Propiedades ms importantes de la barra de desplazamiento.
Label
TextBox
Frame
CommandButton
CheckBox
OptionButton
ComboBox
ListBox
HScrollBar
VScrollBar
Timer
DriveListBox
DirListBox
FileListBox
Shape
Line
Image
Data
OLE
47
48
49
Unidad 4
Cdigo en Visual Basic
La confusin es parte del proceso de aprendizaje
.- Dr. Lair Ribeiro
Para
Bytes
1
Nmeros enteros
2
4
4
Nmeros con
decimales
8
8
Boolean
Valores lgicos
Date
Fechas y horas
Object
Instancias de objetos
String
(longitud variable)
String * L
(longitud fija)
Variant
(con nmeros)
Variant
(con caracteres)
Cadenas de caracteres
de longitud variable
Cadenas de caracteres
de longitud fija
10 + L
L
16
Datos variables
22 + L
Intervalo
Desde 0
Hasta 255
-32.768 hasta
+32.767
-2.147.483.648 a
+2.147.483.647
-3,4028E38 a 1,4013E-45 (negativos)
+1,4013E-45 a +3,4028E38 (positivos))
-1,7977E308 a -4,9407E-324 (negativos)
+4,9407E-324 a +1,7977E308 (positivos)
-922.337.203.685.477,5808 a
+922.337.203.685.477,5807
True
False
1 de enero de 100 a
31 de diciembre de 9999
Cualquier referencia a tipo Object
No importa la clase del objeto.
Desde 0 hasta 2.000 millones de caracteres
(L: Cantidad de caracteres)
Desde 1 a 65.400 caracteres aprox.
(L: Cantidad de caracteres)
Cualquier valor numrico hasta
el intervalo de un tipo Double
Desde 0 hasta 2.000 millones
(L: Cantidad de caracteres)
Tabla 4.1.- Tipos de datos provistos por Visual Basic.
d) Tipo de datos para fecha y hora (Date): Permite efectuar clculos de fecha y
hora. El valor de una fecha u hora se delimita mediante los caracteres
numerales (#), y se utilizan los caracteres barra (/) o guin (-) para separar
da, mes y ao, y el caracter dos puntos (:) para separar hora, minuto y
segundo.
51
52
53
54
4.1.8. Arreglos
Los arreglos permiten definir varios espacios de memoria del mismo tipo con un
solo identificador, pudiendo diferenciar cada espacio de memoria mediante
apuntadores o marcadores que se conocen como ndices. Los arreglos pueden ser
de una dimensin (vectores), cuando utilizan un solo ndice; o de varias
dimensiones (matrices), cuando utilizan varios ndices. Mediante los ndices se
puede acceder directamente a cada uno de los elementos de un arreglo. Para
declarar arreglos de una dimensin se usa:
Dim MiVector(Mximo) As tipo
Mximo es un valor que determina el mximo ndice del vector, y tomando en
cuenta que el ndice mnimo es cero, el nmero de elementos del vector ser igual
a Mximo + 1. Por ejemplo, suponga la siguiente declaracin:
Dim MiVector(4) As Long
De esta manera se han creado 5 espacios de memoria tipo Long identificados por:
Mivector (0), Mivector (1), Mivector (2), Mivector (3) y Mivector (4).
Tambin se puede especificar un rango de ndices que inicie distinto de cero:
Dim MiArreglo (Mnimo To Mximo) As tipo
Mnimo determina en ndice inferior e inicio del rango. Por ejemplo:
Dim Estudiantes (1 To 7) As String
Para declarar matrices, los rangos de cada dimensin se separan mediante comas:
Dim Nota (1 To 7, 1 To 5) As Single
Finalmente, para usar la variable de un arreglo, se debe especificar el ndice
correspondiente, tal como se muestra a continuacin, donde se asigna la nota de
la tercera evaluacin al quinto alumno:
55
Alumno = 5
Evaluacin = 3
Nota(Alumno, Evaluacin) = 20.5
4.1.9. Objetos y espacios de memoria
Cada uno de los objetos requiere espacios de memoria para variables y
constantes. Estos espacios de memoria no requieren declaracin, ya que los
mismos se crean automticamente con la creacin del objeto. Se puede decir que
estos espacios de memoria son de alcance pblico, ya que estn disponibles en
toda la aplicacin.
a) Identificadores:
Los espacios de memoria requeridos por un objeto se identifican mediante el
nombre del contenedor, el nombre del objeto y el nombre de la propiedad
separados por el operador punto.
b) Variables:
Cada propiedad del tipo lectura-escritura de un objeto se almacena en un
espacio de memoria variable. Por ejemplo la propiedad Enabled se almacena
en un espacio de memoria que se puede cambiar durante la ejecucin y su
tipo de dato Boolean.
c) Constantes:
Las propiedades de solo lectura son constantes, como la propiedad Moveable
que se puede leer pero no cambiar durante la ejecucin. Tambin, los valores
de ciertas propiedades son constantes del objeto. Por ejemplo, los valores de
la propiedad BorderStyle de un formulario pueden ser 0-None, 1-FixedSingle,
2-Sizable, etc.
d) Arreglos:
Distintos espacios de memoria, pero bajo un mismo nombre de objeto, es
posible mediante los arreglos de objetos. Las colecciones son parecidas a los
arreglos de objetos, las cuales se basan en crear varios objetos con el mismo
identificador. La manera de diferenciar un objeto de otro es mediante su
propiedad Index, ya que cada objeto dentro del arreglo posee propiedades
individuales. Los arreglos de objetos son unidimensionales y muchas veces se
tratan como vectores de objetos. Para referirse a la propiedad de un objeto
especfico, se hace referencia tanto al nombre del objeto como a su ndice. En
un arreglo de 3 botones de comando se desea deshabilitar slo al segundo
botn, y habilitar los otros dos botones:
Me.cmdBotn(0).Enabled = True
Me.cmdBotn(1).Enabled = False
Me.cmdBotn(2).Enabled = True
Utilizando colecciones o arreglos se optimiza el uso del sistema, ya que
consumen menos recursos que los controles creados independientemente. Los
objetos de un arreglo comparten el mismo procedimiento de evento, por lo
tanto no es necesario escribir cdigo separado por cada objeto del vector. Los
procedimientos de evento de un objeto en un arreglo, incluyen el argumento
Index, el cual permite identificar o diferenciar al objeto causante del evento.
56
Operador
+
*
/
\
Mod
^
Tabla 4.2.- Operadores aritmticos de Visual Basic
La divisin entera (\) devuelve el valor de la parte entera del resultado de una
divisin. Por ejemplo, 5\2 es igual a 2, ya que 5/2 es igual a 2,5. Por otra parte, el
operador Mod permite obtener el resto o residuo de una divisin. Para el caso 5
Mod 2, el resultado es igual a 1, ya que 2x2 es igual a 4 y falta 1 para 5.
57
4.2.2. Lgicos
Los operadores lgicos permiten obtener resultados lgicos (True o False)
mediante una comparacin bit a bit de dos expresiones. En Visual Basic, False
representa al nmero 0, y True a cualquier otro valor distinto de 0 (cero). La tabla
4.3 muestra los operadores lgicos de Visual Basic y sus resultados segn las
expresiones A y B.
A
True
False
True
False
True
True
False
False
A And
B
True
False
False
False
A Or B
Not(A)
Not(B)
True
True
True
False
False
True
False
True
False
False
True
True
A Xor
B
False
True
True
False
A Eqv
B
True
False
False
True
A Imp
B
True
True
False
True
4.2.3. Relacionales
Los operadores relacionales se utilizan para comparar dos condiciones lgicas de
una expresin. Por lo general se utilizan en las estructuras de control que veremos
ms adelante. A continuacin (ver Tabla 4.4) se muestra los operadores
relacionales.
Operacin
Es igual a
Es distinto de
Es menor que
Es mayor que
Es menor o igual que
Es mayor o igual que
Es como (el patrn de cadena)
Operador
=
<>
<
>
<=
>=
Like
Tabla 4.4.- Operadores relacionales de Visual Basic.
b) Operador de concatenacin (&): Para unir dos cadena de texto en una sola, se
acostumbra a utilizar el operador &, aunque tambin se puede usar el operador
+. En el ejemplo siguiente, el ttulo de un formulario es el resultado de una
concatenacin. Si en la caja de texto se escribe el caracter 5, el ttulo del
formulario ser Ventana 5. Observe que si no se dejara el espacio antes de
la comilla de cierre, el ttulo resultante sera: Ventana5
Me.Caption = Ventana & Me.txtNumero.Text
c) Operador punto (.): Este operador se usa para relacionar un objeto con su
propiedad, mtodo u objeto dependiente. Tambin aplica para hacer
referencia a variables de tipo de datos definidos por el usuario. Cada vez que
se escribe un punto despus de la variable de objeto, se despliegan todos sus
miembros, permitiendo al usuario buscar y seleccionar el miembro requerido.
4.2.5. Precedencia de los operadores
La precedencia de los operadores se refiere al orden en que las operaciones
matemticas se efectan. En la tabla siguiente (ver Tabla 4.5) se muestra el orden
de precedencia de los operadores aritmticos, lgicos y relacionales.
Orden
1
2
3
4
5
6
Aritmticos
Potencia (^)
Inversin de signo (-)
Multiplicacin (*) y divisin (/)
Divisin entera (\)
Mdulo (Mod)
Suma (+) y Resta()
Lgicos
Igual a (=)
Distinto de (<>)
Menor que (<)
Mayor que (>)
Menor o igual a (<=)
Mayor o igual a (=>)
Relacionales
Negacin (Not)
Conjuncin (And)
Disyuncin (Or)
Exclusin (Xor)
Equivalencia (Eqv)
Implicacin (Imp)
Tabla 4.5.- Precedencia de operadores
59
=
=
=
=
=
=
4 + 3 * 2 ^
4 + 3 * 2 ^
(4 + 3) * 2
4 + (3 * 2)
(4 + 3 * 2)
(4 + 3 * 2)
2 - 1
(2 - 1)
^ 2 - 1
^ 2 - 1
^ 2 - 1
^ (2 1)
'A
'A
'A
'A
'A
'A
Num
Num
Num
Num
Num
Num
se
se
se
se
se
se
le
le
le
le
le
le
asigna
asigna
asigna
asigna
asigna
asigna
15
10
27
39
99
100
Expresin
Else
True
Then
End If
Figura 4.2.- Estructura If-Then-Else simple.
Expresin 1
ElseIf
True
Then
False
Expresin 2
True
Then
ElseIf
False
Expresin N
Else
True
Then
End If
Figura 4.3.- Estructura If-Then-Else completa.
Observacin: En cada bloque de instrucciones tipo Then o Else se pueden anidar estructuras If
Then Else.
Case 0
'Instrucciones
Case 3
'Instrucciones
Case 4, 7
'Instrucciones
Case 8 To 10
'Instrucciones
Case Is > 10
'Instrucciones
Case Else
'Instrucciones
End Select
si A es 0
si A es 3
si A es 4 7
si A es 8, 9 10
si A es mayor a 10
para los otros casos
Select Case A
A=v1 A=v2
False
A >=v3 y A<=v4
False
False
A >vN
Case Else
True
Case v1, v2
True
Case v3 To v4
True
Case Is > vN
End Select
Figura 4.4.- Estructura Select Case
For Control
Control = Inicio
False
Next
Next Control
Do While
False
Condicin?
Do
Do Until
True
Instrucciones
True
Instrucciones
Loop
Loop
Condicin?
Do
Instrucciones
False
Loop While
Condicin?
Instrucciones
True
Loop
False
Loop
Loop
Loop Until
Condicin?
False
True
Loop
Figura 4.6.- Estructuras Do-Loop.
Salir del Do: Se puede terminar el bucle Do-Loop mediante la sentencia Exit Do.
4.4. Procedimientos
4.4.1. Procedimientos y subrutinas
Una de las caractersticas que definen a un lenguaje de programacin estructurado
es que el cdigo se encuentra agrupado en bloques de instrucciones con
sentencias de inicio y final del bloque. Estos bloques de instrucciones reciben el
nombre de procedimientos. Podramos definir un procedimiento como una
secuencia de instrucciones para efectuar tareas especficas que se ejecutan como
una unidad que tiene nombre o identificador. La estructura bsica del cdigo de
Visual Basic es el procedimiento, de hecho todo el cdigo ejecutable esta
contenido en procedimientos.
A diferencia de las estructuras de control, los procedimientos no se pueden anidar
dentro de otros procedimientos. Sin embargo, se pueden crear pequeas
secciones de cdigo enmarcados dentro de un procedimiento. Estos pequeos
bloques se conocen como Subrutinas, las cuales carecen de nombre o
identificador, y en su lugar, se accede a ellos mediante etiquetas de cdigo. Las
etiquetas son marcadores de posicin y estn constituidas por un nombre seguido
de dos puntos en una lnea de cdigo libre dentro de un procedimiento. Las
subrutinas, en trminos de lenguajes de programacin en general, son porciones
lgicas de cdigo que se encargan de resolver un problema especfico. La
subrutina en trminos de Visual Basic se aplica a la porcin de cdigo que se
ejecuta dentro de un procedimiento mediante las sentencias GoTo, GoSub y
Return. Por esta razn, no se deben confundir los procedimientos con las
subrutinas en Visual Basic. Aunque las subrutinas estn disponibles, el analista
debe evitar al mximo su uso, ya que estas rompen con la definicin de Lenguaje
Estructurado. En su lugar, se debe procurar la creacin de procedimientos para
esas secciones de cdigo necesarias por otros procedimientos.
La sentencia GoTo produce un salto incondicional a una etiqueta de lnea, a partir
de la cual contina el control del programa. Por su parte, la sentencia GoSub
tambin lleva el control del programa a una etiqueta de lnea, pero mediante la
sentencia Return, el control del programa puede regresar a la lnea siguiente
desde la cual se efectu el llamado de la subrutina. A continuacin se muestra un
ejemplo del uso de subrutinas. En el ejemplo la instruccin GoTo Terminar es
imprescindible, ya que las etiquetas de lnea slo son marcadores de posicin y no
64
67
c) Salir de procedimientos
Hemos visto en las estructuras de control repetitivas, que no es necesario
esperar a que termine el ciclo para salir de la estructura, ya que esta puede
ser interrumpida mediante la sentencia Exit seguida del nombre de la
estructura. Para salir de un ciclo For se utiliza Exit For, por ejemplo.
Los procedimientos, como estructuras, tambin permiten su terminacin sin
necesidad de esperar alcanzar la lnea de cdigo donde se encuentra la
sentencia End Sub o End Function. Esto se logra mediante las sentencias Exit
Sub o Exit Function, segn sea el caso.
Private Sub NombreProcedimiento([Parmetros])
'{Instrucciones que se ejecutan}
Exit Sub
'Termina el procedimiento
'{Instrucciones que no se ejecutarn}
End Sub
68
Botn_Click()
Integer, Dim Y As Integer
X, Y 'Llama al procedimiento con 5 y 7
siendo igual a 5, pero Y cambia a 14
70
Unidad 5
Funciones intrnsecas
El entusiasmo es la madre del esfuerzo, y sin este nunca se logr nada importante
.- Emerson
Licuar
Merengada caliente
Observe que la funcin Licuar no devuelve Merengada fra y se debe agregar Hielo
en una expresin completa. La merengada obtenida depender del tipo e fruta, y
cantidades de leche, azcar y vainilla. Se dice que estos ltimos son las variables
independientes de la funcin, mientras que la merengada es la variable
dependiente. En general todas las funciones se caracterizan por una serie de
valores de entrada conocidos como argumentos o variables independientes, y slo
un valor de salida conocido como resultado o variable dependiente.
71
A
B
Funcin
Y=Funcin(A, B, , C)
C
Figura 5.2.- Funcin en general
Sin
y
Figura 5.3.- Funcin Seno.
Para facilitar el estudio de las funciones, ests se han clasificado segn su relacin
con cadenas, nmeros, fechas, objetos o archivos.
5.1.3. Instrucciones
Mientras que las funciones son operaciones sobre ciertos argumentos para obtener
o devolver un valor, las instrucciones consisten en rdenes para el sistema, y no
devuelven valor alguno. Las instrucciones prescinden del par de parntesis que
caracterizan a todas las funciones. Podramos comparar a las instrucciones con
procedimientos Sub intrnsecos del sistema. Segn el ejemplo, la funcin Licuar
tambin podra utilizarse como una instruccin, en lugar que como una funcin, y
en este caso no existe devolucin de un valor, sino que se ejecuta una orden y se
prescinde del par de parntesis como se muestra a continuacin:
Reunir ingredientes
Licuar Leche, Fruta, Azcar, Vainilla
Agregar Hielo
En Visual Basic existen muchas funciones que se pueden utilizar como
instrucciones. El trmino instrucciones ha sido utilizado en captulos anteriores
para hacer referencia a lneas de cdigo, y en su lugar se ha utilizado el trmino
sentencias. Las instrucciones tambin se conocen como sentencias o comandos.
5.2. Funciones de cadena
5.2.1. Tratamiento de cadenas
Para el estudio de las funciones que admiten como argumento, o devuelven como
valor, cadenas de caracteres, es necesario conocer lo siguiente:
a) Las cadenas de caracteres se declaran tipo String. Por ejemplo, declaremos la
variable Cadena como una cadena de longitud variable.
Dim Cadena As String
b) Los valores de cadenas de caracteres se delimitan mediante comillas dobles.
Por ejemplo, asignemos a la variable Cadena el valor Visual Basic.
Cadena = Visual Basic
72
9 10 11 12
'Devuelve Visual
usa Ltrim, para eliminar al final de la cadena se usa Rtrim, y para eliminar
cualquier espacio al principio y al final de la cadena, se usa simplemente Trim.
En el siguiente ejemplo se muestran estos tres casos:
Cadena = Visual Basic
txtCadena.Text = Ltrim(Cadena) 'Devuelve Visual Basic
txtCadena.Text = Rtrim(Cadena) 'Devuelve Visual Basic
txtCadena.Text = Trim(Cadena) 'Devuelve Visual Basic
Observe:
Constante
Scientific
Yes/No
True/False
On/Off
Smbolo
0
#
,
.
%
E-,E+
=
=
=
=
=
=
=
=
Format(1980.326,
Format(1980.326,
Format(1980.326,
Format(1980.326,
Format(1980.326,
Format(1980.326,
Format(1980.326,
Format(1980.326,
Fixed)
Standar)
Percent)
Yes/No)
00000)
#.000.#)
#.0)
#%)
'Devuelve
'Devuelve
'Devuelve
'Devuelve
'Devuelve
'Devuelve
'Devuelve
'Devuelve
1980,33
1.980,33
198032,6%
S
01980
1.980,3
980,3
198033%
b) Formatos de fecha: al igual que para valores numricos, Visual Basic provee
constantes intrnsecas (ver Tabla 5.3) y smbolos especiales (ver Tabla 5.4)
para la presentacin de valores de fecha y hora.
Constante
General Date
Long Date
Mdium Date
Short Date
Long Time
Mdium Time
Short Time
Descripcin
Muestra la fecha y hora si estn disponibles en la expresin.
Muestra da de la semana, da del mes, el mes y el ao.
Muestra da del mes, el mes en tres letras y el ao.
Muestra da del mes, el mes y el ao
Muestra la hora, minutos y segundos con indicacin AM/PM
Muestra la hora y minutos con indicacin AM/PM
Slo muestra hora y minutos
Tabla 5.3.- Constantes de formato para fechas y horas
Smbolo
:
/
d
dd
ddd
dddd
w
ww
m
mm
mmm
mmmm
q
y
yy
yyyy
Descripcin
Separador de hora, minutos y segundos
Separador de da, mes y ao.
Da del mes 1-31
Da del mes 01-31
Da de la semana Dom-Sb
Da de la semana Domingo-Sbado
Da de la semana 1-7 (Dom = 1)
Semana del ao 1-54
Mes del ao 1-12
Mes del ao 01-12
Mes del ao Ene-Dic
Mes del ao Enero-Diciembre
Cuatrimestre del ao 1-4
Da del ao 1-366
Ao en dos dgitos 00-99
Ao en cuatro dgitos 0100-9999
76
Smbolo
h
hh
n
nn
s
ss
AM/PM
am/pm
Descripcin
Hora del da 0-23
Hora del da 00-23
Minuto de la hora 0-59
Minuto de la hora 00-59
Segundo transcurrido 0-59
Segundo transcurrido 00-59
Muestra AM o PM segn corresponda
Muestra am o pm segn corresponda
Tabla 5.4.- Smbolos para crear formatos de fecha y hora
=
=
=
=
=
=
=
=
'07/May/2003
'07/05/03
'Dom/05/1972
'08:05 PM
'08:05:54 PM
'20:05
'20:5
'20:5:12
'SIMN BOLVAR
'simn bolvar
Chr
Nulo
[BACKSPAC
E]
[TAB]
[AV. LINE]
Asc
32
33
34
35
36
37
38
39
Chr
[SPACE]
!
"
#
$
%
&
'
Asc
64
65
66
67
68
69
70
71
Chr
@
A
B
C
D
E
F
G
Asc
96
97
98
99
100
101
102
103
Chr
`
a
b
c
d
e
f
g
40
72
104
41
42
43
44
)
*
+
,
73
74
75
76
I
J
K
L
105
106
107
108
i
j
k
l
77
Asc
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Chr
[ENTER]
Asc
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
Chr
.
/
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
Asc
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
Chr
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
Asc
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
Chr
m
n
o
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
Descripcin
Signo de un nmero
Logaritmo natural de un nmero
Potencia neperiana e
Raz cuadrada de un nmero
Trigonometra Arco tangente de un tringulo
Trigonometra Coseno del un ngulo en radianes
Trigonometra Seno de un ngulo en radianes
Trigonometra Tangente de un ngulo en radianes
Valor absoluto de un nmero
Tabla 5.6.- Funciones matemticas
Devuelve
Parte entera superior negativa de un nmero
Parte entera inferior negativa de un nmero
Nmero redondeado de un nmero con n decimales
Tabla 5.7.- Funciones de ajuste numrico
Nmero
Nmero
Nmero
Nmero
Nmero
Nmero
Nmero
Nmero
Nmero
Nmero
Nmero
Nmero
Nmero
=
=
=
=
=
=
=
=
=
=
=
=
=
Fix(99,8)
Fix(-99,8)
Fix(-99,2)
Int(99,8)
Int(-99,8)
Int(-99,2)
Round(99.8,0)
Round(-99.8,0)
Round(-99.2,0)
Round(99.56,0)
Round(99.56,1)
Round(99.56,2)
Round(99.56,3)
'Devuelve
99
'Devuelve -99
'Devuelve -99
'Devuelve
99
'Devuelve -100
'Devuelve -100
'Devuelve 100
'Devuelve -100
'Devuelve -99
'Devuelve 100
'Devuelve
99.6
'Devuelve
99.56
'Devuelve
99.560
Descripcin
Clculo en Aos
Clculo en Trimestres
Clculo en Meses
Clculo en Das
Clculo en Das
Clculo de Das de la semana
Clculo en Semanas
Clculo en Horas
Clculo en Minutos
Clculo en Segundos
Tabla 5.8.- Valores del parmetro Intervalo de funciones de fecha y hora
D As Integer
DateDiff(yyyy, #31/12/1999#, #31/12/2000#)
DateDiff(m, #31/12/1999#, #31/12/2000#)
DateDiff(w, #31/12/1999#, #31/12/2000#)
DateDiff(ww, #31/12/1999#, #31/12/2000#)
DateDiff(d, #31/12/1999#, #31/12/2000#)
'1 ao
'12 meses
'52 das
'53 sem.
'366 das
Observacin: A diferencia de la funcin DateAdd, que devuelve una fecha, DateDiff devuelve
un nmero entero.
D As Integer
DatePart(yyyy, #31/12/1999#)
DatePart(m, #31/12/1999#)
DatePart(w, #31/12/1999#)
DatePart(ww, #31/12/1999#)
DatePart(d, #31/12/1999#)
'Devuelve
'Devuelve
'Devuelve
'Devuelve
'Devuelve
1999
12
6 (viernes)
53
31
81
5.4.4.
'Devuelve
'Devuelve
'Devuelve
'Devuelve
#12/10/2003#
#12/10/2003#
#12:10:03#
#12:10:03#
Valor
0
1
2
3
4
5
16
Descripcin
Muestra solamente el botn Aceptar.
Muestra los botones Aceptar y Cancelar.
Botones Anular, Reintentar e Ignorar.
Muestra a los botones S, No y Cancelar.
Muestra a los botones S y No.
Muestra a los botones Reintentar y Cancelar.
Muestra el icono de mensaje crtico.
83
Constante
VbQuestion
VbExclamation
VbInformation
Valor
32
48
64
Descripcin
Muestra el icono de pregunta de advertencia.
Muestra el icono de mensaje de advertencia.
Muestra el icono de mensaje de informacin.
Tabla 5.10.- Estilos de cajas de mensajes MsgBox
84
f)
Por otra parte, el cuadro de mensaje como toda funcin devuelve valores. Los
valores devueltos por un cuadro de mensaje se detallan en la Tabla 5.11.
Constante
vbOK
vbCancel
vbAbort
vbRetry
Valor
1
2
3
4
Constante
vbIgnore
vbYes
vbNo
Valor
5
6
7
86
Unidad 6
Archivos
El secreto del xito es la constancia en el propsito
.- Disraeli
87
6.1.2. Archivos
Los archivos se pueden definir como un conjunto de bytes relacionados mediante
un identificador y almacenados en una unidad de disco. El sistema operativo
define la estructura mediante la cual los archivos son etiquetados, almacenados y
organizados en el disco, para lo cual crea y mantiene en cada unidad de disco a su
disposicin, una tabla de asignacin de archivos conocida como FAT (File
Allocation Table), que acta como un ndice si la unidad fuera un libro. La FAT es
una tabla que contiene el estatus de varios segmentos, de espacio de disco,
usados para el almacenamiento de archivos. Cada vez que se copian, borran o
modifican archivos, la FAT es actualizada automticamente por el sistema
operativo. En las nuevas versiones de Windows la FAT se ha reemplazado por
estructuras ms eficientes como FAT32 y NTSF.
Los archivos son decodificados o interpretados por otros archivos con instrucciones
llamados programas, para lo cual se requiere transferir o copiar la informacin del
archivo desde la memoria secundaria hasta la memoria primaria RAM. La accin de
abrir un archivo consiste en crear una copia del archivo en memoria RAM para su
manipulacin directa de parte del microprocesador. Al cerrar un archivo se libera
toda traza del mismo de la memoria RAM, pero la memoria secundaria permanece
intacta si no se guardan los cambios. Si se toma la previsin de guardar los
cambios, los cuales se efectan en memoria RAM, la informacin es actualizada,
transferida o copiada a la unidad de disco correspondiente.
101111010
101111010
101000011
100110111
101111111
100111010
010011111
Visual Basic permite manipular tres tipos de archivos segn el modo de acceso:
secuencial, aleatorio y binario. Los archivos secuenciales, carecen de estructura y
deben ser recorridos en su totalidad para acceder a un dato intermedio. Los
archivos aleatorios se organizan en registros de longitud fija, por lo que se puede
acceder directamente a cualquier dato intermedio. Los archivos binarios tambin
permiten acceso directo, pero los registros son de longitud variable. En esta
unidad slo trataremos a los archivos de acceso secuencial y aleatorio.
Microsoft
Word
La Corua, 2003
Seores
CompuSoft, S.A.
Ciudad.Estimados seores
Figura 6.2.- Archivo de documento de Word
6.1.3. Directorios
Los directorios, o carpetas como tambin se les conocen, representan una
estructura organizativa soportada por la mayora de los sistemas operativos que
88
Archivos
Subdirectorio 1
Directorio 1
Archivos
Subdirectorio 2
Archivos
Directorio 2
Unidad de disco
Raz
Figura 6.3.- Estructura de directorios y archivos
'cambia directorio
'crea directorio
'borra directorio
89
Descripcin
Abre o crea un archivo de texto para agregarle informacin.
Abre un archivo de texto para lectura. Si el archivo no existe, se produce un error.
Crea un archivo de texto. Si el archivo existe, este se borra para dar lugar al nuevo.
Abre o crea un archivo de acceso aleatorio. Archivo directo a registros de longitud fija.
Abre o crea un archivo binario. Archivo de longitud variable por registro.
Tabla 6.1.- Especificaciones del parmetro Tipo de la instruccin Open
c) Copiar archivos
Para copiar un archivo, este debe estar cerrado. La instruccin es FileCopy:
FileCopy archivo_origen, archivo_destino
Para copiar el archivo Carta.doc desde la unidad A:\ hasta Mis
documentos en la unidad C:\ con el nombre de Pedido.doc, se utilizara el
siguiente cdigo:
FileCopy A:\Carta.doc, C:\Mis documentos\Pedido.doc
Los comodines dispuestos inicialmente por el sistema operativo MSDOS, como
el asterisco y el signo de interrogacin, mantienen vigencia en Microsoft
Windows, y se pueden utilizar desde Visual Basic. Estos comodines definen un
patrn de bsqueda que facilita la operacin por lotes sobre un conjunto de
archivos. El asterisco indica la presencia o no de cualquier cantidad de
caracteres en el nombre de los archivos; y el signo de interrogacin indica la
presencia de un caracter cualquiera obligatorio en una posicin especfica en el
nombre del archivo. Por ejemplo, suponga que desea copiar todos los archivos
.doc que comiencen con las letras Car desde la unidad A:\ hasta la carpeta
C:\Mis documentos:
FileCopy A:\Car*.doc, C:\Mis documentos\
90
Observacin: La funcin Dir se usa sin argumentos para repetirse con la ltima ruta
especificada.
b) Directorio activo
Como vimos anteriormente, la unidad y el directorio activo se establecen
mediante las instrucciones ChDrive y ChDir. Es posible visualizar el directorio
activo de una unidad con la funcin CurDir segn la siguiente sintaxis:
Dim Directorio As String
Directorio = CurDir(D:\)
6.3.2. Funciones de archivos cerrados
a) Tamao de un archivo cerrado
La funcin FileLen devuelve el tamao en bytes de un archivo. El valor
devuelto es tipo Long. El nombre del archivo es un parmetro tipo cadena de
caracteres que podra incluir la ruta del archivo. Por ejemplo se puede conocer
el tamao del archivo Win.ini mediante la siguiente instruccin:
Tamao = FileLen(archivo)
Dim Tamao As Long
Tamao = FileLen(C:\Windows\Win.ini)
b) Nmero disponible de archivo
Si se intenta abrir un archivo especificando un nmero ya utilizado por otro
archivo abierto, se producir un error. La funcin FreeFile permite obtener el
prximo nmero de archivo disponible, y as se evita el error en tiempo de
ejecucin.
Dim NmeroDeArchivo As Integer
NmeroDeArchivo = FreeFile
6.3.3. Funciones de archivos abiertos
a) Tamao de un archivo abierto
Una vez que se ha abierto un archivo, no es posible utilizar FileLen para
determinar el tamao del archivo, ya que slo se puede hacer referencia a
este mediante un nmero de archivo. Visual Basic proporciona la funcin LOF
para determinar el tamao de un archivo abierto y se usa de la siguiente
manera:
Dim Tamao As Long
Tamao = LOF(NmeroDeArchivo)
En archivos de acceso aleatorio, donde la longitud de los registros es fija, la
funcin LOF permite recalcular la cantidad de registros dentro del archivo cada
vez que se agregan o eliminan registros.
CantidadDeReg = LOF(NmeroDeArchivo) / LongitudDeUnReg
b) Indicador de final de archivo
La funcin EOF devuelve un valor lgico True si el puntero se encuentra al
final del archivo. El puntero es la posicin de lectura o escritura dentro del
archivo. Al abrir un archivo, el puntero se ubica al principio del archivo; luego,
92
FileListBox
DirListBox
Figura 6.4.- Objetos de archivos.
94
Descripcin
Si genera o no un error al usuario presionar el botn Cancelar.
Extensin predeterminada de nombre de archivo.
Ttulo del cuadro de dilogo.
Nombre y ruta del archivo seleccionado que se va a abrir o guardar.
Nombre (sin la ruta) del archivo seleccionado que se va a abrir o guardar.
Filtros presentados en el cuadro de lista Tipo de un cuadro de dilogo.
Opciones para mostrar u ocultar elementos del cuadro de dilogo.
Ruta inicial de ubicacin de los archivos.
Tamao mximo del nombre de archivo abierto mediante el control.
Tabla 6.2.- Propiedades del objeto Dilogo Comn
Descripcin
Hace que la casilla de verificacin Slo lectura est activada
inicialmente.
El dilogo Guardar como, genera un mensajes si el archivo ya existe.
Oculta la casilla de verificacin Slo lectura.
Restablece como directorio al que lo era en el momento de abrirse el
dilogo.
Hace que el cuadro de dilogo presente el botn Ayuda.
El cuadro de lista Nombre de archivo permite varias selecciones.
Slo se pueden escribir rutas de acceso vlidas o existentes.
Slo puede introducir nombres de archivos existentes.
El cuadro de dilogo requiere la creacin de un archivo que no exista.
El archivo devuelto no tendr establecido el atributo de Slo lectura.
Usa la plantilla del cuadro de dilogo Abrir archivo de tipo Explorador.
Tabla 6.3.- Valores de la propiedad Flags.
96
'Variable de registro
'Longitud de un registro
'Cantidad de registros
Estado
= Estado.Nombre
= Estado.CdigoDeArea
= Estado.Capital
b) Retroceder registros
Private Sub cmdRetroceder()
If Posicin > 1 Then I = 1 Else I = 0
Posicin = Posicin I
If Posicin = 1 Then cmdRetroceder.Enabled = False
If Registros > 1 Then cmdAvanzar.Enabled = True
Leer
End Sub
c) Buscar un registro
Private Sub Buscar(ByVal Buscado As String)
Dim I As Long
For I = 1 To Registros + 1
Get #1, I, Estado
If Trim(Estado.Nombre) Like Buscado + * Then Exit For
Next I
If I > Registros Then
'No se encontr
txtMicaja(0).Text =
txtMicaja(1).Text =
txtMicaja(2).Text =
Else
'Si se encontr
txtMicaja(0).Text = Estado.Nombre
txtMicaja(1).Text = Estado.CdigoDeArea
txtMicaja(2).Text = Estado.Capital
End If
End Sub
d) Eliminar un registro
Private Sub Buscar(ByVal Buscado As String)
Dim I As Long
Estado.Nombre =
Put #1, Posicin, Estado
Open Temporal.tmp For Random As #2 Len = Len(Estado)
For I = 1 To Registros
Get #1, I, Estado
If Trim(Estado.Nombre) <> Then Put #2, , Estado
Next I
Close #1, #2
Kill A:\Estados.dat
Name A:\Temporal.tmp As A:\Estados.dat
Open A:\Estados.dat For Random As #1 Len = Len(Estado)
Posicin = Posicin 1
cmdAvanzar
End Sub
En resumen, el cdigo anterior para eliminar un registro de un archivo, sigue
el siguiente procedimiento:
Hacer blanco uno de los campos del registro a eliminar.
Crear un archivo temporal
Agregar todos los registros, excepto los blancos, al archivo temporal.
101
102
Unidad 7
Bases de Datos
Es prudente tener presente que ni el xito ni el fracaso son definitivos
.- Roger Babson
103
Proveedor 1
OLE DB
Origen de Datos 2
Proveedor 2
OLE DB
Origen de Datos 3
Proveedor 3
OLE DB
Visual Basic
Modelo
de
Objetos
Interfaz
de
Usuario
Command
Properties
Property
Parameters
Parameter
Properties
Property
Fields
Field
Coleccin
Rercorset
Properties
Properties
Property
Errors
Error
Property
a) Propiedades
Propiedad
ConnectionString
Descripcin
Cadena que contiene la informacin que se utiliza para establecer una conexin a un
108
Propiedad
Provider
DefaultDatabase
ConnectionTimeout
CursorLocation
Mode
State
Descripcin
origen de datos.
Indica el nombre del proveedor de la base de datos en una conexin.
Indica el nombre de la base de datos predeterminada en una conexin.
Indica el intervalo de espera mientras se establece una conexin antes de que se genere
un error.
Establece o devuelve la posicin de un motor de cursores. (AdUseNone, adUseClient,
adUseServer).
Indica los permisos disponibles para modificar datos en un objeto Connection. (Lectura,
escritura...).
Indica el estado de la conexin: abierta, cerrada.
Tabla 7.1.- Propiedades del objeto Connection de ADO
Descripcin
No se usan servicios de cursor.
Usa cursores del lado del cliente suministrados por una biblioteca de cursores locales.
Predeterminado. Usa cursores suministrados por el controlador o por el proveedor de
datos.
Tabla 7.2.- Opciones de la propiedad CursorLocation.
Descripcin
Abre una conexin a un origen de datos.
Ejecuta una consulta, instruccin SQL, procedimiento almacenado o texto especfico del
proveedor.
Cierra un objeto de conexin a un origen de datos y los objetos dependientes.
Cancela la ejecucin de una llamada asncrona pendiente a un mtodo Execute u Open.
Tabla 7.3.- Mtodos del objeto Connection de ADO
El mtodo Open slo establece una conexin fsica con la base de datos, para
lo cual requiere el establecimiento de las propiedades ConnectionString,
ConnectionTimeout y CursorLocation. La propiedad ConnectionTimeout esta
109
a) Propiedades
Propiedad
AbsolutePosition
ActiveConnection
BOF
EOF
CursorLocation
CursorType
EditMode
Filter
LockType
RecordCount
Source
State
Status
Descripcin
Especifica la posicin ordinal del registro actual.
Indica a qu objeto Connection pertenece actualmente el objeto.
Indica que la posicin del registro actual est antes del primer registro.
Indica que la posicin del registro actual est despus del ltimo registro.
Establece o devuelve la posicin de un motor de cursores.
Indica el tipo de cursor que se usa en el objeto.
Indica el estado de modificacin del registro actual.
Indica un filtro para los datos del conjunto de registros.
Indica el tipo de bloqueo que se pone en los registros durante el proceso de edicin.
Indica el nmero actual de registros del objeto.
Indica el origen de los datos (una instruccin SQL, un nombre de tabla o un
procedimiento almacenado).
Describe el estado del objeto: abierto o cerrado.
Indica el estado del registro actual referente a las actualizaciones por lotes u otras
operaciones masivas.
Tabla 7.4.- Propiedades del objeto Recordset de ADO
Descripcin
Predeterminado. Slo permite desplazarse hacia delante en los registros. Esto mejora el
rendimiento en situaciones en las que slo se quiere pasar una vez por cada registro.
Son inaccesibles los registros que agregan o eliminan otros usuarios. Los cambios que
otros usuarios hacen en los datos permanecen visibles. Se admiten todo tipo de
movimientos entre registros.
Las incorporaciones, cambios y eliminaciones que hacen otros usuarios permanecen
visibles, y se admiten todo tipo de movimientos entre registros.
Una copia esttica de un conjunto de registros que se puede usar para buscar datos o
generar informes. Las incorporaciones, cambios o eliminaciones que hacen otros
usuarios no son visibles.
Tabla 7.5.- Opciones de la propiedad CursorType
Descripcin
Predeterminado. Slo lecturano puede modificar los datos.
110
Valor de LockType
adLockPessimistic
adLockOptimistic
adLockBatchOptimistic
Descripcin
Bloqueo pesimista, registro a registro: el proveedor hace lo necesario para asegurar
la modificacin correcta de los registros, generalmente bloqueando registros en el
origen de datos.
Bloqueo optimista, registro a registro: el proveedor usa bloqueo optimista,
bloqueando registros slo cuando llama al mtodo Update.
Actualizaciones optimistas por lotes: requerido para el modo de actualizacin por
lotes como contraposicin al modo de actualizacin inmediata.
Tabla 7.6.- Opciones de la propiedad LockType
Descripcin
Indica que no hay ninguna operacin de modificacin en ejecucin sobre el registro
actual.
Indica que los datos del registro actual se han modificado pero que no se han guardado
an.
Indica que se ha invocado el mtodo AddNew y que no se ha guardado an el registro
actual nuevo.
Indica que el registro actual se ha eliminado.
Tabla 7.7.- Valores que devuelve la propiedad EditMode
Descripcin
Crea un nuevo registro
Escribe en disco todas las actualizaciones pendientes de proceso por lotes.
Cancela una actualizacin por lotes pendiente.
Guarda los cambios realizados en el registro actual de un objeto Recordset.
Cancela las modificaciones al registro actual o a un registro nuevo antes de invocar a
Update.
Abre un cursor que representa los registros de una base de datos o los resultados de una
consulta.
Cancela la ejecucin de una llamada asncrona pendiente a un mtodo Open.
Cierra un objeto Recordset, libera los datos asociados y los accesos exclusivos que
pudiera tener.
111
Mtodo
MoveFirst
MoveNext
MovePrevious
MoveLast
Requery
Delete
Descripcin
Pasa al primer registro y lo convierte en el registro actual.
Pasa al siguiente registro y lo convierte en el registro actual.
Pasa al anterior registro y lo convierte en el registro actual.
Pasa al ltimo registro y lo convierte en el registro actual.
Actualiza los datos de un objeto Recordset volviendo a ejecutar la consulta en que se
basa el objeto.
Elimina el registro actual o al grupo de registros especificados mediante la propiedad
Filter.
Tabla 7.8.- Mtodos del objeto Recordset de ADO
c) Eventos
Eventos
FetchProgress,
FetchComplete
WillChangeField,
FieldChangeComplete
WillMove, MoveComplete,
EndOfRecordset
WillChangeRecord,
RecordChangeComplete
WillChangeRecordset,
RecordsetChangeComplete
Descripcin
Estado de recuperacin: notificacin del progreso de una operacin de
recuperacin de datos, o de que la operacin de recuperacin ha concluido.
Administracin de cambio de campo: Notificacin de que el valor del campo
actual cambiar o ha cambiado.
Administracin de exploracin: Notificacin de que la posicin de fila (registro)
actual en un Recordset cambiar, ha cambiado o ha llegado al final del
Recordset.
Administracin de cambios en la fila: Notificacin de que algo en la fila
(registro) actual del Recordset cambiar o ha cambiado.
Administracin de cambios en el Recordset: Notificacin de que algo en el
Recordset actual cambiar o ha cambiado.
Tabla 7.9.- Eventos del objeto Recordset de ADO
113
114
b) Crear la conexin con la base de datos: Una vez dibujado el control de datos
ADO, se utiliza su propiedad ConnectionString para crear la cadena de
conexin, la cual despliega un dilogo que facilita este procedimiento (ver
Figura 7.6).
115
Figura 7.7.- Asistente para crear una conexin a un origen de datos ADO
d) Enlazar controles a los datos del Recordset: Los controles enlazados se crean
estableciendo las propiedades DataSource y DataField en tiempo de diseo;
pero tambin se pueden establecer en tiempo de ejecucin de la siguiente
116
manera. Suponga que el control de datos ADO tiene como nombre MiAdoDC, y
que se desea enlazar una caja de texto MiCaja al campo Apellido de una tabla
de datos (Recordset con CommandType = adCmdTable):
Set Me.MiCaja.DataSource = Me.MiAdoDC.Recordset
Me.MiCaja.DataField = "Apellido"
Tambin es posible mostrar todos los campos y registros utilizando el objeto
DataGrid. Para lo cual, primero debe agregarse a la caja de herramientas
mediante el dilogo de Componentes (Ctrl+T) seleccionado la opcin Microsoft
DataGrid Control 6.0 (OLEDB). En este caso slo se especifica la propiedad
DataSource, ya que no es necesario especificar un campo en particular.
Suponga que el objeto DataGrid tiene el nombre MiDataGrid:
Set Me.MiDataGrid.DataSource = Me.MiAdoDC.Recordset
e) Utilizar el conjunto de registros: La propiedad Recordset del control de datos
ADO hace referencia al conjunto de registros especificados mediante las
propiedades CommandType y RecordSource. Suponga que el control de datos
ADO tiene como nombre MiAdoDC:
Agregar un registro nuevo
MiAdoDC.Recordset.AddNew
Guardar modificaciones del registro activo o del registro nuevo
MiAdoDC.Recordset.Update
Cancelar una modificacin o agregado de registro
MiAdoDC.Recordset.CancelUpdate
Buscar un registro cuyo Apellido comience con el contenido de una caja de
texto
Dim Buscar As String
Me.MiAdoDC.Recordset.MoveFirst
Buscar = "Apellido Like '" & Me.Text4.Text & "*'"
Me.MiAdoDC.Recordset.Find Buscar
If Me.MiAdoDC.Recordset.EOF Then
Me.Label1.Caption = "No se encontr"
Me.MiAdoDC.Recordset.MoveFirst
End If
Borrar el registro activo
MiAdoDC.Recordset.Delete
Desplazarse al ltimo registro
MiAdoDC.Recordset.MoveLast
Mostrar la cantidad de registros del Recordset en un objeto etiqueta
Me.label1.Caption = MiAdoDC.Recordset.RecordCount
117
b) Crear las variables de objeto: Para crear eventos en una variable tipo objeto se
utiliza la sentencia WithEvents despus de Dim, Public o Static.
Dim WithEvents Cnn As ADODB.Connection
Dim WithEvents Rst As ADODB.Recordset
c) Crear los objetos Connection y Recordset: Se recomienda utilizar el evento
Form_Load para este fin. Se utiliza la sentencia Set para la referencia a objeto.
Set Cnn = New ADODB.Connection
Set Rst = New ADODB.Recordset
d) Abrir el objeto Connection: Es conveniente chequear previamente el estado de
la conexin, ya que si esta se encuentra abierta, y se intenta abrir
nuevamente, se producir un error. Antes de abrir la conexin, se debe
establecer la cadena de conexin mediante la asignacin de la propiedad
ConnectionString.
If Cnn.State Then Cnn.Close
Cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;_
Data Source=C:\Notas.mdb"
Cnn.Open
e) Abrir el objeto Recordset: Al igual que el objeto Connection, es conveniente
verificar previamente el estado del Recordset, ya se produce un error al
intentar abrir un Recordset que ya est abierto. Para abrir el conjunto de
registros (Recordset) se debe especificar la localizacin del cursor
118
Enlazar los datos del Recordset a un control: Una vez mas, basta con
establecer las propiedades DataSource y DataField del objeto que se desea
enlazar, en este caso una caja de texto llamada MiCaja en la que se quieren
mostrar los valores del campo Apellido:
Set Me.MiCaja.DataSource = Rst
Me.MiCaja.DataField = "Apellido"
Si se desea mostrar todos los campos y registros utilizando el objeto DataGrid
se debe especificar slo la propiedad DataSource:
Set Me.MiDataGrid.DataSource = Rst
120
Buscar un registro cuyo Apellido comience con lo que est en una caja de
texto
Dim Buscar As String
MiEntornoDeDatos.rsAlumnos.MoveFirst
Buscar = "Apellido Like '" & Me.Text4.Text & "*'"
MiEntornoDeDatos.rsAlumnos.Find Buscar
If MiEntornoDeDatos.rsAlumnos.EOF Then
Me.Label1.Caption = "No se encontr"
MiEntornoDeDatos.rsAlumnos.MoveFirst
End If
Borrar el registro activo
MiEntornoDeDatos.rsAlumnos.Delete
Desplazarse al ltimo registro
MiEntornoDeDatos.rsAlumnos.MoveLast
Mostrar la cantidad de registros del Recordset en un objeto etiqueta
Me.label1.Caption = MiEntornoDeDatos.rsAlumnos.RecordCount
7.4. Lenguaje de consulta estructurado SQL
7.4.1. Introduccin a SQL
Como hemos visto, el modelo relacional se basa en el Lenguaje de Consulta
Estructurado, mejor conocido como SQL. El lenguaje de consulta estructurado
(SQL) es un lenguaje de base de datos normalizado, utilizado o incluido en el
motor de base de datos para crear objetos RecordSet. Tambin se puede utilizar
con el mtodo Execute del objeto Connection de ADO para manipular directamente
lotes de registros de las bases de datos. Es posible crear consultas SQL de paso a
travs para manipular bases de datos remotas cliente-servidor. SQL es un
lenguaje de programacin, cuyos orgenes estn estrechamente relacionados con
la invencin de las bases de datos relacionales por E. F. Codd a principios de los
aos 70. Un antecedente del actual SQL fue el lenguaje Sequel, razn por la cual
SQL todava se pronuncia en ingls como Sequel en vez de letra a letra,
aunque las dos pronunciaciones son aceptables. El SQL moderno ha evolucionado
hasta ser un estndar utilizado ampliamente en casi todas las bases de datos
relacionales y se encuentra definido en la norma ANSI. La mayora de las
implementaciones de SQL tienen pocas variaciones respecto al estndar,
incluyendo la versin admitida por el motor de base de datos Microsoft Jet. SQL
tiene la ventaja de ser una interfaz de bases de datos normalizada, por lo que
conocer los comandos SQL permite acceder y manipular una gran variedad de
productos de bases de datos procedentes de distintos fabricantes.
Para utilizar SQL desde Visual Basic, se debe construir la instruccin SQL en una
variable tipo cadena de caracteres, la cual sirve de argumento para objetos de
ADO. El lenguaje permite efectuar dos tipos de consultas:
a) Consultas de seleccin: devuelven un conjunto de registros que se pueden
manipular mediante el objeto RecordSet de ADO. Por ejemplo, habiendo
122
Utilizado para
Seleccionar un conjunto de registros de la base de datos y crear un Recordset.
Modificar los valores de los campos de uno o ms registros.
Agregar uno o ms registros a una tabla de base de datos.
Eliminar uno o ms registros de una tabla de base de datos.
Tabla 7.10.- Algunos comandos de SQL
b) Clusulas SQL
Las clusulas son condiciones de modificacin utilizadas para definir los datos
que desean seleccionar o manipular, y la forma como estos se presentan.
Clusula
FROM
WHERE
GROUP BY
HAVING
ORDER BY
Descripcin
Especifica las tablas de las cuales se van a seleccionar los registros.
Especifica las condiciones de los registros que se van a seleccionar.
Separa los registros seleccionados en grupos especficos.
Especifica las condiciones que deben satisfacer cada grupo generado por GROUP BY.
Indica los campos para el ordenamiento de los registros.
123
c) Operadores SQL
Existen dos tipos de operadores en el lenguaje SQL, operadores lgicos y
operadores relacionales. Los operadores lgicos se usan para conectar
expresiones lgicas, normalmente dentro de una clusula WHERE o HAVING.
Para SQL los operadores lgicos son: AND, OR y NOT. Por otra parte, los
operadores relacionales (ver Tabla 7.12) se usan para comparar valores
relativos de dos expresiones.
Operador
<
>
=
BETWEEN
IN
<=
>=
<>
LIKE
Significado/Uso
Menor que
Mayor que
Igual que
Especifica un intervalo de valores
Especifica registros de una base de datos
Menor o igual que
Mayor o igual que
Distinto de
Utilizado en la comparacin de un modelo
Tabla 7.12.- Operadores de comparacin SQL
Descripcin
Calcula el nmero de veces que aparece un valor en un campo especificado.
Devuelve los registros con el valor ms alto de un campo especificado.
Calcula el promedio de todos los valores de un campo especificado.
Calcula la suma de todos los valores de un campo especificado.
Devuelve los registros con el valor ms bajo de un campo especificado.
Tabla 7.13.- Funciones de agregado SQL
7.4.3.
FROM expresinTabla
Sera conveniente almacenar los registros de empleados despedidos en una
tabla antes de ejecutar la consulta de eliminacin en la tabla de empleados:
INSERT INTO Despedidos
SELECT *
FROM Empleados
WHERE [Estatus] = 'Despedido';
Se puede ejecutar una consulta de datos aadidos sobre un nico registro:
INSERT INTO destino [(campo1[, campo2[, ...]])]
VALUES (valor1[, valor2[, ...])
Por ejemplo, para agregar un nuevo empleado a la tabla empleados:
INSERT INTO Empleados ([Nombre], [Apellido], [Sueldo])
VALUES ('Pedro', 'Prez', 500000)
c) Consulta de actualizacin (UPDATE)
UPDATE tabla
SET Campo1 = nuevoValor1, Campo2 = nuevoValor2
WHERE criterios;
UPDATE es especialmente til cuando desea cambiar numerosos registros o
cuando los registros que quiere cambiar estn en mltiples tablas. Puede
cambiar varios campos simultneamente. El siguiente ejemplo incrementa el
sueldo de todos empleados con 5 o ms de 5 aos de antigedad en un 10
por ciento. Simultneamente, se actualiza la edad del empleado.
UPDATE Empleados
SET [Sueldo] = [Sueldo]*1.1,
[Edad] = DateDiff('yyyy', [Nacimiento], Date()),
WHERE [Antiguedad] >= 5;
7.5. Reportes de bases de datos
7.5.1. Introduccin a reportes
Como instrumento de administracin, el reporte o informe es usado para
proporcionar a la gerencia los elementos necesarios para controlar una
organizacin de forma efectiva. Los informes presentan los datos de una base de
datos de una manera organizada, comprensiva y atractiva al usuario. Es posible
generar pedidos, facturas, cartas, etiquetas de correos y otros de salida de datos.
Los generadores de informe son programas especializados que cuentan con,
adems de motores de bases de datos, motores de impresin que se encargan de
controlar todo lo relacionado al formato de las hojas de reporte. Visual Basic en su
versin 6.0 incluye un generador de informes integrado como objeto de la clase
DataReport. En versiones anteriores, y en la nueva versin .NET, se incluye un
programa generador de informes conocido como Crystal Report. Dada la eficiencia
de Crystal Report y su vigencia en nuevas versiones de Visual Basic, en esta gua
se tratar este generador de informes.
126
127
128
f)
130
131
b) Campos de texto:
Estos campos se corresponden al objeto etiqueta conocido de Visual Basic. Un
campo de texto es simplemente un campo que contiene texto independiente.
Puede contener un nico carcter, una palabra, frases completas o prrafos.
Este es un comando usado para agregar etiquetas, ttulos, notas al pie,
disculpas, explicaciones, comentarios o cualquier otra clase de texto que fuera
necesario. Para agregar un campo de texto, este se debe escoger de la clase
TextObject en la caja de herramientas, para dibujarlo luego en la seccin
correspondiente.
Observacin:
c) Campos de frmula:
Los campos de frmula permiten crear un objeto de datos calculados. Una
frmula es una instruccin que establece ciertas acciones sobre determinados
datos antes de imprimirlos en el informe. Crystal Report ofrece un editor de
ecuaciones, el cual se activa automticamente con el botn derecho del ratn
y seleccionar New. El editor de ecuaciones contiene un conjunto de funciones
132
d) Campos especiales:
La informacin adicional de un informe referida a fecha, nmero de pgina,
nmero de registros, etc., se puede insertar utilizando los campos especiales.
Los campos especiales son como los campos de frmula, pero estn
predefinidos en el sistema.
133
Unidad 8
Tecnologa OLE
A pocos hombres les falta capacidad; si fracasan es porque les falta dedicacin
.- Calvin Coolidge
136
Descripcin
Identifica el objeto contenido en el control contenedor OLE.
Presentacin con su contenido o como un icono.
Propiedad de slo lectura, en ejecucin, que indica la clase activa.
Determina si un objeto se puede vincular o incrustar en el control OLE.
Determina el tipo de objeto que puede crear (vinculado, incrustado).
Determina el tipo de ajuste de tamao de la imagen de los datos.
Esta propiedad determina el archivo de origen del vnculo o la plantilla.
Especifica los datos que se van a vincular dentro de un archivo.
Tabla 8.1.- Propiedades del control contenedor OLE
Descripcin
Crea un objeto incrustado.
Crea un objeto vinculado.
Ejecuta el verbo especificado (o predeterminado) sobre el objeto; es decir: Abrir, Editar,
Imprimir, etc.
Muestra el cuadro de dilogo Insertar objeto, para escoger el objeto que contendr el control
OLE.
Muestra el cuadro de dilogo Pegado especial, para pegar el contenido del Portapapeles en
el control OLE.
Guarda los datos de objetos incrustados en archivos binarios.
Recupera los datos guardados en archivos binarios de objetos incrustados.
Tabla 8.2.- Mtodos del control contenedor OLE
f)
'Abrir archivo
'Guardar arch.
'Cerrar arch.
'Abrir archivo
'Leer archivo
'Cerrar arch.
140
Excel
Word
WordPad
Paint
Graph
Nombre del
archivo
MSADODC.OCX
MSCHART.OCX
MSCOMM32.OCX
COMDLG32. OCX
DBGRID32.OCX
DBLIST32.OCX
MSDATGRD.OCX
MSDATLST.OCX
MSFLXGRD.OCX
GRID32.OCX
MSHFLXGD.OCX
MSHFlexGrid
MSMASK32.OCX
MCI32.OCX
MaskedEdit
Multimedia MCI
145
Controles ActiveX
Nombre del
archivo
PICCLP32.OCX
RICHTX32.OCX
SYSINFO.OCX
TABCTL32.OCX
MSCOMCT2.OCX
Controles ActiveX
PictureClip
RichTextBox
SysInfo
Microsoft Tab Control
Animation, UpDown, MonthView, DTPicker,
FlatScrollbar
COMCT332.OCX
CoolBar
MSWINSCK.OCX
WinSock
TabStrip, Toolbar, StatusBar, ProgressBar,
TreeView, ListView, ImageList, Slider,
ImageCombo
MSCOMCTL.OCX
Aunque las secuencias AVI pueden tener sonido, cuando lo tienen no pueden
usarse con el control Animation y se producir un error si intenta cargar un archivo
de ese tipo. Slo puede usar secuencias AVI sin sonido. Para reproducir archivos
.avi con sonido, utilice el control Multimedia (MCI).
Nota:
Encontrar diversos archivos .avi sin sonido en el directorio \Graphics\ AVI del
CD-ROM de Visual Basic.
147
Repita los pasos 3 a 6 hasta que haya llenado el control con las imgenes
deseadas.
149
Valor
tvwLast
tvwNext
tvwPrevious
tvwChild
2
3
4
Relacin
El nodo se coloca despus de todos los nodos que estn al mismo nivel que el
indicado en relative.
El nodo se coloca despus del indicado en relative.
El nodo se coloca delante del indicado en relative.
El nodo pasa a ser un nodo secundario del indicado en relative.
Tabla 8.4.- Constantes del argumento relationship
Por ejemplo, suponga que hay tres nodos y que desea colocar un cuarto nodo
entre el segundo y el tercero. El cdigo sera el siguiente:
tvwMirbol.Nodes.Add "nodo 2", tvwNext
Otros argumentos del mtodo Add son key, text e image. Con estos
argumentos puede asignar las propiedades Key, Text e Image al crear el
nuevo objeto Node.
8.4.8. Control ActiveX ListView
El control ListView muestra datos en forma de objetos ListItem. Cada objeto
ListItem puede tener un icono opcional asociado con la etiqueta del objeto. Este
control es idneo para representar subconjuntos de datos (como los miembros de
una base de datos) u objetos discretos (como plantillas de documentos). Puede
151
funcionar junto con un control TreeView, para dar al usuario una visin ampliada
de un nodo del control TreeView.
El control ListView puede mostrar los datos en cuatro vistas diferentes:
a) Iconos: permite arrastrar y colocar cada objeto y reorganizar los objetos.
b) Iconos pequeos: igual que iconos, pero permite que se vean ms objetos
ListItem.
152
Para cambiar la vista, puede usar la propiedad View. Con la propiedad View puede
permitir al usuario cambiar dinmicamente la vista. En el cdigo siguiente se
establece la propiedad View a vista de Informe (3), mediante la constante
intrnseca lvwReport:
ListView1.View = lvwReport
Un objeto ListItem consta de una etiqueta (la propiedad Text) y una imagen
opcional suministrada por un control ImageList. Sin embargo, el control ListView, a
diferencia de otros controles, puede usar dos controles ImageList, que se
establecen a travs de las propiedades Icons y SmallIcons. En las vistas de: Lista,
Iconos pequeos e Informe, puede usar iconos pequeos suministrados por un
control ImageList, para representar cada objeto ListItem. Por el contrario, cuando
est en vista de Iconos, el control utiliza un conjunto de imgenes distinto,
suministrado por un segundo control ImageList. Para establecer las propiedades
Icons y SmallIcons en tiempo de diseo, utilice el cuadro de dilogo Pginas de
propiedades.
Nota:
Para crear una barra de herramientas, debe agregar objetos Button a una
coleccin Buttons. Cada objeto Button puede tener un texto y una imagen
opcionales, indicados por un control ImageList asociado. El texto se establece con
la propiedad Caption y la imagen con la propiedad Image de cada objeto Button.
En tiempo de diseo, puede agregar objetos Button al control en el cuadro de
dilogo Pgina de propiedades de Toolbar. Al hacer doble clic en una barra de
herramientas en tiempo de ejecucin se invoca el cuadro de dilogo Personalizar
barra de herramientas, que permite al usuario ocultar, mostrar o reorganizar los
botones de la barra de herramientas. Tambin puede abrir el cuadro de dilogo
Personalizar barra de herramientas si invoca el mtodo Customize. Esto es posible
siempre que se establezca la propiedad AllowCustomize en True. Si desea guardar
y restaurar el estado de una barra de herramientas o permitir que el usuario final
lo haga, utilice los mtodos SaveToolbar y RestoreToolbar.
La propiedad Style del objeto Button determina su comportamiento. A
continuacin se indican los cinco estilos de botones, con sus usos posibles:
Constante
Valor
tbrDefault
TbrCheck
tbrButtonGroup
tbrSeparator
Uso posible
Predeterminado. Puede usar el estilo Default cuando la funcin que representa el
botn no depende de otras funciones. Adems, al hacer clic en el botn, vuelve a
su posicin normal cuando la funcin ha terminado.
Verificacin. Debe usar el estilo Check cuando el botn representa una alternancia
de algn tipo. De esta forma, cuando el botn est presionado, continuar as hasta
que se presione de nuevo y queda liberado.
Grupo de botones. Puede usar este estilo ButtonGroup cuando un grupo de
funciones se excluyan mutuamente. Es decir, en un momento dado slo una de las
funciones que representa el grupo de botones puede estar activada.
Separador. Este estilo Separator no tiene otra funcin que crear un botn de ocho
pxeles de ancho. Puede usarlo para separar otros dos botones o para agrupar
varios botones que tengan el estilo ButtonGroup.
154
Constante
Valor
tbrPlaceholder
Uso posible
Marcador de posicin. Este estilo Placeholder funciona como un botn "ficticio".
Puede usarlo para crear un espacio en el control Toolbar donde desee que
aparezca otro control (por ejemplo, un control ComboBox o ListBox).
Tabla 8.5.- Estilos del objeto Button de ToolBar
Para identificar la funcin de una ficha, puede asignar una imagen del control
ImageList al objeto Tab. Para ello, primero debe asociar un control ImageList al
control TabStrip, lo que puede hacer en tiempo de diseo o en tiempo de
ejecucin. Para crear objetos Tab en tiempo de diseo haga clic con el botn
secundario del Mouse en el control TabStrip y, despus, haga clic en Propiedades
para abrir el cuadro de dilogo Pginas de propiedades.
155
156
Unidad 9
Funciones API
Tu destino no es slo saber, sino obrar de acuerdo a tus conocimientos
.- Fichte
Descripcin
Servicios, incluidas llamadas de seguridad y del Registro.
Biblioteca de la API de dilogos comunes.
Biblioteca de la API para dispositivos grficos.
Soporte comn de la API base de 32 bits de Windows.
Rutinas de compresin de 32 bits.
Enrutadores de mltiples proveedores.
Biblioteca de la API para redes de 32 bits.
Biblioteca de la API para Shell de 32 bits.
Rutinas para interfaces de usuario.
Multimedia de Windows.
Contiene las llamadas de la API a la cola de impresin.
Tabla 9.1.- Archivos contenedores de funciones API
Const EWX_FORCE = 4
Const EWX_LOGOFF = 0
Const EWX_REBOOT = 2
Const EWX_SHUTDOWN = 1
Declare Function ExitWindowsEx Lib "USER32" (ByVal_
uFlags As Long, ByVal dwReserved As Long) As Long
Luego, en cualquier parte del cdigo del programa, se puede llamar a la funcin.
En este caso, para el ejemplo, se utiliza el procedimiento de evento Click de un
botn de comando para reiniciar el equipo (se usa la constante EWX_REBOOT):
Private Sub cmdBotn_Click()
Dim Ret As Long
Ret = ExitWindowsEx (EWX_REBOOT, 0)
End Sub
158
Tambin se puede apagar por completo el equipo, pero esta vez se deber usar la
constante EWX_SHUTDOWN:
Private Sub cmdBotn_Click()
Dim Ret As Long
Ret = ExitWindowsEx (EWX_SHUTDOWN, 0)
End Sub
9.1.5. Visor de texto API
En el paquete de Visual Basic est incluida una utilidad para escribir rpidamente,
de una manera sencilla y evitando errores humanos, las declaraciones, constantes
y estructuras de las funciones API de Windows. Esta utilidad se conoce como el
visor de texto API y su interfaz se muestra en la figura siguiente.
La utilidad principal del visor de texto API consiste en que le evita al programador
la tediosa tarea de tener que escribir las declaraciones necesarias para hacer
accesible una funcin API. El programador selecciona la funcin, las constantes y
estructuras, las copia y luego las pega en mdulos del proyecto.
Los elementos de la interfaz del visor de texto API se describen a continuacin:
a) En Tipo de API se selecciona el tipo de elemento que se buscar en el Cuadro
de bsqueda, slo escribiendo las primeras letras del nombre de la funcin, es
decir, puede ser la declaracin, las constantes o las estructuras.
b) En elementos disponibles aparecern las declaraciones, constantes o
estructuras disponibles segn se halla escogido en Tipo de API.
159
Consideracin final
En esta gua slo se han mostrado algunos ejemplos de utilidades de las funciones
API. En realidad existe una enorme cantidad de funciones API y controles ActiveX,
tanto en el sistema operativo Windows, como en otros; siendo Internet la principal
fuente de ellos. Este es el inicio para el desarrollo de aplicaciones ms robustas y
profesionales.
El programador mas destacado es aquel que aprovecha, no slo las herramientas
intrnsecas de Visual Basic, sino las provistas a travs de la API y los componentes
ActiveX. Esta es la lnea divisoria que separa a los novatos, de los programadores
avanzados. An queda algo de camino que recorrer: crear nuestros propios
objetos, disear aplicaciones para redes incluyendo Internet con DHTML, agregar
ayuda a las aplicaciones, controlar puertos u otro hardware del PC para desarrollos
SCADA o similares, etc.; pero estamos armados con los fundamentos necesarios
para alcanzar, muy pronto, el nivel de expertos.
Suerte programadores!
163