SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
1
Guía de Estudio
Microsoft Visual Basic 6.0
Elaborada por:
Ing. Alfredo Díaz
Cabimas, Noviembre de 2009
2
GUIA DE ESTUDIO
VISUAL BASIC 6.0
Visual Basic es un lenguaje de programación de cuarta generación que soporta las
características de orientación a objetos y mantiene las sentencias de manera homóloga al
Basic tradicional. Algunos estudiosos han asegurado de que Visual Basic hasta la versión 6.0
no es orientado a objetos, sino orientado a eventos, ya que en el modelo POO se deben
presentar de manera explícita la herencia, encapsulamiento y polimorfismo.
La herencia se refiere al hecho de que un objeto puede contener las características o
propiedades de un objeto padre. En VB la herencia está presente de manera implícita. Por
ejemplo, los rasgos heredados de los padres hacia los hijos.
El encapsulamiento: consiste en el hecho de que el código asociado a un objeto es privado
para dicho objeto y queda asociado exclusivamente a éste. Por ejemplo, el código del evento
cmdGuardar_Click() estará asociado exclusivamente a ese objeto.
El polimorfismo indica que un objeto puede contener métodos que pueden tener el mismo
nombre, pero desencadenar diferentes comportamientos. Por ejemplo, en un teléfono, cuando
se presiona un botón para digitar un número, se marcará dicho número, sin embargo, aunque
esencialmente la función es la misma, al discar el uno (1), de marcará este dígito, ocurriendo lo
mismo con el dos (2) y el resto de los números; es decir, el resultado varía dependiendo de
cada botón, aunque todos respondan a la misma acción (presionar).
PROPIEDADES, MÉTODOS Y EVENTOS
Una propiedad es una característica de un objeto; por ejemplo, el nombre, color, tamaño,
posición, etc.
Un método es un comando o acción al cual, el objeto puede responder. Por ejemplo, cuando se
le dice al objeto “Muévete a la izquierda” o “Agrega un elemento a este objeto”.
Un evento es un suceso de programa que puede ocurrir en cualquier momento. Por ejemplo:
cuando el usuario pasa el Mouse por encima del objeto o hace clik sobre él.
EL ENTORNO DE PROGRAMACIÓN (IDE) DE VISUAL BASIC 6.0
Visual Basic 6.0 ofrece un entorno integrado de desarrollo provisto de los siguientes elementos:
Formulario
Cuadro de
controles
Explorador
de proyectos
Ventana
Propiedades
Barra de Menús y Herramientas
3
Barra de Menús y Herramientas: De manera homóloga a los programas diseñados para
Windows, permiten desplegar una lista de opciones que el usuario puede utilizar para diseñar,
depurar y ejecutar los programas entre otras posibilidades.
Formulario: Es el formulario base donde el diseñador o programador trabajará para diseñar la
interfaz de usuario.
Cuadro de Controles: Representa cada uno de los objetos que el usuario puede insertar
dentro de los formularios.
Ventana Propiedades: Representa cada una de las propiedades de los objetos.
Explorador de Proyectos: Muestra cada uno de los elementos que componen un proyecto en
visual Basic como formularios, módulos, etc.
Un proyecto es un conjunto de formularios, módulos, módulos de clase y otros archivos que
forman parte de la aplicación final (programa compilado). Dicho proyecto tiene extensión .vbp
hasta que se compila y genera un programa ejecutable .exe compatible con Windows.
El proyecto por defecto tiene el nombre “Proyecto1” y puede cambiarse su nombre por otro
más descriptivo asociado a su contenido. Este nombre prevalecerá hasta la generación del
ejecutable.
LOS FORMULARIOS Y OBJETOS EN VISUAL BASIC
Un formulario es un objeto básico contenedor de otros objetos, que permite el diseño de las
interfaces de usuario. En todos los programas Windows cada ventana está representada por lo
menos por un formulario dentro del cual, se encuentran los botones de comando, cuadros de
texto, listas desplegables y otros objetos que pueden ser accedidos por los usuarios.
Los objetos en visual Basic pueden ser intrínsecos (vienen preestablecidos por el lenguaje) o
externos (diseñados por otros fabricantes). Este último tipo de objetos son los denominados
ActiveX u .OCX.
Puntero: Es el objeto preestablecido utilizado para seleccionar otros objetos
Textbox: Permite el ingreso de texto por parte del usuario
Checkbox: Permite marcar como verdadero o falso (sí o no) el estado del objeto.
Listbox: Muestra una lista abierta de elementos.
Timer: Permite repetir instrucciones de acuerdo al reloj del procesador.
DirListBox: Muestra una lista de archivos de directorios.
Image: Permite insertar imágenes en el formulario.
Label: Permite asignar una leyenda o etiqueta para indentificar otros objetos.
CommandButton: Permite desencadenar acciones diversas al ser presionado.
ComboBox: Muestra una lista desplegable de elementos al clickear en la flecha
derecha
PictureBox: Permite insertar imágenes en el formulario
Frame: Delimita una región del formulario para agrupar otros objetos
4
OptionButton: Muestra un grupo de opciones de las cuales, el usuario sólo puede elegir una
de ellas.
ANTES DE COMENZAR A PROGRAMAR LA APLICACIÓN
Existen una serie de consideraciones importantes antes de empezar a programar. Lo primero
que debemos tomar en cuenta es que Visual Basic 6 es la existencia del Administrador de
proyectos y la ventana propiedades.
Un proyecto en visual basic es la integración de una serie de archivos como formularios,
módulos y otros elementos que al trabajar como un todo dan origen a nuestra aplicación o
programa de una manera totalmente funcional.
El formulario es la ventana base sobre la cual se colocan los objetos del programa, mientras
que el módulo es un archivo que contiene instrucciones que complementan nuestro programa.
El explorador de proyectos es una ventana que se encuentra en el entorno de desarrollo de
Visual Basic y presenta una lista de todos los elementos que están incluidos en la aplicación y
la Ventana Propiedades permite visualizar y editar los valores de las características de los
objetos como su nombre, título, color, etc.
La ventana propiedades se muestra presionando F4 y el explorador de proyectos al presionar
CONTROL+R.
EL ACCESO A DATOS DESDE VB
Para acceso a datos, Visual Basic 6.0 incluye un control intrínseco llamado “Data”. Este permite
conectarse a diversos motores de bases de datos como DBF, Acces, Paradox o Excel. Sin
embargo, para conectarse con motores de bases de datos más recientes y robustos, se
incluyen los controles ActiveX ADO y RDO.
El ADO genera una cadena de conexión donde se indica el motor de la base de datos,
dirección en el disco donde se encuentra y otros parámetros que permiten establecer la
conectividad.
En cuanto al RDO (Objetos de Datos Remotos) se utiliza para conectar BD remotas a través de
un DSN (Servidor de Nombres de Dominio de datos) que debe ser creado en la máquina local
para establecer la conexión.
En este curso, se utilizará el control de datos ADO.
1. Para llamar el control de datos ADO, se debe presionar la combinación “Control+T” y
muestra la lista de todos los componentes de Visual Basic.
2. Se debe seleccionar el componente
“Microsoft ADO Data Control 6.0 y
presionar “Aceptar”
Al hacer esto, se inserta un control en el
cuadro de controles que hace referencia
a este componente.
3. En este momento, ya el entorno está
preparado para manejar datos. En este
sentido, es necesario dibujar nuestro
formulario, tal como se observa a
continuación:
5
4. Para insertar un objeto (por
ejemplo el Label Cedula, deberá
hacer doble clic sobre el control
del cuadro de controles. Esto
ubicará el objeto Label1 en el
centro del formulario.
5. Luego, muévalo hasta la parte
superior del form tal como se
muestra en la figura
6. Busque la propiedad Caption en
la ventana Propiedades y escriba
Cédula para asignar el valor de la
propiedad.
El objeto quedará así:
7. Inserte el cuadro de texto (textbox) haciendo doble clic sobre el control
TextBox del cuadro de controles . Este se colocará en el centro del
formulario y deberá arrastrarlo hacia al lado del Label Cedula, tal como se
muestra en la figura:
8. En la ventana propiedades, busque la propiedad Text y borre el valor que tiene en ese
momento (Text1). Al mismo tiempo, busque la propiedad (Nombre) que es la primera que
aparece en la lista de propiedades y escriba txtcedula. Presione enter para aceptar el valor y
prosiga con el resto de objetos y propiedades de acuerdo al siguiente cuadro:
Propiedades de los Objetos:
Objeto Propiedad Valor
Form Name
Caption
BorderStyle
StartUpPosition
frmAlumnos
Alumnos
1. Fixed Single
2. CenterScreen
Label1, Label2, Label3,
Label4, Label5
Caption Cedula, Nombre, Apellido,
Dirección, Telefono
Text1, Text2, Text3, Text4,
Text5
Name
Text
Enabled
txtCedula, txtNombre,
txtApellido, txtDireccion,
txtTelefono
“” (Vacío)
False
6
CommandButon1…
CommandButton7
Name
Caption
Enabled
cmdNuevo, cmdEditar,
cmdBuscar, cmdEliminar,
cmdGuardar, cmdCancelar,
cmdCerrar
Nuevo, Modificar, Eliminar,
Cerrar, Guardar, Cancelar,
Consultar
True (cmdGuardar y
cmdCancelar = False)
En resumen, nuestro formulario tendrá 5 Labels, 5 textboxes y 7 Command buttons.
NOTA MUY IMPORTANTE: Verifique minuciosamente que todas las propiedades de los
objetos están bien asignadas, ya que de no ser así, tendrá problemas al momento de agregar
el código.
SIGNIFICADO DE LAS PROPIEDADES UTILIZADAS:
Name: Indica el Nombre del Objeto. El nombre es único y sólo se utiliza a nivel de código. No
se debe confundir con el Caption. Se recomienda utilizar prefijos para identificar al tipo de
objeto. Los más utilizados son:
cmd CommandButton
txt TextBox
cmb ComboBox
lbl Label
pic PictureBox
frm Formulario
chk CheckBox
opt OptionButton
Los nombres de objeto no pueden comenzar con números ni contener espacios en blanco ni
caracteres especiales. Tampoco se pueden utilizar palabras reservadas del lenguaje.
Caption: Indica la leyenda o título del objeto que el usuario observa durante la ejecución del
programa
BorderStyle: Sólo aplica para el objeto Form. Estilo del borde (Ninguno, Sencillo, Ajustable,
Cuadro de diálogo, como barra de herramientas flotante o fija)
Enabled: Indica si el objeto está activo durante la ejecución del programa o no. De no estar
activo, el usuario no podrá ingresar ningún dato ni manipular dicho objeto.
Tag: Almacena cualquier valor que el usuario desee. En este curso, se utilizará para efectos de
optimizar el código de programa al limpiar, activar o desactivar objetos.
Text: En un objeto textbox o combobox, guarda el valor ingresado por el usuario.
PERSPECTIVA DEL PROGRAMA (¿CÓMO SE DESEA QUE FUNCIONE?)
El programa debe permitir el ingreso, actualización, eliminación y consulta de datos de los
alumnos de un colegio. Al inicio, todos los cuadros de texto deben estar desactivados y sólo se
activarán cuando el usuario desee agregar o modificar datos. En tal caso, los únicos botones
que deben quedar activos son Guardar y Cancelar, ya que durante una operación de edición o
agregación sólo se pueden almacenar los datos o deshacerlos.
Al inicio, los botones Nuevo, Modificar, Eliminar, Cerrar y Consultar deben estar activos ya que
se espera que el usuario desencadene una de estas acciones, estando inactivos los botones
Guardar y Cancelar.
7
Luego de una operación de agregación o modificación, cuando el usuario selecciona Guardar o
Cancelar, se regresan todos los cuadros de texto a su estado inactivo y los botones Nuevo,
Modificar, Eliminar, Cerrar y Consultar, se activan; desactivando entonces a Guardar y
Cancelar.
ABRIENDO LA BASE DE DATOS DESDE VB
Para abrir la base de datos, utilizaremos una variable global llamada “db” que declararemos en
un módulo. Esto lo realizamos de la siguiente manera:
1. Hacemos click con el botón derecho en el área blanca del administrador de proyectos.
2. Seleccionamos Agregar  Módulo y aparecerá una
pantalla como la siguiente:
3. Seleccionamos Abrir y se mostrará una pantalla en
blanco en la que escribiremos el siguiente código:
'Declara las variables que hacen referencia
'a la base de datos y al recordset (conjunto de registros)
'Se declaran global para que esten al alcance de todo el proyecto
Global db As New ADODB.Connection
Global rst As New ADODB.Recordset
'Ahora se escribe el procedimiento inicial
Sub main()
'Abre la conexión a la base de datos utilizando una cadena de conexión...
db.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:SISTEMACENTRAL.mdb;Persist Security Info=False"
db.Open
'e invoca al formulario de alumnos con el metodo show
frmAlumnos.Show
End Sub
4. Guardamos el módulo con el nombre modInicial.bas.
Importante: Los proyectos en visual basic 6.0 tienen extensión.vbp mientras que los
formularios son .frm y los módulos son .bas.
Al momento de abrir un proyecto, siempre hacerlo con el archivo .vbp. Es un error común abrir
el archivo .frm
Como pudo observarse, se declararon 2 variables globales que hacen referencia a nuestra
base de datos (db) y recordset (rst) y se realiza de esta manera para que estén “visibles” en
todos los objetos del proyecto.
También notemos la existencia del sub main() que es el procedimiento de inicio. Debemos
entonces indicarle a Visual Basic que la primera rutina que llamará al iniciar es el sub main().
Para ello, vamos al menú proyecto y luego elegimos la opción Propiedades de proyecto. Allí
aparecerá la siguiente ventana:
8
Alli, clickearemos en la lista desplegable
Objeto Inicial y seleccionaremos Sub
Main. También le colocaremos como
Nombre de proyecto “Sistema” y
presionamos Aceptar para guardar los
cambios.
Ahora, la próxima vez que se inicie el
proyecto, se invocará al sub main(), por lo
cual, se acostumbra que en esta rutina, se
llame al formulario que contiene el menú
principal del sistema. Por ahora, sólo
invocará al formulario frmAlumnos.
INFORMACIÓN IMPORTANTE SOBRE LA DECLARACIÓN DE VARIABLES.
Habrá visto que en el sub main() declaramos dos variables con la palabra Global. Una variable
es un objeto de programa que puede contener datos y los mismos varían a lo largo de la
ejecución del programa. Las variables pueden ser de tipo entero, con decimales, de cadena de
caracteres, de tipo objeto, entre otros.
La declaración de una variable es como sigue:
Dim nombre_var as tipo_de_dato:
Dim es la palabra reservada que reserva el espacio en la memoria RAM para la variable.
Nombre_var es el nombre que se le da a la variable (no debe comenzar con números, ni
contener caracteres especiales ni espacios en blanco)
Tipo_de_dato es el tipo de dato que se le asigna a la variable (integer, string, doublé, etc)
También se puede utilizar la declaración implícita (sin usar dim) y utilizar la variable justo en el
momento que se declara. Por ejemplo
Cedula$=”15069973”
Esta instrucción crea la variable “Cedula” de tipo cadena (el símbolo $ significa que se declara
como una cadena de caracteres) y luego, se asigna el valor de una cédula cualquiera.
El símbolo (%) significa “entero”, mientras que el símbolo (#) significa “doublé”. Puede revisar la
ayuda de Visual Basic 6 par mayores detalles.
ADICIÓN DEL CÓDIGO
1. Para agregar el código a un objeto, se debe clickear sobre dicho objeto y luego, aparecerá el
editor de código. Allí se muestra una lista con los objetos del formulario (en el lado izquierdo) y
los eventos que puede soportar (en el lado derecho).
2. Ingresemos en el código del objeto cmdCerrar haciendo doble click sobre el botón Cerrar
Al hacer esto, se mostrará la ventana código asociada a dicho botón. Es de hacer notar que en
la lista superior izquierda aparece el nombre del objeto y en la derecha el evento que
estaremos programando (en este caso: click), También aparecen unas líneas de código
automáticas que indican inico y fin de un procedimiento asociado al objeto cmdCerrar,
específicamente el evento click. Dichas líneas no deben borrarse.
9
3. Ubiquese debajo de la palabre Private
y pegue allí el siguiente código:
End
Y luego, cierre dicha ventana
La instrucción End implica que cuando el usuario haga click sobre el botón Cerrar del
formulario, se terminará por completo la ejecución del programa.
4. Es el momento de ingresar el código de los botones cmdNuevo y cmdEditar.
Private Sub cmdNuevo_Click()
'Primero se activan todos los cuadros de texto
'porque escribiremos sobre ellos los valores que les asignaremos
'a los campos de la tabla ALUMNOS
Me.txtApellido.Enabled = True
Me.txtCedula.Enabled = True
Me.txtDireccion.Enabled = True
Me.txtNombre.Enabled = True
Me.txtTelefono.Enabled = True
'Cuando comienza la creación, sólo se podrán Guardar o Cancelar los cambios
'Por eso cmdCancelar y cmdGuardar se activan
'Y el resto de los Botones de comando, se desactivan...
Me.cmdGuardar.Enabled = True
Me.cmdCancelar.Enabled = True
Me.cmdBuscar.Enabled = False
Me.cmdCerrar.Enabled = False
Me.cmdEditar.Enabled = False
Me.cmdNuevo.Enabled = False
Me.cmdEliminar.Enabled = False
End Sub
Para el botón Editar, inserte el siguiente código: (Doble click sobe el botón cmdEditar)
Private Sub cmdEditar_Click()
'Verifica que se esté mostrando un reg en pantalla...
'Si se está mostrando un registro, el texbox cedula tiene algún valor...
If Me.txtCedula.Text = "" Then
'Si no es así, muestra un error
MsgBox "Debe cargar un registro para modificarlo", vbCritical
Exit Sub
End If
'Activa los cuadros de texto porque estamos editando...
Me.txtApellido.Enabled = True
Me.txtCedula.Enabled = True
Me.txtDireccion.Enabled = True
Me.txtNombre.Enabled = True
Me.txtTelefono.Enabled = True
'Desactiva todos los Botones de comando,
'dejando activos solamente cmdGuardar y cmdCancelar
'porque al editar sólo se pueden salvar o cancelar los cambios...
Me.cmdBuscar.Enabled = False
Me.cmdCerrar.Enabled = False
Me.cmdEditar.Enabled = False
Me.cmdNuevo.Enabled = False
Me.cmdEliminar.Enabled = False
Me.cmdGuardar.Enabled = True
Me.cmdCancelar.Enabled = True
End Sub
5. Cierre las ventanas de edición de código y haga doble click sobre el objeto cmdBuscar del
formulario
6. Es el momento de ingresar el código del botón cmdBuscar que se indica a continuación:
10
Private Sub cmdBuscar_Click()
Dim cedula As String 'Declara la variable cedula como cadena...
'Muestra un cuadro de mensaje solicitando la cédula que desea buscar...
'Y lo asigna a la variable cedula
cedula = InputBox("Ingrese la Cédula a Buscar")
'Si la variable no contiene nada, se muestra un error
'Y sale de este procedimiento...
If Trim(cedula) = "" Then
MsgBox "La cédula ingresada es inválida", vbCritical
Exit Sub
End If
'Pero si el usuario ingresa una cédula,
'Abre un RecordSet y verifica si existe...
rst.CursorLocation = adUseClient 'Siempre se coloca para que el RecordCount funcione
correctamente
'Esta instrucción abre un recordset que es una colección de registros de una o varias
tablas...
rst.Open "SELECT * FROM alumnos WHERE cedula='" + Trim(cedula) + "'", db,
adOpenDynamic, adLockOptimistic
If rst.RecordCount > 0 Then 'Si ha encontrado alguna coincidencia...
Me.txtApellido = rst!apellido 'Asigna los valores a los cuadros de texto
Me.txtCedula = rst!cedula
Me.txtDireccion = rst!Dir
Me.txtTelefono = rst!telf
Me.txtNombre = rst!nombre
Else 'De lo contrario, muestra un mensaje de que no se encontró ningun registro
MsgBox "No se encontró el alumno con esta cédula", vbCritical
End If
rst.Close
End Sub
Veamos lo que hemos hecho hasta ahora…
El botón nuevo activa todos los cuadros de texto para que el usuario pueda teclear la cédula,
nombre, apellido, etc del alumno que está registrando.
Dado que está “creando” un nuevo registro, sólo se podrán Guardar los cambios o
Cancelarlos, de allí que sólo se dejan activos los botones cmdGuardad y cmdCancelar,
mientras que cmdNuevo, cmModificar, cmdBuscar, cmdEliminar y cmdCerrar se
desactivan.
Lo mismo ocurre cuando se presiona el botón Modificar ya que se está tratando de editar
registros. La única diferencia notoria es el hecho de que para poder editar, el usuario debe
haber buscado un registro primeramente y luego, con los datos del mismo en el formulario,
presionar editar, es decir, obligatoriamente debe estarse visualizando un registro en la
pantalla. Por esta razón se verifica primero si el txtCedula.text tiene algún valor, porque esto
indica que se ha cargado previamente un registro para su modificación.
Nótese la utilización de la estructura condicional if que sirve para tomar una decisión en base al
resultado de una condición… Por ejemplo; si el txtcedula.text tiene “algo”, entonces, continuar,
de lo contrario, mostrar un error.
En cuanto al botón cmdBuscar, lo primero que se realiza pedirle al usuario cuál cédula desea
buscar. Para ello, se utiliza la función InputBox que muestra un cuadro de mensaje con una
región editable. Allí, el usuario escribirá la cédula a buscar y luego, se buscará en la tabla de
alumnos si existe alguna coincidencia con el valor ingresado.
La función InputBox() Muestra un mensaje en un cuadro de diálogo, espera que el usuario
escriba un texto o haga clic en un botón.
InputBox(mensaje[, titulo])

Más contenido relacionado

Similar a Guía de Visual Basic 6.0 para principiantes

Similar a Guía de Visual Basic 6.0 para principiantes (20)

Visual basic.docx
Visual basic.docxVisual basic.docx
Visual basic.docx
 
Visual basic.docx
Visual basic.docxVisual basic.docx
Visual basic.docx
 
Visual basic.docx
Visual basic.docxVisual basic.docx
Visual basic.docx
 
VERUSKA SALA
VERUSKA SALAVERUSKA SALA
VERUSKA SALA
 
Visualbasic6.0
Visualbasic6.0Visualbasic6.0
Visualbasic6.0
 
Jueves
JuevesJueves
Jueves
 
Visual basic
Visual basicVisual basic
Visual basic
 
Unidad I. Programación
Unidad I. ProgramaciónUnidad I. Programación
Unidad I. Programación
 
Informe programación Elimenez gonzalez
Informe programación Elimenez gonzalezInforme programación Elimenez gonzalez
Informe programación Elimenez gonzalez
 
Loreidys gonzales fundamentos de visual basic
Loreidys gonzales fundamentos de visual basicLoreidys gonzales fundamentos de visual basic
Loreidys gonzales fundamentos de visual basic
 
Clase01net
Clase01netClase01net
Clase01net
 
Programacion 5% Karolayn Cardozo 28.252.584
Programacion 5% Karolayn Cardozo 28.252.584Programacion 5% Karolayn Cardozo 28.252.584
Programacion 5% Karolayn Cardozo 28.252.584
 
Fundamentos de visual basic
Fundamentos de visual basicFundamentos de visual basic
Fundamentos de visual basic
 
Visual basic
Visual basicVisual basic
Visual basic
 
Fundamentos de visual basic
Fundamentos de visual basicFundamentos de visual basic
Fundamentos de visual basic
 
Proyecto visual basic
Proyecto visual basicProyecto visual basic
Proyecto visual basic
 
Visual basic 6.0
Visual basic 6.0Visual basic 6.0
Visual basic 6.0
 
Visual Basic 6.0
Visual Basic 6.0Visual Basic 6.0
Visual Basic 6.0
 
Fundamentos de Visual Basic
Fundamentos de Visual BasicFundamentos de Visual Basic
Fundamentos de Visual Basic
 
Maria Añez
Maria AñezMaria Añez
Maria Añez
 

Guía de Visual Basic 6.0 para principiantes

  • 1. 1 Guía de Estudio Microsoft Visual Basic 6.0 Elaborada por: Ing. Alfredo Díaz Cabimas, Noviembre de 2009
  • 2. 2 GUIA DE ESTUDIO VISUAL BASIC 6.0 Visual Basic es un lenguaje de programación de cuarta generación que soporta las características de orientación a objetos y mantiene las sentencias de manera homóloga al Basic tradicional. Algunos estudiosos han asegurado de que Visual Basic hasta la versión 6.0 no es orientado a objetos, sino orientado a eventos, ya que en el modelo POO se deben presentar de manera explícita la herencia, encapsulamiento y polimorfismo. La herencia se refiere al hecho de que un objeto puede contener las características o propiedades de un objeto padre. En VB la herencia está presente de manera implícita. Por ejemplo, los rasgos heredados de los padres hacia los hijos. El encapsulamiento: consiste en el hecho de que el código asociado a un objeto es privado para dicho objeto y queda asociado exclusivamente a éste. Por ejemplo, el código del evento cmdGuardar_Click() estará asociado exclusivamente a ese objeto. El polimorfismo indica que un objeto puede contener métodos que pueden tener el mismo nombre, pero desencadenar diferentes comportamientos. Por ejemplo, en un teléfono, cuando se presiona un botón para digitar un número, se marcará dicho número, sin embargo, aunque esencialmente la función es la misma, al discar el uno (1), de marcará este dígito, ocurriendo lo mismo con el dos (2) y el resto de los números; es decir, el resultado varía dependiendo de cada botón, aunque todos respondan a la misma acción (presionar). PROPIEDADES, MÉTODOS Y EVENTOS Una propiedad es una característica de un objeto; por ejemplo, el nombre, color, tamaño, posición, etc. Un método es un comando o acción al cual, el objeto puede responder. Por ejemplo, cuando se le dice al objeto “Muévete a la izquierda” o “Agrega un elemento a este objeto”. Un evento es un suceso de programa que puede ocurrir en cualquier momento. Por ejemplo: cuando el usuario pasa el Mouse por encima del objeto o hace clik sobre él. EL ENTORNO DE PROGRAMACIÓN (IDE) DE VISUAL BASIC 6.0 Visual Basic 6.0 ofrece un entorno integrado de desarrollo provisto de los siguientes elementos: Formulario Cuadro de controles Explorador de proyectos Ventana Propiedades Barra de Menús y Herramientas
  • 3. 3 Barra de Menús y Herramientas: De manera homóloga a los programas diseñados para Windows, permiten desplegar una lista de opciones que el usuario puede utilizar para diseñar, depurar y ejecutar los programas entre otras posibilidades. Formulario: Es el formulario base donde el diseñador o programador trabajará para diseñar la interfaz de usuario. Cuadro de Controles: Representa cada uno de los objetos que el usuario puede insertar dentro de los formularios. Ventana Propiedades: Representa cada una de las propiedades de los objetos. Explorador de Proyectos: Muestra cada uno de los elementos que componen un proyecto en visual Basic como formularios, módulos, etc. Un proyecto es un conjunto de formularios, módulos, módulos de clase y otros archivos que forman parte de la aplicación final (programa compilado). Dicho proyecto tiene extensión .vbp hasta que se compila y genera un programa ejecutable .exe compatible con Windows. El proyecto por defecto tiene el nombre “Proyecto1” y puede cambiarse su nombre por otro más descriptivo asociado a su contenido. Este nombre prevalecerá hasta la generación del ejecutable. LOS FORMULARIOS Y OBJETOS EN VISUAL BASIC Un formulario es un objeto básico contenedor de otros objetos, que permite el diseño de las interfaces de usuario. En todos los programas Windows cada ventana está representada por lo menos por un formulario dentro del cual, se encuentran los botones de comando, cuadros de texto, listas desplegables y otros objetos que pueden ser accedidos por los usuarios. Los objetos en visual Basic pueden ser intrínsecos (vienen preestablecidos por el lenguaje) o externos (diseñados por otros fabricantes). Este último tipo de objetos son los denominados ActiveX u .OCX. Puntero: Es el objeto preestablecido utilizado para seleccionar otros objetos Textbox: Permite el ingreso de texto por parte del usuario Checkbox: Permite marcar como verdadero o falso (sí o no) el estado del objeto. Listbox: Muestra una lista abierta de elementos. Timer: Permite repetir instrucciones de acuerdo al reloj del procesador. DirListBox: Muestra una lista de archivos de directorios. Image: Permite insertar imágenes en el formulario. Label: Permite asignar una leyenda o etiqueta para indentificar otros objetos. CommandButton: Permite desencadenar acciones diversas al ser presionado. ComboBox: Muestra una lista desplegable de elementos al clickear en la flecha derecha PictureBox: Permite insertar imágenes en el formulario Frame: Delimita una región del formulario para agrupar otros objetos
  • 4. 4 OptionButton: Muestra un grupo de opciones de las cuales, el usuario sólo puede elegir una de ellas. ANTES DE COMENZAR A PROGRAMAR LA APLICACIÓN Existen una serie de consideraciones importantes antes de empezar a programar. Lo primero que debemos tomar en cuenta es que Visual Basic 6 es la existencia del Administrador de proyectos y la ventana propiedades. Un proyecto en visual basic es la integración de una serie de archivos como formularios, módulos y otros elementos que al trabajar como un todo dan origen a nuestra aplicación o programa de una manera totalmente funcional. El formulario es la ventana base sobre la cual se colocan los objetos del programa, mientras que el módulo es un archivo que contiene instrucciones que complementan nuestro programa. El explorador de proyectos es una ventana que se encuentra en el entorno de desarrollo de Visual Basic y presenta una lista de todos los elementos que están incluidos en la aplicación y la Ventana Propiedades permite visualizar y editar los valores de las características de los objetos como su nombre, título, color, etc. La ventana propiedades se muestra presionando F4 y el explorador de proyectos al presionar CONTROL+R. EL ACCESO A DATOS DESDE VB Para acceso a datos, Visual Basic 6.0 incluye un control intrínseco llamado “Data”. Este permite conectarse a diversos motores de bases de datos como DBF, Acces, Paradox o Excel. Sin embargo, para conectarse con motores de bases de datos más recientes y robustos, se incluyen los controles ActiveX ADO y RDO. El ADO genera una cadena de conexión donde se indica el motor de la base de datos, dirección en el disco donde se encuentra y otros parámetros que permiten establecer la conectividad. En cuanto al RDO (Objetos de Datos Remotos) se utiliza para conectar BD remotas a través de un DSN (Servidor de Nombres de Dominio de datos) que debe ser creado en la máquina local para establecer la conexión. En este curso, se utilizará el control de datos ADO. 1. Para llamar el control de datos ADO, se debe presionar la combinación “Control+T” y muestra la lista de todos los componentes de Visual Basic. 2. Se debe seleccionar el componente “Microsoft ADO Data Control 6.0 y presionar “Aceptar” Al hacer esto, se inserta un control en el cuadro de controles que hace referencia a este componente. 3. En este momento, ya el entorno está preparado para manejar datos. En este sentido, es necesario dibujar nuestro formulario, tal como se observa a continuación:
  • 5. 5 4. Para insertar un objeto (por ejemplo el Label Cedula, deberá hacer doble clic sobre el control del cuadro de controles. Esto ubicará el objeto Label1 en el centro del formulario. 5. Luego, muévalo hasta la parte superior del form tal como se muestra en la figura 6. Busque la propiedad Caption en la ventana Propiedades y escriba Cédula para asignar el valor de la propiedad. El objeto quedará así: 7. Inserte el cuadro de texto (textbox) haciendo doble clic sobre el control TextBox del cuadro de controles . Este se colocará en el centro del formulario y deberá arrastrarlo hacia al lado del Label Cedula, tal como se muestra en la figura: 8. En la ventana propiedades, busque la propiedad Text y borre el valor que tiene en ese momento (Text1). Al mismo tiempo, busque la propiedad (Nombre) que es la primera que aparece en la lista de propiedades y escriba txtcedula. Presione enter para aceptar el valor y prosiga con el resto de objetos y propiedades de acuerdo al siguiente cuadro: Propiedades de los Objetos: Objeto Propiedad Valor Form Name Caption BorderStyle StartUpPosition frmAlumnos Alumnos 1. Fixed Single 2. CenterScreen Label1, Label2, Label3, Label4, Label5 Caption Cedula, Nombre, Apellido, Dirección, Telefono Text1, Text2, Text3, Text4, Text5 Name Text Enabled txtCedula, txtNombre, txtApellido, txtDireccion, txtTelefono “” (Vacío) False
  • 6. 6 CommandButon1… CommandButton7 Name Caption Enabled cmdNuevo, cmdEditar, cmdBuscar, cmdEliminar, cmdGuardar, cmdCancelar, cmdCerrar Nuevo, Modificar, Eliminar, Cerrar, Guardar, Cancelar, Consultar True (cmdGuardar y cmdCancelar = False) En resumen, nuestro formulario tendrá 5 Labels, 5 textboxes y 7 Command buttons. NOTA MUY IMPORTANTE: Verifique minuciosamente que todas las propiedades de los objetos están bien asignadas, ya que de no ser así, tendrá problemas al momento de agregar el código. SIGNIFICADO DE LAS PROPIEDADES UTILIZADAS: Name: Indica el Nombre del Objeto. El nombre es único y sólo se utiliza a nivel de código. No se debe confundir con el Caption. Se recomienda utilizar prefijos para identificar al tipo de objeto. Los más utilizados son: cmd CommandButton txt TextBox cmb ComboBox lbl Label pic PictureBox frm Formulario chk CheckBox opt OptionButton Los nombres de objeto no pueden comenzar con números ni contener espacios en blanco ni caracteres especiales. Tampoco se pueden utilizar palabras reservadas del lenguaje. Caption: Indica la leyenda o título del objeto que el usuario observa durante la ejecución del programa BorderStyle: Sólo aplica para el objeto Form. Estilo del borde (Ninguno, Sencillo, Ajustable, Cuadro de diálogo, como barra de herramientas flotante o fija) Enabled: Indica si el objeto está activo durante la ejecución del programa o no. De no estar activo, el usuario no podrá ingresar ningún dato ni manipular dicho objeto. Tag: Almacena cualquier valor que el usuario desee. En este curso, se utilizará para efectos de optimizar el código de programa al limpiar, activar o desactivar objetos. Text: En un objeto textbox o combobox, guarda el valor ingresado por el usuario. PERSPECTIVA DEL PROGRAMA (¿CÓMO SE DESEA QUE FUNCIONE?) El programa debe permitir el ingreso, actualización, eliminación y consulta de datos de los alumnos de un colegio. Al inicio, todos los cuadros de texto deben estar desactivados y sólo se activarán cuando el usuario desee agregar o modificar datos. En tal caso, los únicos botones que deben quedar activos son Guardar y Cancelar, ya que durante una operación de edición o agregación sólo se pueden almacenar los datos o deshacerlos. Al inicio, los botones Nuevo, Modificar, Eliminar, Cerrar y Consultar deben estar activos ya que se espera que el usuario desencadene una de estas acciones, estando inactivos los botones Guardar y Cancelar.
  • 7. 7 Luego de una operación de agregación o modificación, cuando el usuario selecciona Guardar o Cancelar, se regresan todos los cuadros de texto a su estado inactivo y los botones Nuevo, Modificar, Eliminar, Cerrar y Consultar, se activan; desactivando entonces a Guardar y Cancelar. ABRIENDO LA BASE DE DATOS DESDE VB Para abrir la base de datos, utilizaremos una variable global llamada “db” que declararemos en un módulo. Esto lo realizamos de la siguiente manera: 1. Hacemos click con el botón derecho en el área blanca del administrador de proyectos. 2. Seleccionamos Agregar Módulo y aparecerá una pantalla como la siguiente: 3. Seleccionamos Abrir y se mostrará una pantalla en blanco en la que escribiremos el siguiente código: 'Declara las variables que hacen referencia 'a la base de datos y al recordset (conjunto de registros) 'Se declaran global para que esten al alcance de todo el proyecto Global db As New ADODB.Connection Global rst As New ADODB.Recordset 'Ahora se escribe el procedimiento inicial Sub main() 'Abre la conexión a la base de datos utilizando una cadena de conexión... db.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:SISTEMACENTRAL.mdb;Persist Security Info=False" db.Open 'e invoca al formulario de alumnos con el metodo show frmAlumnos.Show End Sub 4. Guardamos el módulo con el nombre modInicial.bas. Importante: Los proyectos en visual basic 6.0 tienen extensión.vbp mientras que los formularios son .frm y los módulos son .bas. Al momento de abrir un proyecto, siempre hacerlo con el archivo .vbp. Es un error común abrir el archivo .frm Como pudo observarse, se declararon 2 variables globales que hacen referencia a nuestra base de datos (db) y recordset (rst) y se realiza de esta manera para que estén “visibles” en todos los objetos del proyecto. También notemos la existencia del sub main() que es el procedimiento de inicio. Debemos entonces indicarle a Visual Basic que la primera rutina que llamará al iniciar es el sub main(). Para ello, vamos al menú proyecto y luego elegimos la opción Propiedades de proyecto. Allí aparecerá la siguiente ventana:
  • 8. 8 Alli, clickearemos en la lista desplegable Objeto Inicial y seleccionaremos Sub Main. También le colocaremos como Nombre de proyecto “Sistema” y presionamos Aceptar para guardar los cambios. Ahora, la próxima vez que se inicie el proyecto, se invocará al sub main(), por lo cual, se acostumbra que en esta rutina, se llame al formulario que contiene el menú principal del sistema. Por ahora, sólo invocará al formulario frmAlumnos. INFORMACIÓN IMPORTANTE SOBRE LA DECLARACIÓN DE VARIABLES. Habrá visto que en el sub main() declaramos dos variables con la palabra Global. Una variable es un objeto de programa que puede contener datos y los mismos varían a lo largo de la ejecución del programa. Las variables pueden ser de tipo entero, con decimales, de cadena de caracteres, de tipo objeto, entre otros. La declaración de una variable es como sigue: Dim nombre_var as tipo_de_dato: Dim es la palabra reservada que reserva el espacio en la memoria RAM para la variable. Nombre_var es el nombre que se le da a la variable (no debe comenzar con números, ni contener caracteres especiales ni espacios en blanco) Tipo_de_dato es el tipo de dato que se le asigna a la variable (integer, string, doublé, etc) También se puede utilizar la declaración implícita (sin usar dim) y utilizar la variable justo en el momento que se declara. Por ejemplo Cedula$=”15069973” Esta instrucción crea la variable “Cedula” de tipo cadena (el símbolo $ significa que se declara como una cadena de caracteres) y luego, se asigna el valor de una cédula cualquiera. El símbolo (%) significa “entero”, mientras que el símbolo (#) significa “doublé”. Puede revisar la ayuda de Visual Basic 6 par mayores detalles. ADICIÓN DEL CÓDIGO 1. Para agregar el código a un objeto, se debe clickear sobre dicho objeto y luego, aparecerá el editor de código. Allí se muestra una lista con los objetos del formulario (en el lado izquierdo) y los eventos que puede soportar (en el lado derecho). 2. Ingresemos en el código del objeto cmdCerrar haciendo doble click sobre el botón Cerrar Al hacer esto, se mostrará la ventana código asociada a dicho botón. Es de hacer notar que en la lista superior izquierda aparece el nombre del objeto y en la derecha el evento que estaremos programando (en este caso: click), También aparecen unas líneas de código automáticas que indican inico y fin de un procedimiento asociado al objeto cmdCerrar, específicamente el evento click. Dichas líneas no deben borrarse.
  • 9. 9 3. Ubiquese debajo de la palabre Private y pegue allí el siguiente código: End Y luego, cierre dicha ventana La instrucción End implica que cuando el usuario haga click sobre el botón Cerrar del formulario, se terminará por completo la ejecución del programa. 4. Es el momento de ingresar el código de los botones cmdNuevo y cmdEditar. Private Sub cmdNuevo_Click() 'Primero se activan todos los cuadros de texto 'porque escribiremos sobre ellos los valores que les asignaremos 'a los campos de la tabla ALUMNOS Me.txtApellido.Enabled = True Me.txtCedula.Enabled = True Me.txtDireccion.Enabled = True Me.txtNombre.Enabled = True Me.txtTelefono.Enabled = True 'Cuando comienza la creación, sólo se podrán Guardar o Cancelar los cambios 'Por eso cmdCancelar y cmdGuardar se activan 'Y el resto de los Botones de comando, se desactivan... Me.cmdGuardar.Enabled = True Me.cmdCancelar.Enabled = True Me.cmdBuscar.Enabled = False Me.cmdCerrar.Enabled = False Me.cmdEditar.Enabled = False Me.cmdNuevo.Enabled = False Me.cmdEliminar.Enabled = False End Sub Para el botón Editar, inserte el siguiente código: (Doble click sobe el botón cmdEditar) Private Sub cmdEditar_Click() 'Verifica que se esté mostrando un reg en pantalla... 'Si se está mostrando un registro, el texbox cedula tiene algún valor... If Me.txtCedula.Text = "" Then 'Si no es así, muestra un error MsgBox "Debe cargar un registro para modificarlo", vbCritical Exit Sub End If 'Activa los cuadros de texto porque estamos editando... Me.txtApellido.Enabled = True Me.txtCedula.Enabled = True Me.txtDireccion.Enabled = True Me.txtNombre.Enabled = True Me.txtTelefono.Enabled = True 'Desactiva todos los Botones de comando, 'dejando activos solamente cmdGuardar y cmdCancelar 'porque al editar sólo se pueden salvar o cancelar los cambios... Me.cmdBuscar.Enabled = False Me.cmdCerrar.Enabled = False Me.cmdEditar.Enabled = False Me.cmdNuevo.Enabled = False Me.cmdEliminar.Enabled = False Me.cmdGuardar.Enabled = True Me.cmdCancelar.Enabled = True End Sub 5. Cierre las ventanas de edición de código y haga doble click sobre el objeto cmdBuscar del formulario 6. Es el momento de ingresar el código del botón cmdBuscar que se indica a continuación:
  • 10. 10 Private Sub cmdBuscar_Click() Dim cedula As String 'Declara la variable cedula como cadena... 'Muestra un cuadro de mensaje solicitando la cédula que desea buscar... 'Y lo asigna a la variable cedula cedula = InputBox("Ingrese la Cédula a Buscar") 'Si la variable no contiene nada, se muestra un error 'Y sale de este procedimiento... If Trim(cedula) = "" Then MsgBox "La cédula ingresada es inválida", vbCritical Exit Sub End If 'Pero si el usuario ingresa una cédula, 'Abre un RecordSet y verifica si existe... rst.CursorLocation = adUseClient 'Siempre se coloca para que el RecordCount funcione correctamente 'Esta instrucción abre un recordset que es una colección de registros de una o varias tablas... rst.Open "SELECT * FROM alumnos WHERE cedula='" + Trim(cedula) + "'", db, adOpenDynamic, adLockOptimistic If rst.RecordCount > 0 Then 'Si ha encontrado alguna coincidencia... Me.txtApellido = rst!apellido 'Asigna los valores a los cuadros de texto Me.txtCedula = rst!cedula Me.txtDireccion = rst!Dir Me.txtTelefono = rst!telf Me.txtNombre = rst!nombre Else 'De lo contrario, muestra un mensaje de que no se encontró ningun registro MsgBox "No se encontró el alumno con esta cédula", vbCritical End If rst.Close End Sub Veamos lo que hemos hecho hasta ahora… El botón nuevo activa todos los cuadros de texto para que el usuario pueda teclear la cédula, nombre, apellido, etc del alumno que está registrando. Dado que está “creando” un nuevo registro, sólo se podrán Guardar los cambios o Cancelarlos, de allí que sólo se dejan activos los botones cmdGuardad y cmdCancelar, mientras que cmdNuevo, cmModificar, cmdBuscar, cmdEliminar y cmdCerrar se desactivan. Lo mismo ocurre cuando se presiona el botón Modificar ya que se está tratando de editar registros. La única diferencia notoria es el hecho de que para poder editar, el usuario debe haber buscado un registro primeramente y luego, con los datos del mismo en el formulario, presionar editar, es decir, obligatoriamente debe estarse visualizando un registro en la pantalla. Por esta razón se verifica primero si el txtCedula.text tiene algún valor, porque esto indica que se ha cargado previamente un registro para su modificación. Nótese la utilización de la estructura condicional if que sirve para tomar una decisión en base al resultado de una condición… Por ejemplo; si el txtcedula.text tiene “algo”, entonces, continuar, de lo contrario, mostrar un error. En cuanto al botón cmdBuscar, lo primero que se realiza pedirle al usuario cuál cédula desea buscar. Para ello, se utiliza la función InputBox que muestra un cuadro de mensaje con una región editable. Allí, el usuario escribirá la cédula a buscar y luego, se buscará en la tabla de alumnos si existe alguna coincidencia con el valor ingresado. La función InputBox() Muestra un mensaje en un cuadro de diálogo, espera que el usuario escriba un texto o haga clic en un botón. InputBox(mensaje[, titulo])