L.I Gerardo Francisco Galicia Martínez
Introducción
Este cuaderno de prácticas recopila ejercicios realizados en la materia de Programación de base de datos así como una guía rápida en el manejo del lenguaje de programación Visual Basic 6.0, el cual pertenece a la suite de Visual Studio 6.0. Cada Ejercicio ha sido elaborado para darle al alumno las herramientas necesarias para conocer y manejar el lenguaje con una gran soltura en el menor tiempo posible. Cada ejercicio consta de la siguiente estructura. -
Planteamiento de un problema exponiendo y detallando la mayor parte de elementos para una fácil comprensión La resolución del problema utilizando comentarios e imágenes para un mejor aprendizaje. Propuestas para realizar cambios al programa resultante a fin de afianzar los conocimientos adquiridos.
De esta manera se estará trabajando a lo largo del curso, resolviendo ejercicios de complejidad gradual con el objetivo de que cada alumno se interese en este importante lenguaje de programación y adquiera bases firmes para el desarrollo de múltiples aplicaciones. Sin más preámbulo ni rollos vamos a lo que realmente nos interesa que es el aprendizaje de este excitante lenguaje de programación.
Agradecimientos a todos mis alumnos y éxito en el viaje.
Prof.Gerardo Galicia.
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
Acerca de Visual Basic.
Visual Basic 6.0 es un lenguaje de programación visual, también llamado lenguaje de 4ª generación. Esto quiere decir que un gran número de tareas se realizan sin escribir Código, simplemente con operaciones gráficas realizadas con el ratón sobre la pantalla. Elementos de una aplicación del entorno Windows
Formularios y controles. En la terminología de Visual Basic 6.0 se llama formulario (form) a una ventana. Un formulario puede ser considerado como una especie de contenedor para los controles (Eje. cajas de texto, botones, cuadros combinados, botones de opción entre otros). Ver fig. 1
Formulario
Controles
Fig. 1 Muestra algunos controles encerrado en el recuadro rojo y el contenedor de estos es llamado formulario.
Nombre de controles y objetos En principio cada objeto de Visual Basic 6.0 debe tener un nombre, por medio del cual se hace referencia a dicho objeto. Existe una convención ampliamente aceptada que es la siguiente: se utilizan siempre tres letras minúsculas que indican el tipo de control, seguidas por otras letras (la primera mayúscula, a modo de separación) libremente escogidas por el usuario, que tienen que hacer referencia al uso que se va a dar a ese control. La Tabla 1 muestra las abreviaturas de los controles más usuales, junto con la nomenclatura inglesa de la que derivan. En este mismo capítulo se verán unos cuantos ejemplos de aplicación de estas reglas para construir nombres.
Prácticas de Visual Basic 6.0
1
Realizado por: Gerardo Francisco Galicia Martínez
Abreviatura chk cmd drv frm hsb lbl lst opt shp tmr
Control check box command button drive list box form horizontal scroll bar label list option button shape timer
Programación de base de datos
Abreviatura cbo dir fil fra img lin mnu pct txt vsb
Control combo box dir list box file list box frame image line menú picture box text edit box vertical scroll bar
Tabla 1. Abreviatura para los controles más usuales
Eventos Ya se ha dicho que las acciones del usuario sobre el programa se llaman eventos. Son eventos típicos el clicar sobre un botón, el hacer doble clic sobre el nombre de un fichero para abrirlo, el arrastrar un icono, el pulsar una tecla o combinación de teclas, el elegir una opción de un menú, el escribir en una caja de texto, o simplemente mover el ratón.
Métodos
Los métodos son funciones que también son llamadas desde programa, pero a diferencia de los procedimientos no son programadas por el usuario, sino que vienen ya pre-programadas con el lenguaje. Los métodos realizan tareas típicas, previsibles y comunes para todas las aplicaciones. De ahí que vengan con el lenguaje y que se libere al usuario de la tarea de programarlos. Cada tipo de objeto o de control tiene sus propios métodos.
Proyectos y ficheros Cada aplicación que se empieza a desarrollar en Visual Basic 6.0 es un nuevo proyecto. Un proyecto comprende otros componentes más sencillos, como por ejemplo los formularios (que son las ventanas de la interface de usuario de la nueva aplicación) y los módulos (que son conjuntos de funciones y procedimientos sin interface gráfica de usuario). Icono de un formulario *.frm
Icono de un módulo de clase *.cls
Icono de un proyecto *.vbp
Icono de un módulo *.bas
Prácticas de Visual Basic 6.0
2
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
El IDE (Entorno de desarrollo integrado) de Visual Basic 6.0 Cuando se arranca Visual Basic 6.0 aparece en la pantalla una configuración similar a la mostrada en la Figura 2. En ella se pueden distinguir los siguientes elementos:
1y2
3
4
5
6
7 Fig2. Entorno de desarrollo integrado de Visual Basic 6.0
1 y 2 Barra de Menús y Herramientas.- Aparecen en el entorno de Visual Basic en tiempo de diseño.
3 Caja de Herramientas (toolbox).- Cuenta con los controles disponibles del lenguaje de programación 4 Formulario.- Por defecto nos parece esto contendor para ir situando los controles 5 Ventana de proyecto.- Muestra los formularios y otros módulos programas que forman parte de la aplicación 6.-Ventana de propiedades.- Muestra seleccionado o del propio formulario
las
propiedades
del
objeto
7.-Ventana FormLayout.- Permite determinar la forma en que se abrirá la aplicación cuando comience a ejecutarse. Prácticas de Visual Basic 6.0
3
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
Existen otras ventanas para edición de código (Code Editor) y para ver variables en tiempo de ejecución con el depurador o Debugger (ventanas Immediate, Locals y Watch). Todo este conjunto de herramientas y de ventanas es lo que se llama un entorno integrado de desarrollo o IDE (Integrated Development Environment). Ver fig.3
1
2
3
4
5
Fig. 3 Otras ventanas de nuestro entorno de programación
1 Lista de Objetos.- En esta lista combinada se encuentras los nombres de todos los objetos que forman parte del proyecto. 2 Lista de Eventos.- Aquí están presentes todos los eventos disponibles para cada objeto, cabe aclarar que hay objetos que poseen eventos diferentes a otros. 3 Editor de código.- En este espacio se escribirá el código que controlara el comportamiento de cada objeto, módulo o módulo de clase. 4 y 5 la ventana Locals y Watches.- Se utilizan para depurar nuestro código, mostrándonos el contenido que se genera en las variables y expresiones declaradas. Prácticas de Visual Basic 6.0
4
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
Práctica 1: Guardar un proyecto y otros elementos en Visual Basic. Objetivo de la Práctica El alumno aprenderá a añadir diferentes elementos a un proyecto en Visual Basic, tales como formularios, módulos y módulos de clases. Procedimiento: 1.- Abrir el entorno de programación Visual Basic 6 2.- Añadir un formulario, un modulo y un módulo de clase utilizando el menú Project o desde el ícono de la barra de herramientas Add Form . Este menú nos muestra los elementos que podemos agregar a nuestro proyecto, en esta práctica añadiremos un formulario (Form), un módulo(Module) y un módulo de clase(Class Modulo). Al dar clic a una opción aparecerá el siguiente cuadro de dialogo.
Podemos elegir entre un nuevo elemento o uno que se encuentre en otro proyecto. -
Si hemos considerado los pasos anteriores nuestra ventana de proyectos debería lucir de la siguiente manera.
Prácticas de Visual Basic 6.0
5
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
3.-Crear una carpeta para guardar el proyecto realizado, es importante mencionar que hay que elegir una sola carpeta por cada proyecto creado, de esa manera evitaremos problemas al abrir posteriormente nuestros trabajos. 4.-Ahora vamos a guardar nuestros elementos, en nuestro caso como es un proyecto nuevo podemos hacerlo dándole clic al botón guardar O por medio del menú file-save project. Aparece el siguiente cuadro de dialogo
5.- Utilizaremos los nombres ProyectoPrueba para el proyecto, ClasePrueba para el módulo de clases ModuloPrueba para el módulo y Formario1 y 2 para los formularios.
Nota: El cuadro combinado Tipo, nos indica que elemento estamos guardando, recordar que el *.vbp para los proyectos, *.cls es para módulos de clases el *.bas para módulos y el *.frm para los formularios.
Ejercicio 1. Ejecuta Visual Basic y añade el módulo que se generó en la práctica anterior posteriormente crea una carpeta y guarda el proyecto, el formulario y el módulo que añadiste a tu proyecto.
Prácticas de Visual Basic 6.0
6
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
Práctica 2: Los Botones de comando. Objetivo de la práctica El alumno conocerá las características de los botones de comandos así como su uso dentro de las aplicaciones de visual basic. Procedimiento: 1.- Abrir un nuevo proyecto de Visual Basic. 2.- Agregar 7 botones de comandos -
6 de ellos tendrán las dimensiones de 615 twips de alto(Height) y 1215 twins de ancho(Width). 1 de ellos tendrá 1215 twips de alto y 2295 de ancho. Cada botón tendrá las siguientes propiedades
-
Name cmdColor cmdCaption cmdEnable cmdDisable cmdReturn cmdExit cmdShow El formulario deberá
Caption Style Color 0-Standard Texto 0-Standard Habilitar 0-Standard Deshabilitar 0-Standard Regresar 0-Standard Salir 0-Standard … 1-Graphical lucir de la siguiente manera.
3.-Daremos doble clic sobre el botón de color Prácticas de Visual Basic 6.0
7
Realizado por: Gerardo Francisco Galicia Martínez
-
Programación de base de datos
Esta acción nos mandará al editor de código el cual por defecto ya tendrá algunos líneas tales como. Private Sub cmdColor_Click() End Sub
-
Entre estas líneas de código escribiremos lo siguiente. Private Sub cmdColor_Click() cmdShow.BackColor = vbBlue End Sub
Nota: al escribir cmdShow y poner el punto aparece una lista la cual contiene los métodos y propiedades que posee ese objeto. 4.- Repetiremos la acción para los demás botones, damos doble clic sobre cada uno de ellos para acceder al editor de código con su respectivo procedimiento. - Para el botón Texto (cmdCaption) Private Sub cmdCaption_Click() cmdShow.Caption = "Mostrar" End Sub - Para el botón Habilitar(cmdEnable) Private Sub cmdEnable_Click() cmdShow.Enabled = True End Sub - Para el botón Deshabilitar(cmdDisable) Private Sub cmdDisable_Click() cmdShow.Enabled = False End Sub - Para el botón Regresar(cmdReturn) Private Sub cmdReturn_Click() cmdShow.BackColor = &H8000000F cmdShow.Caption = "..." cmdShow.Enabled = True End Sub - Para el botón Regresar(cmdExit) Private Sub CmdExit_Click() End End Sub 5.- Ahora vamos a ejecutar la aplicación utilizando el menú run-start, otra forma es presionando la tecla de función f5 o el botón de play de la barra de herramientas.
Prácticas de Visual Basic 6.0
8
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
6.- Y por último guardamos la aplicación en una carpeta creada con anterioridad. Ejercicio 2: De la práctica anterior vas a retomar el proyecto y agregarás 6 botones más con los caption(Alto, Ancho, Arriba, Abajo, Visible e Invisible) programarás cada uno de los botones de modo que al presionar el botón de “Alto” modifique la altura de el botón mostrar(cmdShow) así como su anchura con el botón de “Ancho”, también la posición al presionar Arriba y abajo y desaparecerlo y aparecerlo con Visible e Invisible. El formulario tendrá el siguiente aspecto.
Práctica 3: El control Label Objetivo de la práctica El alumno conocerá las propiedades, métodos y eventos más importantes de las etiquetas, para su correcto uso en aplicaciones Visual Basic. Procedimiento: 1.- Abrir un nuevo proyecto de Visual Basic y agregar al formulario 4 etiqueta y 7 botones de comandos con las siguientes propiedades y valores. Name Caption lblMensaje Mostrar fecha y hora del sistema lblFecha Dar doble clic para mostrar la fecha lblHora Dar un clic para mostrar la hora lblMuestra Texto de muestra para las propiedades cmdNegrita Negrita cmdCursiva Cursiva cmdSubrayado Subrayado Prácticas de Visual Basic 6.0
9
Realizado por: Gerardo Francisco Galicia Martínez
Name cmdTamaño cmdFuente cmdTachado cmdNormal -
Programación de base de datos
Caption Tamaño Fuente Tachado Normal
Nuestro formulario debe lucir de la siguiente manera.
2.-Ahora programaremos los objetos que se encuentran en el formulario comenzando con lblFecha en el evento doble clic. Private Sub lblFecha_DblClick() MsgBox "La Fecha es " & Date End Sub -
-
-
El objeto lblHora en el evento clic Private Sub lblHora_Click() MsgBox "La hora es " & Time End Sub El objeto cmdNegrita en el evento clic Private Sub cmdNegrita_Click() lblMuestra.FontBold = True End Sub El objeto cmdCursiva en el evento clic Private Sub cmdCursiva_Click() lblMuestra.FontItalic = True End Sub
Prácticas de Visual Basic 6.0
10
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
-
El objeto cmdSubrayado en el evento clic Private Sub cmdSubrayado_Click() lblMuestra.FontUnderline = True End Sub - El objeto cmdTamaño en el evento clic Private Sub cmdTamaño_Click() Dim valor As Integer On Error Resume Next valor = InputBox("Introduzca el tamaño de la letra", "Tamaño de la letra") lblMuestra.FontSize = valor End Sub - El objeto cmdFuente en el evento clic Private Sub cmdFuente_Click() Dim tipo As String On Error Resume Next tipo = InputBox("Introduzca el nombre de la fuente", "Nombre de la letra") lblMuestra.FontName = tipo End Sub - El objeto cmdTachado en el evento clic Private Sub cmdTachado_Click() lblMuestra.FontStrikethru = True End Sub - El objeto lblNormal en el evento clic Private Sub cmdNormal_Click() lblMuestra.FontBold = False lblMuestra.FontItalic = False lblMuestra.FontStrikethru = False lblMuestra.FontUnderline = False lblMuestra.FontName = "MS Sans serif" lblMuestra.FontSize = 8 End Sub Ejercicio 3 Abre un nuevo proyecto y poner 5 etiquetas practicar sobre ellas las propiedades Font, BackColor y ForeColor, de forma directa o por medio de botones de comandos. Práctica 4: Las cajas de Texto. Objetivo El alumno aprenderá la importancia de los controles cajas de texto, para recoger información por el dispositivo de entrada más común como lo es el teclado, así como sus propiedades, métodos y eventos más importantes. Prácticas de Visual Basic 6.0
11
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
Procedimiento: 1.- Abrimos un nuevo proyecto en Visual Basic y agregamos 6 etiquetas y le pones a cada uno el name que gustes. 2.- También agregamos 6 cajas de textos con las siguientes características Name txtApariencia txtPassword txtMax txtMultilinea
Propiedad Appereance PasswordChar MaxLength Multiline ScrollBars
Valor 0-Flat * 5 True 2-Vertical
txtMayuscula txtEnter -
Para todas las cajas de textos la propiedad Text quedara en blanco. La apariencia del formulario resultante será el siguiente.
6.- Los únicos objetos que van a tener código son txtMayuscula, txtEnter y el botón de salir. -
Para el objeto txtMayuscula se va a programar el evento keypress Private Sub txtMayuscula_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) End Sub
Prácticas de Visual Basic 6.0
12
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
Se explica esta línea de código de la siguiente manera: sabiendo que en la mayoría de los lenguajes cuando se utilizan paréntesis los que se ejecutan primero son los más internos, la primer instrucción que se ejecuta es Chr(KeyAscii), si notamos el parámetro KeyAscii es de tipo Integer por lo tanto al presionar una tecla esta es convertida en su valor Ascii, es decir si presionamos la tecla “a” el valor que se recibe es 97, la función Chr se encarga de convertir ese valor 97 a una letra o carácter. Después tenemos la función Ucase(derivado de UpperCase) esta función se encarga de convertir ese carácter en Mayúscula y por último tenemos la función Asc que se encarga de convertir nuevamente en Ascii el carácter resultante, recordemos que “A” y “a” tienen valores Ascii distintos. -
Ahora vamos a agregar código al objeto txtEnter en el evento keyDown Private Sub txtEnter_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then cmdSalir.SetFocus End If End Sub Explicamos el código KeyCode va a contener el código de la tecla que nosotros hayamos tecleado en este caso nos interesa el valor de la tecla enter a la cual le pertenece el valor de 13, después realizamos una comparación entre la el valor del parámetro y un valor constante en este caso vbKeyReturn si se cumple la condición mandamos el enfoque al botón de salir por medio del método SetFocus. 7.- Programamos el botón de salir y ejecutamos la aplicación. Ejercicio 4: Abrir un nuevo proyecto y agregar algunos elementos para darle la siguiente apariencia. en el caso de las cajas de texto de nombre y apellido se validarán de modo que solo acepten letras, para el texto edad se validarán para que sólo acepte número y en la caja de texto teléfono aceptará números y guiones. Cada caja permitirá moverse a la siguiente por medio del enter. Para el botón de aceptar se validaran que todas las cajas tengan datos de lo contrario mandara un mensaje de que existen cajas sin datos.y para el botón salir se programará el término de la aplicación. Práctica 5: Los botones de opción y verificación. Objetivo Prácticas de Visual Basic 6.0
13
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
En esta práctica el alumno aprenderá la importancia y utilidad de los botones de opción llamados también option button y los botones de verificación conocidos también con el nombre de check button a fin de darle mayor flexibilidad a las aplicaciones visuales. Procedimiento: 1.- Crear un nuevo proyecto en visual basic. 2.- agregar al formulario los siguientes controles: Name fraColor fraFuentes optCara optRojo optAmarillo optAzul chkNegrita chkCursiva chkSubrayado chkTachado lblMuestra cmdSalir
Caption Color Fuentes Cara del botón Rojo Amarillo Azul Negrita Cursiva Subrayado Tachado Muestra Salir
-
El formulario deberá lucir de la siguiente manera.
-
Cabe mencionar que los Frames sirven como agrupadores para los option y check button.
Prácticas de Visual Basic 6.0
14
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
3.- Ahora programaremos los option button de la aplicación comenzando por el botón con el texto “Cara del boton”, recordemos que hay que dar doble clic sobre el botón a programar. Private Sub optCara_Click() lblMuestra.BackColor = vbButtonFace End Sub - Botón rojo Private Sub optRojo_Click() lblMuestra.BackColor = vbRed End Sub - Botón Amarillo Private Sub optAmarillo_Click() lblMuestra.BackColor = vbYellow End Sub - Botón Azul Private Sub optAzul_Click() lblMuestra.BackColor = vbBlue End Sub 4.- El siguiente paso sera el programar los botones de verificación(check button). - Botón de negrita Private Sub chkNegrita_Click() If chkNegrita.Value = 1 Then lblMuestra.FontBold = True Else lblMuestra.FontBold = False End If End Sub - Botón de cursiva Private Sub chkCursiva_Click() If chkCursiva.Value = 1 Then lblMuestra.FontItalic = True Else lblMuestra.FontItalic = False End If End Sub - Botón de subrayado Private Sub chkSubrayado_Click() If chkSubrayado.Value = 1 Then lblMuestra.FontUnderline = True Else lblMuestra.FontUnderline = False Prácticas de Visual Basic 6.0
15
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
End If End Sub - Botón de tachado Private Sub chkTachado_Click() If chkTachado.Value = 1 Then lblMuestra.FontStrikethru = True Else lblMuestra.FontStrikethru = False End If End Sub 5.- Ahora programamos el botón de Salir y ejecutamos la aplicación.
Ejercicio 5: Realizar un proyecto que ejecute operaciones matemáticas simples, nuestro formulario de trabajo contendrá 3 cajas de texto, dos para poder insertar los operandos y una que recogerá el resultado de la operación. También tendrá un frame que servirá de contenedor a los cuatros botones de opciones que contendrán el texto, suma, resta, multiplicación y división, el formulario tendrá el siguiente aspecto.
Validaremos las dos cajas de textos que recogen los operandos de modo que solo acepte números.
Prácticas de Visual Basic 6.0
16
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
Práctica 6: Las Cajas de Listas (ListBox) Objetivo Conocer las propiedades de las cajas de lista, así como sus eventos más importantes, con la finalidad de agregarlos a los proyectos de Visual Basic. Procedimiento: 1.- Crear un nuevo proyecto en Visual Basic 2.- Agregar los siguientes controles al formulario Name lblNuevo txtNuevo lstLista cmdAgregar cmdEliminar -
Caption Nuevo Elemento
&Agregar &Eliminar
El aspecto del formulario deberá ser el siguiente:
3.- Ahora programamos el botón de agregar, verificando que la caja de texto no se encuentre en blanco de lo contrario mandara en enfoque nuevamente a esta, el código utilizado para este botón es el siguiente. Private Sub cmdAgregar_Click() If txtNuevo.Text <> "" Then lstLista.AddItem txtNuevo.Text txtNuevo.Text = "" txtNuevo.SetFocus End If Prácticas de Visual Basic 6.0
17
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
txtNuevo.SetFocus End Sub. - El código para el botón de eliminar es el siguiente. Private Sub cmdEliminar_Click() On Error Resume Next lstLista.RemoveItem lstLista.ListIndex End Sub 4.- Por último ejecutamos nuestra aplicación y probamos su funcionamiento. Ejercicio 6: Ahora agregaremos algunos elementos más a nuestra reciente aplicación tales como otra etiqueta, una caja de texto y un botón de comando con los nombres siguientes: name caption lblTotal Total: txtTotal cmdBorrarLista &Borrar Lista Ahora nuestro formulario lucirá de la siguiente manera.
Cada vez que presionemos el botón de agregar en el cuadro texto total aparecerá el número de elementos que contiene la lista, caso contrario, al presionar el botón eliminar ya que valor que contiene la caja, sufrirá un descuento y al presionar el botón de borrar lista, todos los elementos desaparecerán. Los métodos utilizados para la resolución de este ejercicio son clear y ListCount.
Prácticas de Visual Basic 6.0
18
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
Práctica 7: Las cajas combinadas (ComboBox) Objetivo El alumno conocerá la importancia que tienen las cajas combinadas en cualquier aplicación de Visual Basic. Procedimiento 1.- Abrir un nuevo proyecto en Visual Basic. 2.-Inserte una etiqueta y debajo de la etiqueta una caja combinada tal y como se muestra en la siguiente imagen:
3.- Dentro del evento Load del formulario escriba: Private Sub Form_Load() Dim i As Integer For i = 1 To 30 cboNumeros.AddItem i Next i End Sub 4.- Corra la aplicación y haz clic con al botón con la flecha abajo podrás observar que se han agregado los números del 1 al 30. Ejercicio 7: Abra un nuevo proyecto y agregue dos caja combinada una que guarde los estados de México y otra que guarde los días de la semana.
Prácticas de Visual Basic 6.0
19
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
Práctica 8: Uso de los controles relacionados con ficheros y el Image Objetivo: En esta practica, se manejarán 4 controles que podrán darle una mejora a cualquier aplicación en Visual Basic, el alumno aprenderá los métodos y eventos más relevantes, para su incursión en los proyectos. Procedimiento: 1.- Abra un nuevo proyecto 2.- Modifique el tamaño del formulario con los siguientes valores en las propiedades Height=6915 y Width=9135. 3.- Inserte un control Frame y dentro de este coloque un control DriveListBox, un DirListBox y un FileListBox, coloque debajo de estos tres controles dos botones de comando. (Observa la imagen). 4.-Inserta a la derecha otro control Frame y dentro un control Image. (Observa la imagen). 5.- En la esquina inferior derecha coloque un botón de comando. (Observa la imagen).
Prácticas de Visual Basic 6.0
20
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
6.- Establece los siguientes valores en las propiedades indicadas de cada control: Control Form1 Frame1 Frame2 Command1 Command2 Command3 Image1
Propiedad Caption BorderStyle StartUpPosition caption caption caption caption caption Appearance BorderStyle
7.-Haz doble clic sobre el control DriveListBox escribe.
Valor Explorador de imágenes 1 - FixedSingle 2 - CenterScreen
<<&Anterior &Siguiente>> Salir 0 – Flat 1 - FixedSingle y dentro del evento Chance
Private Sub Drive1_Change() On Error Resume Next 'en caso de que cualquier unidad tenga error ‘ hace que la lista mostrada sea de la unidad seleccionada Dir1.Path = Drive1.Drive End Sub 8.-Haz Doble clic sobre el control DirListBox y dentro del evento Chance escribe. Private Sub Dir1_Change() On Error Resume Next File1.Path = Dir1.Path ‘Muestra los archivos de la carpeta selecciona End Sub 9.-Haz Doble clic sobre el control FileListBox y dentro del evento Click escribe. Private Sub File1_Click() On Error Resume Next 'Coloca la imagen seleccionada en el control Image Image1.Picture = LoadPicture(File1.Path & "\" & File1.FileName) 'pone la información de la imagen en el frame Frame2.Caption = "Imagen mostrada: " & File1.FileName End Sub 10.- Dentro del botón de comando <
> escribe: Private Sub Command2_Click() Prácticas de Visual Basic 6.0
21
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
On Error Resume Next ‘en caso de que la lista este vacía o se llegue al final File1.Selected(File1.ListIndex + 1) = True End Sub 12.- Haz doble clic sobre cualquier parte del formulario y en el evento Load escribe. Private Sub Form_Load() File1.Pattern = "*.bmp;*.jpg;*.gif" Image1.Stretch = True End Sub 13.- Ejecuta la aplicación y comprueba su funcionamiento. Práctica 9: Uso del control CommonDialog Objetivo: EL alumno aprenderá el uso de este importante control para agregarlo a sus aplicaciones visuales.
Procedimiento: 1.- Abra un nuevo proyecto 2.- Modifique el tamaño del formulario con los siguientes valores en las propiedades Height=6915 y Width=9135. 3.-Agregar un control Image, dos botones de control una caja de texto y dos controles commandDialog. (Ver imagen).
Prácticas de Visual Basic 6.0
22
Realizado por: Gerardo Francisco Galicia Martínez
-
Programación de base de datos
El componente commonDialog no aparece en la caja de herramientas como un componente estándar por lo tanto hay que agregarlo haciendo clic en el menú Project - components o con la combinación de teclas ctrl + t y allí seleccionamos el componente. (Ver imagen).
4.- Establece los siguientes valores en las propiedades indicadas de cada control:
Control Form1 Command1 Command2 Text1 Image1
Propiedad Caption BorderStyle StartUpPosition caption caption MultiLine ScrollBars Appearance BorderStyle
Valor Explorador de imágenes 1 - FixedSingle 2 - CenterScreen Buscar Fuente True 2.-Vertical 0 – Flat 1 - FixedSingle
5.- Dar doble clic al botón de Buscar y escribir el siguiente código Private Sub Command1_Click() CommonDialog1.Filter = "Archivos de imagen(*.BMP)|*.bmp|Archivos de imagen(*.JPG)|*.jpg" CommonDialog1.ShowOpen Image1.Picture = LoadPicture(CommonDialog1.FileName) End Sub 6.- Dar doble clic sobre el botón de fuente y escribir el siguiente código Private Sub Command2_Click() On Error Resume Next CommonDialog2.Flags = cdlCFEffects Or cdlCFBoth Prácticas de Visual Basic 6.0
23
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
CommonDialog2.ShowFont 'Asigna a la caja de texto el tipo de letra seleccionada en el cuadro de dialogo. Text1.FontName = CommonDialog2.FontName 'Asigna a la caja de texto el tamaño de letra seleccionado en el cuadro de dialogo. Text1.FontSize = CommonDialog2.FontSize 'Si el usuario seleccionada negrita se asigna a la caja. Text1.FontBold = CommonDialog2.FontBold 'Si el usuario selecciona cursiva se asigna a la caja. Text1.FontItalic = CommonDialog2.FontItalic 'Si el usuario selecciona subrayado se asigna a la caja. Text1.FontUnderline = CommonDialog2.FontUnderline 'Si el usuario selecciona tachado se asigna a la caja. Text1.FontStrikethru = CommonDialog2.FontStrikethru 'Asigna el color seleccionado al texto de la caja. Text1.ForeColor = CommonDialog2.Color End Sub 7.- Ahora damos doble clic sobre cualquier parte del formulario y escribimos en el evento load este código: Private Sub Form_Load() Image1.Stretch = True End Sub 8.- Ejecutamos la aplicación y probamos el funcionamiento.
Ejercicio 9. Realizar un proyecto en el cual se utilice el cuadro de dialogo imprimir por medio del control commonDialog. El proyecto consistirá en mandar a imprimir el contenido de un TextBox. Práctica 10. Uso de un arreglo de controles. Objetivo: Esta práctica tiene como finalidad mostrar la facilidad con la que se puede trabajar si utilizamos los controles del mismo tipo y con funciones similares bajo un mismo nombre. Procedimiento: 1.- Abre un nuevo proyecto 2.-Agregue seis cajas de texto y cuatro botones de comando, tal y como se muestra en la siguiente imagen: Prácticas de Visual Basic 6.0
24
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
3.- Para crear el Arreglo de controles debemos especificar un valor en la propiedad Index de cada caja de texto. Para esto seleccione la primera caja y en la propiedad Index escriba 1, en la misma propiedad de la segunda caja escriba 2, en la tercera caja escriba 3, en la cuarta caja escriba 4, en la quinta caja escriba 5 y en la sexta caja escriba 6. 4.- Ahora debemos asignar el mismo nombre a cada caja de texto. Para esto seleccione cada una de las cajas de texto y en su respectiva propiedad Name escriba el texto caja. 5.- En la propiedad caption del primer botón escribe Mayúscula, en el segundo botón escribe Minúscula, en la del tercer botón escribe Cambiar color, y en la del último botón escribe Borrar. 6.- Dentro del evento clic del botón Mayúscula escribe: Private Sub Command1_Click() Dim i As Integer For i = 1 To 6 Caja(i).Text = UCase(Caja(i)) Next i End Sub 7.- Dentro del evento clic del botón Minúscula escribe: Private Sub Command2_Click() Dim i As Integer For i = 1 To 6 Caja(i).Text = LCase(Caja(i)) Next i End Sub 8.- Dentro del evento clic del botón Cambiar color escribe: Private Sub Command3_Click() Dim i As Integer For i = 1 To 6 Caja(i).BackColor = vbBlue Next i Prácticas de Visual Basic 6.0
25
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
End Sub 9.- Dentro del evento clic del botón borrar escribe: Private Sub Command4_Click() Dim i As Integer For i = 1 To 6 Caja(i).Text = "" Next i End Sub 10.- Ejecuta la aplicación y verifica su funcionamiento. Práctica 11: Declaración de constantes, públicas, privada y locales Objetivo En esta práctica el alumno aprenderá a utilizar y a declarar constantes en sus tres ámbitos, públicos, privados y locales. Procedimiento: 1.- Abrir un nuevo proyecto 2.-Poner dentro del formulario 3 frame que contendrán los siguientes elementos.
3.- Vamos a agregar un módulo para declarar la constante pública - Vamos a utilizar uno de los procedimientos vistos en la práctica 1 para agregar elementos a nuestros proyectos. - El código que escribiremos será el siguiente y nuestro editor lucirá como se muestra en la imagen. Prácticas de Visual Basic 6.0
26
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
-
Ahora explico este código, la primera línea Option Explicit es una instrucción que tiene Visual Basic y que nos obliga a declarar todas las constates y variables que utilizamos en nuestros proyectos. La segunda línea inicia con la palabra Public la cual indica que una constante, variable, procedimiento o función va a ser utilizado en cualquier parte de nuestro proyecto(en cualquier formulario, procedimiento o función) la siguiente palabra Const nos va a permitir declarar nuestras constantes, recordemos que una constante no puede modificar su valor en la ejecución de un programa, y por último ponemos el nombre de la constante en nuestro caso es PI, para poder diferencias las variables de las constantes a simple vista se recomienda que las constantes se escriban en mayúsculas. 4.- Ahora damos doble clic sobre el botón Área y escribimos el siguiente código: Private Sub cmdArea_Click() On Error Resume Next Dim radio As Double radio = CDbl(txtRadio.Text) txtArea.Text = PI * radio * radio End Sub - Con este código estamos hacienda uso de la constante pública PI la cual fue declarada en el módulo. 5.-Ahora vamos a escribir nuestra variable Privada la cual servirá para nuestra segunda parte de la práctica. - Damos doble clic sobre cualquier parte del formulario y utilizando la barra de desplazamiento vertical nos posicionamos hasta el inicio de nuestro editor, como existen ya algunas líneas de código las desplazamos hacia abajo presionando un par de enter, si aparece el Option Explicit escribimos debajo nuestra constante la cual debe lucir como en la imagen, en caso contrario lo escribimos completo.
Prácticas de Visual Basic 6.0
27
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
-
Observamos que en esta ocasión ya no hemos puesto la palabra Public, se preguntaran, ¿Cuál es la diferencia entre la declaración anterior y esta?, la respuesta es, que la Constante PI esta declarada para usarse en cualquier parte del proyecto, en cambio esta declaración se reduce a que la constante pueda ser utilizado solo por los procedimiento y funciones dentro del formulario que se esta programando. 6.- Ahora damos doble clic en calcular1 y calcular2 y escribimos el código siguiente: Private Sub cmdCalcula1_Click() On Error Resume Next Dim compra As Double compra = CDbl(txtCompra1.Text) txtResCompra1.Text = compra + compra * IVA End Sub Private Sub cmdCalcula2_Click() On Error Resume Next Dim compra As Double compra = CDbl(txtCompra2.Text) txtResCompra1.Text = compra + compra * IVA End Sub - Notamos que en estos dos procedimientos estamos utilizando la constante IVA sin ningún problema, pero debemos de tener en cuenta que ambos procedimientos son del mismo formulario, nuestro problema sería si quisiéramos utilizar la constante en el procedimiento de otro formulario. 7.- Ahora para nuestra última parte del ejercicio damos doble clic sobre el botón convertir y escribimos el siguiente código. Private Sub cmdConvertir_Click() On Error Resume Next Const KILOMETRO As Double = 1.609 Dim milla As Double milla = CDbl(txtMillas.Text) txtKilometros.Text = milla * KILOMETRO End Sub - En este procedimiento estamos realizando la declaración de una constante llamada KILOMETRO, sin embargo esta constante es de ámbito local, lo cual significa que solamente va a poder ser utilizada por este procedimiento. 8.- Para finalizar ejecuta la aplicación y verifica su funcionamiento. Ejercicio 11: Agrega al formulario una copia del apartado convertir millas a kilómetros, y en botón de convertir intenta utilizar la constante KILOMETRO declarada en la Práctica original.
Prácticas de Visual Basic 6.0
28
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
Práctica 12: Uso de Variables. Objetivo: Utilizara las variables y conocerá los diferentes tipos de datos que soporta Visual Basic, así como su importancia y la aportación en cualquier proyecto. Procedimiento. 1.- Abra un nuevo proyecto. 2.- Inserte tres etiquetas, tres cajas de texto y dos botones de comando, tal y como se muestra en la siguiente figura:
3.- Aplica los siguientes valores en las propiedades indicada de los controles que se muestran en la siguiente tabla: Control Propiedad Valor AutoSize True Label1 Caption Horas Trabajadas AutoSize True Label2 Caption Precio por hora: AutoSize True Label3 Caption Sueldo Bruto: Name txtHorasTrabajada Text1 Text1 Name txtPrecioHora Text2 Locked true Text Name txtSueldoBruto Text3 text Name cmdCalcular Command1 Caption &Calcular Name cmdSalir Command2 Caption &Salir Caption Sueldo Bruto Form
Prácticas de Visual Basic 6.0
29
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
4.- Dentro del evento KeyPress de las dos primeras cajas de texto escribe el siguiente bloque de código para que solo admitan números: ‘Hace que la caja de texto solo acepte números. If Not (KeyAscii >= 48 And KeyAscii <= 57 Or KeyAscii = 8) Then KeyAscii = 0 End If 5.-Haz doble clic sobre el botón calcular y en evento Click escribe el siguiente código. Private Sub cmdCalcular_Click() 'Verificamos que las cajas no se dejen vacías. If Len(Trim(txtHorasTrabajadas.Text)) = 0 Then MsgBox ("Introduzca las horas trabajadas.") txtHorasTrabajadas.SetFocus ElseIf Len(Trim(txtPrecioHora.Text)) = 0 Then MsgBox ("Introduzca el precio por hora.") txtPrecioHora.SetFocus Else Dim horas_trabajadas As Integer ' Variable para almacenar las horas trabajadas. Dim precio_horas As Currency 'Variable para almacenar el precio por horas. Dim sueldo_bruto As Currency 'Variable para almacenar el sueldo bruto. horas_trabajadas = CInt(txtHorasTrabajadas.Text) ' Almacena las horas escrita en la caja en la ‘variable. precio_horas = CCur(txtPrecioHora.Text) 'Almacena el precio por hora escrita en la caja en la ‘variable. sueldo_bruto = horas_trabajadas * precio_horas 'Calcula el sueldo bruto. txtSueldoBruto.Text = FormatCurrency(CDbl(sueldo_bruto)) ' Escribe el sueldo bruto en la caja. End If End Sub 6.- Ejecute la aplicación y verifique el resultado. Ejercicio 12: Se requiere calcular el área de un triángulo: area = (base * altura)/2, la base y la altura deben ser introducidas mediante cajas de texto. El programa debe mostrar el área del triángulo en una caja de texto. Ejercicio 12b Se requiere calcular el volumen de una esfera: volumen = 4/3 * PI * radio
* radio * radio.
Prácticas de Visual Basic 6.0
30
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
Práctica 13: Función InputBox. Objetivo: En esta práctica el alumno aprenderá la forma rápida y sencilla de almacenar en variables datos proporcionados por el usuario. Mediante un cuadro personalizado generado por la función InputBox. Procedimiento: 1.- Abre un nuevo proyecto e inserta un botón de comando. 2.- Dentro del evento clic del botón de comando inserta Private Sub Command1_Click() ‘Se declaran las variables donde se almacenará el nombre y el apellido. Dim nombre As String Dim apellido As String ‘Permite que el usuario introduzca su nombre y lo almacena en la variable nombre. nombre = InputBox("Introduzca su nombre:", "Datos personales") ‘Permite que el usuario introduzca su apellido y lo almacena en la variable apellido. apellido = InputBox("Introduzca su apellido:", "Datos personales") ‘Muestra en una caja de mensaje el nombre completo. MsgBox ("Su nombre completo es: " & nombre & " " & apellido) End Sub 3.- Ejecute la aplicación y aparecerá el siguiente cuadro de dialogo:
4.- Escriba su nombre en la caja de texto y a continuación haga clic en Ok. 5.- Aparecerá otro cuadro de dialogo similar solicitando su apellido, escriba su apellido y haga clic en el botón Ok. 6.- Aparecerá luego en una caja de mensajes su nombre y su apellido. 7.- Guarda tu aplicación. Ejercicio 14 -
Realizar un proyecto que permita introducir 4 calificaciones, utilizando la función InputBox y determine el promedio.
-
Realizar un proyecto que permita introducir una cantidad de una compra realizada y le aplique un descuento de un 10 por ciento.
-
Realizar un proyecto que permita introducir 2 números y realice su suma
Prácticas de Visual Basic 6.0
31
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
Práctica 14: Uso de la función MsgBox Objetivo: El alumno aprenderá la importancia de la función MsgBox y su constante uso e interacción con los programas Visual Basic. Procedimiento: 1.- Abre un nuevo proyecto 2.- Agrega cuatro botones de comandos con los caption “Mensaje 1”,”Mensaje 2”, “Mensaje 3”, “Mensaje 4” 3.- El formulario debe lucir como la siguiente imgane.
4.-Damos clic en el botón Mensaje 1 y escribimos el siguiente código. Private Sub cmdMensaje1_Click() ‘Muestra un mensaje en un cuadro de diálogo sencillo con los botones Si y No, y el icono demensaje critico. Dim respuesta respuesta = MsgBox("¿Esta seguro que desea formatear su computador?", vbYesNo + vbCritical + vbDefaultButton2, "Formatear Disco") ‘Selecciona la respuesta del usuario. If respuesta = vbYes Then MsgBox ("Usted selecciono la respuesta Sí.") End If If respuesta = vbNo Then MsgBox ("Usted selecciono la respuesta No.") End If End Sub 5.-Damos clic en el botón Mensaje 2 y escribimos el código: Private Sub cmdMensaje2_Click() ‘Muestra un mensaje en un cuadro de diálogo personalizado con los botones, si, no y cancelar. ‘En el cuadro se muestra el icono de mensaje de advertencia. Dim respuesta Prácticas de Visual Basic 6.0
32
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
respuesta = MsgBox("¿Desea guardar los cambios en el documento?", vbYesNoCancel + vbExclamation + vbDefaultButton1, "Editor") ‘Selecciona la respuesta del usuario. If respuesta = vbYes Then MsgBox ("Usted selecciono la respuesta Sí.") End If If respuesta = vbNo Then MsgBox ("Usted selecciono la respuesta No.") End If If respuesta = vbCancel Then MsgBox ("Usted selecciono la respuesta Cancelar.") End If End Sub 6.-Damos clic en el botón Mensaje 3 y escribimos: Private Sub cmdMensaje3_Click() 'Muestra un mensaje en un cuadro de diálogo personalizado con los botones, Abortar, Reintentar e ‘Ignorar. En el cuadro se muestra el icono de mensaje de crítico. Dim respuesta respuesta = MsgBox("No se puede copiar el archivo.", vbAbortRetryIgnore + vbCritical, "Copiando archivo") ‘Selecciona la respuesta del usuario. If respuesta = vbAbort Then MsgBox ("Usted selecciono la respuesta Abortar.") End If If respuesta = vbRetry Then MsgBox ("Usted selecciono la respuesta Reintentar.") End If If respuesta = vbIgnore Then MsgBox ("Usted selecciono la respuesta Ignorar.") End If End Sub 7.- Para el botón Mensaje 4 escribimos Private Sub cmdMensaje4_Click() 'Muestra un mensaje en un cuadro de diálogo personalizado el botón Aceptar y Cancelar. 'En el cuadro se muestra el icono de información. MsgBox ("Los datos se almacenaron satisfactoriamente."), vbOKOnly, "Guardar" End Sub 8.- Corra la aplicación para que observe los diferentes cuadros de diálogos. Práctica 15.- La sentencia If Objetivo: En este ejercicio el alumno apreciará la funcionalidad de la sentencia if y el su uso en cualquier aplicación Visual Basic. Prácticas de Visual Basic 6.0
33
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
Procedimiento: 1.- Abra un nuevo proyecto 2.- Modifique el tamaño del formulario e inserte una etiqueta, cinco cajas de texto y dos botones de comando, tal y como se ve en la siguiente pantalla.
3.- Establezca los siguientes valores en las propiedades indicadas en cada uno de los controles mostrados en la siguiente tabla: Control Form Label1
Text1
Text2
Text3
Text4
Text5
Command1 Command2
Propiedad Caption StartUpPosition AutoSize Caption Font Name Appearance MaxLength Text Name Appearance MaxLength Text Name Appearance MaxLength Text Name Appearance MaxLength Text Name Appearance MaxLength Text Name Caption Name Caption
Valor Registro 2-CenterScreen True CD-KEY Ms Sans Serif,10,Negrita txtCaja1 0 - Flat 5 txtCaja2 0 - Flat 5 txtCaja3 0 - Flat 5 txtCaja4 0 - Flat 5 txtCaja5 0 - Flat 5 cmdRegistrar &Registrar cmdCandelar &Cancelar
4.- La ventana debe tener la siguiente apariencia:
Prácticas de Visual Basic 6.0
34
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
5.- Dentro del evento clic del botón registrar escribe el siguiente bloque de código: Private Sub CmdRegitrar_Click() Dim Clave As String Clave = "1234512345123451234512345" 'Verifica que la contraseña es igual a la que contiene las cajas. If txtCaja1.Text & txtCaja2.Text & txtCaja3.Text & txtCaja4.Text & txtCaja5.Text = Clave Then MsgBox "Contraseña Correcta.", vbInformation, "Registro" Unload Me ' Cierra esta ventana. Else MsgBox "Contraseña Incorrecta.", vbCritical, "Registro" txtCaja1.SetFocus ' Hace que la primera caja reciba el enfoque. End If End Sub 6.- Dentro del evento Chance de la primera caja escribe: Private Sub txtCaja1_Change() If Len(txtCaja1.Text) = 5 Then txtCaja2.SetFocus End If End Sub 7.- Repetimos el procedimiento para las demás cajas, verificamos que cada vez que escriban los 5 números automáticamente se pase a la siguiente caja y al llegar a la caja 5 el enfoque se le pasará al botón Registrar. Ejercicio 15: Calcular la utilidad que un trabajador recibe en el reparto anual de utilidades si este se le asigna como un porcentaje de su salario mensual que depende de su antigüedad en la empresa de acuerdo con la siguiente tabla: Tiempo Menos de un año 1 año o más y menos de 2 años 2 años o más y menos de 5 años 5 años o más y menos de 5 años 10 años o más
Prácticas de Visual Basic 6.0
Utilidad 5% del salario 7% del salario 10% del salario 15% del salario 20% del salario
35
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
Práctica 16: Los ciclos Objetivo: EL alumno comprenderá la importancia de los ciclos con la finalidad de escribir menos bloques de código. Procedimiento: 1.- Abrir un nuevo proyecto en Visual Basic 2.- Agregar 4 botones de comando con los caption For…Next, For…Step…Next, Do…Loop y While…Wend. 3.- El aspecto del formulario será el siguiente
4.- Escribe el siguiente código para el botón For…Next: Private Sub Command1_Click() Dim i As Integer Dim cadena As String cadena = "" For i = 1 To 10 cadena = cadena & i & vbCrLf Next i MsgBox cadena, vbInformation, "Ciclo For...Next" End Sub 5.- Para el botón For…Step…Next escribe: Private Sub Command2_Click() Dim i As Integer Dim cadena As String cadena = "" For i = 10 To 1 Step -1 cadena = cadena & i & vbCrLf Next i MsgBox cadena, vbInformation, "Ciclo For...Step...Next" End Sub 6.-El botón While Wend llevará el código: Private Sub Command4_Click() Dim i As Integer Dim cadena As String Prácticas de Visual Basic 6.0
36
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
cadena = "" i=1 While (i <= 10) cadena = cadena & i & vbCrLf i=i+1 Wend MsgBox cadena, vbInformation, "Ciclo While...Wend" End Sub 7.- Y por ultimo el botón Do…Loop llevará el código: Private Sub Command3_Click() Dim i As Integer Dim cadena As String cadena = "" i=1 Do cadena = cadena & i & vbCrLf i=i+1 Loop While (i <= 10) MsgBox cadena, vbInformation, "Ciclo Do Loop" End Sub 8.- Ahora ejecuta la aplicación y analiza lo realizado. Ejercicio 16: -
Realizar un proyecto en el cual se lean 50 calificaciones de un grupo de alumnos. Calcule y escriba el porcentaje de reprobados. Tomando en cuenta que la calificación mínima aprobatoria es de 70. Calcular la suma siguiente: 100+98+96+…+0 en este orden. Encontrar el menor y el mayor valor de un conjunto de n números dados.
Práctica 17: Los Menús. Objetivo: Utilizar la herramienta menús para agrupar todas las ventanas y operaciones que realizará el proyecto. Procedimiento: 1.- Abre un nuevo proyecto. 2.- Dar clic en el editor de menús 3.- Aparece la ventana de editor de menú 4.- En la caja de texto caption escribir Archivo y en el name mnuArchivo 5.- Dar clic en el boton Next 6.- Escribir en el caption Nuevo y en Name mnuNuevo 7.- Ahora dar clic al boton con flecha a la derecha de modoque aparecera ….Nuevo, eso significa que la opcion nuevo es un submenú de la opción Archivo Prácticas de Visual Basic 6.0
37
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
8.- Damos clic al botón Ok. 9.-Ahora nuestro formulario tendrá una parte superior el menú archivo damos clic, y aparecera el menú nuevo. 10.- Dar clic al menú nuevo para que aparezca el editor de código. 11.- Ingresamos el siguiente código Private Sub mnuNuevo_Click() MsgBox "Presionaste el menú nuevo" End Sub 12.- Ejecuta la aplicación y prueba su funcionamiento. Ejercicio 17 Ejecuta la aplicación block de nota y revisa cuales son las opciones del menú archivo, una vez hecho reproduce el menú en una aplicación de Visual Basic.
PRÁCTICAS PARA BASES DE DATOS A partir de ahora nuestras prácticas a realizar son enfocadas al manejo de base de datos. Los ejercicios de 1 al 17 nos sirvieron para conocer muchos elementos del lenguaje de programación Visual Basic, y estos conocimientos nos apoyarán para iniciarnos en un aspecto de la programación muy importante, cabe aclarar que existen muchísimos controles que no fueron manejados ya que al estudiar programación debemos de estar conscientes de que este es un mundo interminable, sin embargo me he preocupado para que tengas las herramientas sólidas para que puedas emprender un camino firme en esta interesante disciplina de la informática. Práctica 18: Agregar registros a una Base de Datos. Objetivo: En este ejercicio se conocerá una de las formas para añadir información a una base de datos creada en un manejador. Procedimiento: 1.- Abrimos el programa Access y creamos una base de datos llamada Prueba.mdb 2.- Creamos una tabla llamada Datos con los campos idPersona, Nombre y Dirección 3.- Guardamos la base de datos en una nueva carpeta la cual va a ser compartida por el proyecto en visual Basic. 4.- Ahora abrimos un proyecto en Visual Basic 5.- agregamos algunos controles para que nuestra ventana luzca como la siguiente imagen: Prácticas de Visual Basic 6.0
38
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
6.- el control Adodc no se encuentra en la caja de herramientas estándar por lo tanto tendremos que obtenerla de la ventana componentes (ctrl + T). 7.- Seleccionamos el componente de la lista el cual aparecerá con el nombre Microsoft ADO Data Control 6.0 (OLEDB) 8.- Ahora damos clic a cualquier lugar del formulario y en el evento Load escribimos el código: Private Sub Form_Load() On Error Resume Next Dim base As String base = App.Path & "\Prueba.mdb" adoPersona.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & base & ";Persist Security Info=False" adoPersona.RecordSource = "Datos" adoPersona.Refresh End Sub -Explico este código, la primera línea es para capturar los errores que pueda producirse al cargar el formulario, después declaro una variable donde guardaremos la ruta de la base de datos, la cual es asignada en la siguiente línea, después de eso hacemos la conexión mediante el método ConnectionString, con el método RecordSource, se carga la tabla que utilizaremos de la base de datos en este caso es “Datos” y por último actualizamos el control ADO. 9.- Ahora dar doble clic al botón Guardar y escribe el siguiente código: Private Sub cmdGuardar_Click() 'establecemos el campo clave en el recorset para 'asegurarnos de que no se repita adoPersona.Recordset.MoveFirst ‘recorremos el cursor al inicio de la tabla adoPersona.Recordset.Find "idPersona='" & txtIdPersona.Text & "'" ‘ establecemos la busqueda With adoPersona.Recordset If (.BOF = False And .EOF = False) Then ‘Verificamos si el registro buscado se encuentra MsgBox "ya se encuentra" ‘En caso de exista no permitimos que se guarde txtIdPersona.SetFocus Else .AddNew ‘Agregamos un nuevo registro a la base de datos !idPersona = txtIdPersona.Text !Nombre = txtNombre.Text !Direccion = txtDireccion.Text .Update MsgBox "Datos guardados correctamente" Prácticas de Visual Basic 6.0
39
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
txtIdPersona.Text = "" txtNombre.Text = "" txtDireccion.Text = "" txtIdPersona.SetFocus End If End With End Sub 10.- Programa el botón de Cancelar para salir de la aplicación. 11.- Pon la propiedad visible del control ADO visible en False. 12.- Ahora ejecuta la aplicación y prueba su funcionamiento. Ejercicio 18 En la práctica anterior valida las cajas de texto de modo que el campo IdPersona solo acepte números, la caja Nombre solo acepte letras y además que se pueda utilizar el enter, por otro lado modifica el código del botón guardar de modo que no puedas almacenar datos si alguno de las cajas esta en blanco. Práctica 19: Uso del control DataGrid Objetivo: Conocerás un contenedor de datos como lo es el DataGrid para tener un mejor control de los datos almacenados. Procedimiento: 1.- Abrir el proyecto de la práctica 18. 2.- Agregar el control DataGrid desde la ventana componentes. 3.- agregar el componente al formulario, haciendo una modificación al proyecto, la ventana debe lucir de esta manera:
Prácticas de Visual Basic 6.0
40
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
4.- Seleccionamos el control DataGrid y en la ventana de propiedades buscamos la que dice DataSource, de la lista desplegable elegimos el nombre del control ADO, en nuestro caso adoPersona. 5.-Damos clic derecho sobre el control DataGrid y del menú contextual que aparece elegimos la opción recuperar campos (Retrieve Fields). 6.-Damos nuevamente clic derecho sobre el control y ahora elegimos la opción propiedades. 7.- en la ficha General desactivamos la opción AllowUpdate (Permitir actualización). 8.- En la ficha Split en el cuadro combinado MarqueeStyle elegimos la opción 3 9.- Ejecutamos la aplicación y probamos su funcionamiento. Práctica 20: Modificación de los datos. Procedimiento: 1.- Abrimos el proyecto de la práctica 18 2.- Agregamos un formulario al proyecto 3.- Ahora vamos al formulario que acabamos de añadir y agregamos algunos controles para que luzca como la imagen:
4.- Dar doble clic sobre el control DataGrid del formulario 1 y escribir en el evento DblClick el siguiente código. Private Sub DataGrid1_DblClick() If DataGrid1.Columns(0) = "" Then MsgBox "No existen datos que mostrar" Exit Sub End If adoPersona.Recordset.Find "idPersona='" & DataGrid1.Columns(0) & "'" With adoPersona.Recordset If .BOF = False And .EOF = False Then Form2.txtIdPersona.Text = DataGrid1.Columns(0) Form2.txtNombre.Text = DataGrid1.Columns(1) Form2.txtDireccion.Text = DataGrid1.Columns(2) Form2.Show 1 End If End With End Sub 5.- Ahora vamos al formulario 2 y en el botón de actualizar escribimos el siguiente código: Prácticas de Visual Basic 6.0
41
Realizado por: Gerardo Francisco Galicia Martínez
Programación de base de datos
Private Sub cmdActualizar_Click() Form1.adoPersona.Recordset.MoveFirst Form1.adoPersona.Recordset.Find "idPersona='" & txtIdPersona.Text & "'" With Form1.adoPersona.Recordset If .BOF = False And .EOF = False Then !nombre = txtNombre.Text !direccion = txtDireccion.Text .Update End If End With Unload Me End Sub 6.- Ahora ejecuta la aplicación y verifica su funcionamiento. Práctica 21: Eliminación de un registro Procedimiento: 1.- Abrir el proyecto que hemos venido utilizando desde la práctica 18. 2.- dar doble clic al DataGrid y en evento keydown escribir el siguiente código. Private Sub DataGrid1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyDelete Then If MsgBox("¿Estas seguro de borrar el registro?", vbQuestion + vbYesNo, "Confirmación") = vbNo Then Exit Sub End If adoPersona.Recordset.Delete End If End Sub 3.- ejecuta la aplicación y seleccionar una fila del DataGrid presiona el botón de suprimir y verifica que sucede.
Prácticas de Visual Basic 6.0
42