programacion visual

Download Programacion Visual

If you can't read please download the document

Upload: escorpion02909310

Post on 22-Nov-2014

437 views

Category:

Documents


2 download

TRANSCRIPT

PROGRAMACIN VISUAL

GUA DEL ALUMNO SECRETARA DE EDUCACIN PBLICA SUBSECRETARA DE EDUCACIN SUPERIOR E INVESTIGACIN CIENTFICA SUBSISTEMA DE UNIVERSIDADES TECNOLGICAS COORDINACIN GENERAL DE UNIVERSIDADES TECNOLGICAS DIVISIN DE SISTEMAS ELABOR: (GRUPO DE DIRECTORES DE LA UNIVERSIDAD TECNOLGICA CARRERA DE INFORMTICA) REVIS: DE LEN FECHA DE ENTRADA EN APROB: COORDINACIN GENERAL DE VIGOR: UNIVERSIDADES TECNOLGICAS Revisin no. 0. Fecha de revisin:

MARZO 2003

Pgina

I. DIRECTORIO DR. REYES TAMEZ GUERRA SECRETARO DE EDUCACIN PBLICA

ING. EDMUNDO GUAJARDO GARZA SUBSECRETARIO DE EVALUACIN Y EDUCACIN SUPERIOR DR. ARTURO NAVA JAIMES COORDINADOR GENERAL DE UNIVERSIDADES TECNOLGICAS

RECONOCIMIENTOS M. EN C. JUAN DE DIOS VINIEGRA VARGAS UNIVERSIDAD TECNOLGICA DE LA SIERRA HIDALGUENSE

20001 PROGRAMACIN VISUAL D.R. ESTA OBRA, SUS CARACTERSTICAS Y DERECHOS SON PROPIEDAD DE LA: COORDINACIN GENERAL DE UNIVERSIDADES TECNOLGICAS (CGUT) FRANCISCO PETRARCA No. 321, COL. CHAPULTEPEC MORALES, MXICO D.F. LOS DERECHOS DE PUBLICACIN PERTENECEN A LA CGUT. QUEDA PROHIBIDA SU REPRODUCCIN PARCIAL O TOTAL POR CUALQUIER MEDIO, SIN AUTORIZACIN PREVIA Y POR ESCRITO DEL TITULAR DE LOS DERECHOS.

ISBN (EN TRMITE) IMPRESO EN MXICO.

INTRODUCCIN

La presente Gua del alumno de programacin visual, se elabor con la finalidad de complementar la parte terica con la parte prctica del curso. Los problemas presentan un grado de dificultad gradual, es decir, en cada prctica primero se comienzan con problemas muy sencillos con la finalidad de que el estudiante esclarezca dudas y quede claro en los conceptos asimilados en la teora, y luego en los problemas posteriores se va incrementando el nivel de dificultad. Esta gua explora una gran variedad de materias y contiene muchos problemas recopilados a lo largo de varios aos de experiencia. Espero que satisfaga las necesidades de los estudiantes y colegas, ya que ha sido elaborada teniendo en cuenta los objetivos de aprendizaje del curso.

GUA DE PRCTICAS N 1 Objetivos Luego de completar esta GUIA DE PRCTICAS, el estudiante ser capaz de: " Identificar los elementos del entorno integrado de desarrollo de Microsoft Visual Basic 6.0. " Aadir controles a un formulario. " Establecer las propiedades de los controles. " Trabajar con procedimientos de eventos. " Crear una aplicacin simple con Microsoft Visual Basic. Consideraciones Para el desarrollo de la presente GUIA DE PRCTICAS Ud. deber crear una carpeta C:\FundVB\Lab1, para guardar sus trabajos correspondientes. Aplicacin N 1 Elaborar una aplicacin que permita calcular el salario neto de un trabajador en funcin del nmero de horas trabajadas, pago por hora de trabajo y un descuento fijo al sueldo bruto del 20 por 100. Los clculos a efectuar para obtener el salario neto de un trabajador se muestran a continuacin: SalarioBruto = HorasTrabajadas * PagoPorHora Descuento = 0.2 * SalarioBruto SalarioNeto = SalarioBruto - Descuento El diseo de la interfaz debe ser similar a la figura mostrada:

Para el desarrollo de esta aplicacin, proceda a ubicar los siguientes controles en el formulario: 2 marcos 6 etiquetas 6 cajas de texto 3 botones de comando Una vez ubicados los controles, establezca las propiedades segn se indica: Form1 BorderStyle Nombre Caption Moveable StartUpPosition Frame1 Nombre Caption Frame2 Nombre Caption Label1 FraSalida Salida de datos: FraIngreso Ingreso de datos: 3-Fixed Dialog FrmSalarioNeto Clculo del salario neto False 2-CenterScreen

Nombre AutoSize Caption Label2 Nombre AutoSize Caption Label3 Nombre AutoSize Caption Label4 Nombre AutoSize Caption Label5 Nombre AutoSize Caption

LblApellidosNombres True Apellidos y nombres:

LblHorasTrabajadas True Horas trabajadas:

LblPagoPorHora True Pago por hora S/.

LblSalarioBruto True Salario bruto S/.

LblDescuento True Descuento S/.

Label6 Nombre AutoSize Caption Text1 Nombre Text Text2 Nombre Text Text3 TxtHorasTrabajadas TxtApellidosNombres LblSalarioNeto True Salario neto S/.

Nombre Text Text4 Nombre Text Text5 Nombre Text Text6 Nombre Text Command1 Nombre Caption

TxtPagoPorHora

TxtSalarioBruto

TxtDescuento

TxtSalarioNeto

CmdAceptar &Aceptar

Command2 Nombre Caption Command3 Nombre Caption CmdSalir &Salir CmdLimpiar &Limpiar

Luego de establecer las propiedades para los controles, debe aadir cdigo a la aplicacin. Para ello haga doble click sobre el botn Aceptar e ingrese el siguiente cdigo: Private Sub CmdAceptar_Click() Dim HorasTrabajadas As Integer, PagoPorHora As Double Dim SalarioBruto As Double Dim Descuento As Double Dim SalarioNeto As Double HorasTrabajadas = Val(TxtHorasTrabajadas) PagoPorHora = Val(TxtPagoPorHora) SalarioBruto = HorasTrabajadas * PagoPorHora

Descuento = 0.2 * SalarioBruto SalarioNeto = SalarioBruto - Descuento TxtSalarioBruto = Str(SalarioBruto) TxtDescuento = Str(Descuento) TxtSalarioNeto = Str(SalarioNeto) End Sub A continuacin haga doble click sobre el botn Salir y aada el siguiente cdigo: Private Sub CmdSalir_Click() End End Sub Guarde y luego ejecute la aplicacin que acaba de crear. Pruebe ingresando diferentes valores. Luego, haga doble click sobre el botn Limpiar y aada el siguiente cdigo: Private Sub CmdLimpiar_Click() TxtApellidosNombres = TxtHorasTrabajadas = TxtPagoPorHora = TxtSalarioBruto = TxtDescuento = TxtSalarioNeto = TxtApellidosNombres.SetFocus End Sub Guarde y ejecute su aplicacin. Cmo afecta el cdigo aadido en el botn Limpiar a la aplicacin?. Anote sus observaciones.

Aplicacin N 2 El men de un restaurante rpido se muestra a continuacin: MEN Hamburguesa Cerveza Gaseosa Ensalada Salchichas Refresco Sopa Postre PRECIO (S/.) Se desea construir una aplicacin 2.50 que calcule las ventas totales al final del 4.00 da, as como los impuestos a pagar (18 por 3.00 100). 1.50 2.00 La interfaz de entrada y salida 1.00 deber ser similar a la figura mostrada a 1.50 continuacin: 1.50

Para el diseo del cuadro de men utilizaremos el control Microsoft Hierarchical FlexGrid. Para tal fin, seleccione el Men Proyecto y elija la opcin Componentes:

A continuacin active la casilla de verificacin Microsoft Hierarchical FlexGrid Control 6.0 OLEDB y haga click sobre el botn Aceptar. En seguida este control se aadir al Cuadro de Herramientas. Para el desarrollo de esta aplicacin, proceda a ubicar los siguientes controles en el formulario: 10 etiquetas 10 cajas de texto 1 control MSHFlexGrid 3 botones de comando En seguida, elabore el diseo de entrada y salida. Para ello proceda a establecer las propiedades segn se indica a continuacin: Form1 Nombre BorderStyle FrmRestaurante 3-Fixed Dialog Caption Moveable StartUpPosition Label1 Restaurante False 2-CenterScreen

Nombre AutoSize Caption Label2 Nombre AutoSize Caption Label3 Nombre AutoSize Caption Label4 Nombre AutoSize Caption Label5 Nombre AutoSize Caption Label6 Nombre AutoSize Caption Label7 Nombre AutoSize Caption Label8 Nombre AutoSize

LblHamburguesa True Hamburguesa:

LblCerveza True Cerveza:

LblGaseosa True Gaseosa:

LblEnsalada True Ensalada:

LblSalchichas True Salchichas:

LblRefresco True Refresco:

LblSopa True Sopa:

LblPostre True

Caption Label9 Nombre Caption Label10 Nombre Caption MSHFlexGrid1 Nombre Font FontFixed Text1 Nombre Text Text2 Nombre Text Text3 Nombre Text Text4 Nombre Text Text5 Nombre Text Text6 Nombre Text

Postre:

LblVentaTotal Venta total S/.

LblImpuesto Impuesto S/.

GrdMenu Arial (Negrita 10) Arial (Negrita 10)

TxtHamburguesa

TxtCerveza

TxtGaseosa

TxtEnsalada

TxtSalchichas

TxtRefresco

Text7 Nombre Text Text8 Nombre Text Text9 Nombre Locked Text Text10 Nombre Locked Text Command1 Nombre Caption Command2 Nombre Caption Command3 Nombre CmdSalir Caption &Salir Picture C:\Archivos de programa\Microsoft Visual CmdLimpiar &Limpiar CmdAceptar &Aceptar TxtImpuesto True TxtVentaTotal True TxtPostre TxtSopa

Studio\Common\Graphics\Icons\Arrows\Point04.ico Style 1-Graphical

En primer lugar debemos cargar los datos a la cuadrcula. Esto lo vamos a realizar en tiempo de ejecucin al momento de cargarse en memoria el formulario. Para ello, haga doble click sobre el formulario y aada el siguiente cdigo: Private Sub Form_Load()

GrdMenu.Cols = 2 GrdMenu.Rows = 9 GrdMenu.FixedCols = 0 GrdMenu.FixedRows = 1 GrdMenu.TextArray(0) = Men GrdMenu.TextArray(1) = Precio GrdMenu.TextArray(2) = Hamburguesa GrdMenu.TextArray(3) = 2.50 GrdMenu.TextArray(4) = Cerveza GrdMenu.TextArray(5) = 4.00 GrdMenu.TextArray(6) = Gaseosa GrdMenu.TextArray(7) = 3.00 GrdMenu.TextArray(8) = Ensalada GrdMenu.TextArray(9) = 1.50 GrdMenu.TextArray(10) = Salchichas GrdMenu.TextArray(11) = 2.00 GrdMenu.TextArray(12) = Refresco GrdMenu.TextArray(13) = 1.00 GrdMenu.TextArray(14) = Sopa GrdMenu.TextArray(15) = 1.50 GrdMenu.TextArray(16) = Postre GrdMenu.TextArray(17) = 1.50 End Sub Luego debemos aadir el cdigo que se encargar de realizar los clculos. Para tal fin haga doble click sobre el botn Aceptar y proceda a ingresar lo siguiente: Private Sub CmdAceptar_Click() Dim Hamburguesa As Integer, Cerveza As Integer Dim Gaseosa As Integer, Ensalada As Integer Dim Salchichas As Integer, Refresco As Integer Dim Sopa As Integer, Postre As Integer Dim VentaTotal As Double, Impuesto As Double Hamburguesa = Val(TxtHamburguesa) Cerveza = Val(TxtCerveza) Gaseosa = Val(TxtGaseosa) Ensalada = Val(TxtEnsalada)

Refresco = Val(TxtRefresco) Sopa = Val(TxtSopa) Postre = Val(TxtPostre) VentaTotal = Hamburguesa * 2.5 + Cerveza * 4.0 _ + Gaseosa * 3.0 + Ensalada * 1.5 + Salchichas * 2.0 _ + Refresco * 1.0 + Sopa * 1.5 + Postre * 1.5 Impuesto = 0.18 * VentaTotal TxtVentaTotal = Str(VentaTotal) TxtImpuesto = Str(Impuesto) End Sub Luego, haga doble click sobre el botn Limpiar y aada el siguiente cdigo: Private Sub CmdLimpiar_Click() TxtHamburguesa = : TxtCerveza = TxtGaseosa = : TxtEnsalada = TxtSalchichas = : TxtRefresco = TxtSopa = : TxtPostre = TxtVentaTotal = : TxtImpuesto = TxtHamburguesa.SetFocus End Sub A continuacin haga doble click sobre el botn Salir y aada el siguiente cdigo: Private Sub CmdSalir_Click() End End Sub

Aplicacin N 3 Elaborar una aplicacin que permita calcular la edad de una persona a partir de su fecha de nacimiento. El diseo de la interfaz debe ser similar a la figura mostrada:

Para el desarrollo de esta aplicacin, proceda a ubicar los siguientes controles en el formulario: 2 etiquetas 2 cajas de texto 3 botones de comando Luego, proceda a establecer las propiedades segn se indica a continuacin: Form1 Nombre BorderStyle Caption Label1 Nombre AutoSize Caption Label2 Nombre AutoSize Caption Text1 Nombre Text TxtFecNac LblEdad True Su edad es: LblFecNac True Fecha de nacimiento: FrmEdad Dialog 3-Fixed Calcula la edad de una persona

Text2 Nombre Locked Text TxtEdad True

Command1 Nombre Caption Default Command2 Nombre Caption Command3 Nombre Cancel Caption CmdSalir True &Salir CmdLimpiar &Limpiar CmdAceptar &Aceptar True

En seguida proceda a ingresar el siguiente cdigo: Private Sub CmdAceptar_Click() Dim FecNac As Date, Edad As Integer FecNac = CDate(TxtFecNac) Edad = CInt((Date - FecNac) / 365) TxtEdad = Str(Edad) & aos End Sub Se deja como ejercicio para el estudiante el cdigo asociado con los botones Limpiar y Salir, respectivamente. Aplicacin N 4 Se tiene un cajero automtico el cual permite manipular cierta cantidad de dinero para lo cual dispone de los siguientes billetes: S/. 10.00, S/. 20.00, S/. 50.00, S/. 100.00 y S/. 200.00. Elaborar una aplicacin que permita la lectura de la cantidad a retirar e indique el menor nmero de billetes a utilizar.

Creo que a estas alturas Ud. ya entendi como funciona esto. Por ello, esta aplicacin se deja como ejercicio para el estudiante. Microsoft Visual Basic GUIA DE PRCTICAS N 2 Objetivos Luego de completar este laboratorio, el estudiante ser capaz de: " Implementar aplicaciones utilizando estructuras de control selectivas. " Usar casillas de verificacin y botones de opcin para alternar entre uno o ms valores. " Utilizar cajas de dilogo predefinidas para visualizar mensajes. Consideraciones Para el desarrollo del presente laboratorio Ud. deber crear una carpeta C:\FundVB\Lab2, para guardar sus trabajos correspondientes a este laboratorio. Aplicacin N 1 Se desea elaborar la boleta de pago de los trabajadores de una fbrica. Para ello se cuenta con los siguientes datos de entrada: Apellidos y nombres del trabajador Sueldo bsico Horas extras trabajadas Adems, se sabe que los trabajadores laboran en dos turnos: diurno y nocturno. Y que la tarifa por las horas extras diurnas es de 10 soles y por las horas extras nocturnas es de 15 soles. Los descuentos a aplicar son sobre el sueldo bsico y se obtienen de la siguiente manera:

Renta = SueldoBasico * 0.1 Fonavi = SueldoBasico * 0.07 AFP = SueldoBasico * 0.03 Finalmente el sueldo neto del trabajador se calcula mediante las siguientes expresiones: Ingresos = SueldoBasico + HorasExtras * PagoHoraExtra Egresos = Renta + Fonavi + AFP SueldoNeto = Ingresos - Egresos El diseo de la interfaz deber ser similar a la figura mostrada:

Para el desarrollo de esta aplicacin, proceda a ubicar los siguientes controles en el formulario: 2 marcos 5 etiquetas 8 cajas de texto 2 botones de opcin 3 casillas de verificacin 3 botones de comando

Luego, proceda a establecer las propiedades segn se indica a continuacin: Form1 Nombre BorderStyle Caption Moveable Label1 Nombre AutoSize Caption Label2 Nombre AutoSize Caption Label3 Nombre AutoSize Caption Label4 Nombre AutoSize Caption Label5 Nombre AutoSize Caption Text1 Nombre Text TxtTrabajador LblSueldoNeto True Sueldo neto S/. LblPagoHoraExtra True Pago hora extra S/. LblHorasExtras True Horas extras: LblSueldoBasico True Sueldo Bruto S/. LblTrabajador True Trabajador: FrmBoletaDePago 3-Fixed Dialog Boleta de pago False

Text2 Nombre Text Text3 Nombre Text Text4 Nombre BackColor Text Text5 Nombre BackColor Locked Text Text6 Nombre BackColor Locked Text Text7 Nombre BackColor Locked Text Text8 Nombre BackColor Locked Text Option 1 TxtSueldoNeto &H80000004& True TxtAFP &H80000004& True TxtFonavi &H80000004& True TxtRenta &H80000004& True TxtPagoHoraExtra &H80000004& TxtHorasExtras TxtSueldoBasico

Nombre Caption Value Option2 Nombre Caption Value Check1 Nombre Caption Check2 Nombre Caption Check3 Nombre Caption Command1 Nombre Caption Default Command2 Nombre Caption Command3 Nombre Cancel Caption

OptDiurno Diurno True

OptNocturno Nocturno False

ChkRenta Renta

ChkFonavi Fonavi

ChkAFP AFP

CmdAceptar &Aceptar True

CmdLimpiar &Limpiar

CmdSalir True &Salir

Una vez establecidas las propiedades, proceda a ingresar el cdigo que se indica a continuacin:

Private Sub CmdAceptar_Click() Dim SueldoBasico As Double Dim HorasExtras As Integer, PagoHoraExtra As Double Dim Renta As Double, Fonavi As Double, AFP As Double Dim Ingresos As Double, Egresos As Double Dim SueldoNeto As Double SueldoBasico = Val(TxtSueldoBasico) HorasExtras = Val(TxtHorasExtras) If OptDiurno Then PagoHoraExtra = 10 End If If OptNocturno Then PagoHoraExtra = 15 End If If ChkRenta.Value Then Renta = SueldoBasico * 0.1 Else Renta = 0 End If If ChkFonavi.Value Then Fonavi = SueldoBasico * 0.07 Else Fonavi = 0 End If If ChkAFP.Value Then AFP = SueldoBasico * 0.03 Else AFP = 0 End If Ingresos = SueldoBasico + HorasExtras * PagoHoraExtra Egresos = Renta + Fonavi + AFP SueldoNeto = Ingresos - Egresos TxtPagoHoraExtra = Str(PagoHoraExtra) TxtRenta = Str(Renta) TxtFonavi = Str(Fonavi) : TxtAFP = Str(AFP) TxtSueldoNeto = Str(SueldoNeto)

Private Sub CmdSalir_Click() End End Sub Aplicacin N 2 Cuatro notas entre 0 y 20 representan las calificaciones de un estudiante de un curso de programacin. Elaborar una aplicacin para obtener el promedio de esas calificaciones y visualizar su puntuacin de acuerdo al siguiente cuadro: Promedio 19-20 16-18 11-15 6-10 0-5 A B C D E Puntuacin

El diseo de la interfaz deber ser similar a la figura mostrada:

Para el desarrollo de esta aplicacin, proceda a ubicar los siguientes controles en el formulario: 7 etiquetas 7 cajas de texto 3 botones de comando Luego, proceda a establecer las propiedades segn se indica a continuacin: Form1

Nombre BorderStyle Caption Label1 Nombre AutoSize Caption Label2 Nombre AutoSize Caption Label3 Nombre AutoSize Caption Label4 Nombre AutoSize Caption Label5 Nombre AutoSize Caption

FrmNotas 3-Fixed Dialog Puntuacin de un estudiante

LblAlumno True Alumno:

LblN1 True Nota 1:

LblN2 True Nota 2:

LblN3 True Nota 3:

LblN4 True Nota 4:

Label6 Nombre AutoSize Caption Label7 Nombre LblPuntuacion LblPromedio True Promedio:

AutoSize Caption

True Puntuacin:

Text1 Nombre Text TxtAlumno

Text2 Nombre Text Text3 Nombre Text TxtN2 TxtN1

Text4 Nombre Text Text5 Nombre Text TxtN4 TxtN3

Text6 Nombre BackColor Locked Text Text7 Nombre BackColor Locked Text TxtPuntuacion &H80000004& True TxtPromedio &H80000004& True

Command1 Nombre Caption Default Command2 Nombre Caption Command3 Nombre Cancel Caption CmdSalir True &Salir CmdLimpiar &Limpiar CmdAceptar &Aceptar True

Una vez establecidas las propiedades, proceda a ingresar el cdigo que se indica: Private Sub CmdAceptar_Click() Dim N1 As Double, N2 As Double, N3 As Double, N4 As Double Dim Promedio As Integer N1 = Val(TxtN1) : N2 = Val(TxtN2) N3 = Val(TxtN3) : N4 = Val(TxtN4) Promedio = CInt((N1 + N2 + N3 + N4) / 4) TxtPromedio = Str(Promedio) If Promedio >= 19 And Promedio = 16 And Promedio = 11 And Promedio = 6 And Promedio = 0 And Promedio 0) If ((N Mod 10) Mod 2) = 0 Then SP = SP + (N Mod 10) Else SI = SI + (N Mod 10) End If S = S + (N Mod 10) N = N \ 10 I=I+1 Wend May = Mid(TxtNumero, 1, 1) Men = May While (M > 0)

If May < (M Mod 10) Then May = M Mod 10 End If If Men > (M Mod 10) Then Men = M Mod 10 End If M = M \ 10 Wend TxtCantCifras = Str(I) TxtSumImpares = Str(SI) TxtSumPares = Str(SP) TxtSumTotal = Str(S) TxtCifraMayor = Str(May) TxtCifraMenor = Str(Men) TxtDivisores = Cad Else MsgBox Debe ingresar un nmero, vbCritical, Mensaje TxtNumero.SetFocus End If End Sub

Private Sub CmdSalir_Click() If MsgBox(Desea terminar la aplicacin?, _ vbQuestion + vbYesNo, "Pregunta") = vbYes Then End Else Cancel = True TxtNumero.SetFocus End If End Sub Aplicacin N 4 Un centro numrico es un nmero que separa una lista de nmeros enteros (comenzando en 1) en dos grupos de nmeros, cuyas sumas son iguales. El primer centro numrico es el 6, el cual separa la lista (1 a 8) en los grupos: (1; 2; 3; 4; 5) y (7; 8) cuyas sumas son ambas iguales a 15. El segundo centro numrico es el 35, el cual separa la lista

(1 a 49) en los grupos: (1 a 34) y (36 a 49) cuyas sumas son ambas iguales a 595. Se pide elaborar una aplicacin que calcule los centros numricos entre 1 y N. El diseo de la interfaz y otras consideraciones se dejan a su criterio.

Microsoft Visual Basic GUIA DE PRCTICAS N 4 Objetivos Luego de completar este laboratorio, el estudiante ser capaz de: " Manipular y realizar operaciones con arreglos. " Crear una estructura y realizar operaciones con los campos de la misma. " Implementar arreglos de estructuras. " Trabajar con listas desplegables y cuadros combinados. Consideraciones Para el desarrollo del presente laboratorio Ud. deber crear una carpeta C:\FundVB\Lab4 para guardar sus trabajos correspondientes a este laboratorio.

Aplicacin N 1 Elabore una aplicacin que permita leer N nmeros de tipo entero, y a continuacin los visualice ordenados en forma ascendente o descendente.

Para el desarrollo de esta aplicacin, proceda a ubicar los siguientes controles en el formulario: 3 marcos 1 caja de texto 1 control lista 2 botones de opcin 3 botones de comando En seguida proceda a establecer las propiedades segn se indica: Form1 BorderStyle 3-Fixed Dialog Nombre FrmBurbuja Caption Ordenacin por burbuja Moveable Frame1 Nombre Caption Frame2 Nombre Caption Frame 3 FraLista Lista de nmeros: FraNumero Ingrese un nuevo nmero: False

Nombre Caption Text1 Nombre Text List1 Nombre List Option1 Nombre Caption Value Option2 Nombre Caption Value Command1 Nombre Caption Default Command2 Nombre Caption Command3 Nombre Caption Picture

FraOrden Orden:

TxtNumero

LstNumero

OptAscendente Ascendente True

OptDescendente Descendente False

CmdAnnadir &Aadir True

CmdOrdenar &Ordenar

CmdSalir &Salir C:\Archivos de programa\Microsoft Visual Studio\Common\Graphics\Icons\Arrows\

Style

Point04.ico 1-Graphical

Una vez establecidas las propiedades proceda a ingresar el cdigo que se indica a continuacin: Private Sub CmdAceptar_Click() If IsNumeric(TxtNumero.Text) Then LstNumero.AddItem TxtNumero.Text TxtNumero.Text = TxtNumero.SetFocus Else MsgBox Ingrese un nmero, vbCritical, Mensaje TxtNumero.SelStart = 0 TxtNumero.SelLength = Len(TxtNumero.Text) TxtNumero.SetFocus End If End Sub Private Sub CmdOrdenar_Click() Dim I As Integer, J As Integer, T As Integer, N As Integer Dim A() As Integer N = LstNumero.ListCount ReDim A(N) For I = 0 To N - 1 A(I) = LstNumero.List(I) Next I If OptAscendente.Value Then For I = 0 To N - 2 For J = I + 1 To N - 1 If A(I) > A(J) Then T = A(I) A(I) = A(J) A(J) = T End If Next J Next I End If

If OptDescendente.Value Then

For J = I + 1 To N - 1 If A(I) < A(J) Then T = A(I) A(I) = A(J) A(J) = T End If Next J Next I End If LstNumero.Clear For I = 0 To N - 1 LstNumero.List(I) = A(I) Next I End Sub Private Sub Form_Unload(Cancel As Integer) If MsgBox(Desea terminar la aplicacin?, _ vbQuestion + vbYesNo, Pregunta) = vbYes Then End Else: Cancel = True : TxtNumero.SetFocus End If End Sub Private Sub CmdSalir_Click() Unload Me End Sub Aplicacin N 2 Elaborar una aplicacin que permita seleccionar un artculo de un cuadro combinado (Combo). Apenas el usuario seleccione un artculo se debe mostrar el precio del mismo, el inters es fijo para esta ocasin. El diseo de la interfaz debe ser similar a la siguiente figura:

La venta ha realizarse es a plazos, ello condiciona la cuota mensual a pagarse. Cuando se haga click sobre el botn Cuota mensual debe mostrarse un cuadro de dilogo con los datos propuestos:

De manera similar al hacer click sobre el botn Total nos debe mostrar la cantidad total a pagar.

Para el desarrollo de esta aplicacin, proceda a ubicar los siguientes controles en el formulario: 1 marco 3 etiquetas 1 cuadro combinado 2 cajas de texto 3 botones de opcin 2 botones de comando

En seguida proceda a establecer las propiedades segn se indica: Form1 Nombre BorderStyle Caption Frame1 Nombre Caption Label1 Nombre Caption Label2 Nombre Caption Label3 Nombre Caption Combo1 Nombre Text Text1 Nombre Locked Text Text2 Nombre Locked Text Option 1 TxtInteres True TxtPrecio True CboArticulo LblInteres Inters: LblPrecio Precio US$ LblArticulo Artculo: FraPlazo Plazo: FrmCotizacion 3-Fixed Dialog Pedido de cotizaciones

Nombre Caption Value Option2 Nombre Caption Value Option3 Nombre Caption Value Command1 Nombre Caption

OptPlazo 6 meses True

OptPlazo 12 meses False

OptPlazo 24 meses False

CmdCuotaMensual &Cuota mensual

Command2 Nombre Caption CmdTotal &Total

Una vez establecidas las propiedades de la interfaz, haga doble click sobre el formulario e ingrese las siguientes declaraciones en la seccin General del mdulo de formulario: Private Type Articulo Nombre As String * 30 Precio As Double End Type Dim A(4) As Articulo, Plazo As Integer Const Interes = 0.12 Recuerde que un dato declarado en la seccin General de un mdulo puede ser accedido por todos los procedimientos de dicho mdulo. Luego, contine ingresando el cdigo que se muestra a continuacin: Private Sub Form_Load()

A(0).Nombre = Monitor SAMSUNG SyncMaster 3 A(1).Nombre = Impresora Hewlett Packard DeskJet 930C A(2).Nombre = Impresora Epson Stylus Color 740 A(3).Nombre = Microprocesador Pentium I 233 MHZ A(0).Precio = 150 : A(1).Precio = 275 A(2).Precio = 145 : A(3).Precio = 80 Dim I As Integer For I = 1 To 4 CboArticulo.AddItem A(I - 1).Nombre Next I TxtInteres = Interes : Plazo = 6 End Sub Private Sub CboArticulo_Click() Dim I As Integer I = CboArticulo.ListIndex TxtPrecio = A(I).Precio End Sub Private Sub OptPlazo_Click(Index As Integer) Select Case Index Case 0: Plazo = 6 Case 1: Plazo = 12 Case 2: Plazo = 24 End Select End Sub Private Sub CmdCuotaMensual_Click() Dim Total As Double, CuotaMensual As Double, I As Integer I = CboArticulo.ListIndex Total = A(I).Precio * (1 + Interes) CuotaMensual = Total / Plazo MsgBox Cuota Mensual US$ & Str(CuotaMensual) End Sub Private Sub CmdTotal_Click() Dim Total As Double, I As Integer I = CboArticulo.ListIndex Total = A(I).Precio * (1 + Interes)

MsgBox Total US$ & Str(Total) End Sub Aplicacin N 3 Se desea elaborar una aplicacin que permita controlar el proceso de matrcula en un curso de computacin. Para ello se deben recabar los siguientes datos: 1) Curso en que se matricula el alumno, 2) Fecha de matrcula, 3) Apellidos y nombres, 4) Sexo, 5) Direccin, y 6) Distrito de residencia.

Para el desarrollo de esta aplicacin proceda a ubicar los siguientes controles en el formulario: 4 marcos 6 etiquetas 5 cajas de texto 1 cuadro combinado 2 controles de lista 4 botones de comando En seguida proceda a establecer las propiedades segn se indica:

Form1 Nombre BorderStyle Caption Frame1 Nombre Caption Frame2 Nombre Caption Frame3 Nombre Caption Frame4 Nombre Caption Label1 Nombre Caption Label2 Nombre Caption Label3 Nombre Caption LblAlumno Alumno: LblFechaMat Fecha de matrcula: LblCurso Curso: FraDistritos Distritos: FraCursos Cursos: FraOpciones Opciones: FraIngreso Ingreso de datos: FrmFichaMatricula 3-Fixed Dialog Ficha de matrcula

Label4 Nombre Caption LblSexo Sexo:

Label5

Nombre Caption

LblDireccin Direccin:

Label6 Nombre Caption LblDistrito Distrito:

Combo1 Nombre Text List1 Nombre Text LstCursos CboSexo

List2 Nombre Text Text1 Nombre Text Text2 Nombre Text Text3 Nombre Text Text4 Nombre Text Text5 TxtDireccion TxtAlumno TxtFechaMat TxtCurso LstDistrito

Nombre Text Command1 Nombre Caption Command2 Nombre Caption Command3 Nombre Caption Command4 Nombre Caption Picture Style

TxtDistrito

CmdGuardar &Guardar

CmdCancelar &Cancelar

CmdLimpiar &Limpiar

CmdSalir &Salir C:\FundVB\Bitmaps\Exit.bmp 1-Graphical

Una vez establecidas las propiedades de la interfaz, proceda a ingresar el cdigo que se indica a continuacin: Private Sub Form_Load() LstCursos.AddItem Borland C++ Nivel I LstCursos.AddItem Borland C++ Nivel II LstCursos.AddItem Microsoft Visual Basic Nivel I LstCursos.AddItem Microsoft Visual Basic Nivel II LstCursos.AddItem Microsoft Visual FoxPro Nivel I LstCursos.AddItem Microsoft Visual FoxPro Nivel II LstCursos.AddItem Microsoft Visual C++ Nivel I LstCursos.AddItem Microsoft Visual C++ Nivel II LstCursos.AddItem Microsoft Visual J++ Nivel I LstCursos.AddItem Microsoft Visual J++ Nivel II LstCursos.AddItem Microsoft SQL Server Nivel I LstCursos.AddItem Microsoft SQL Server Nivel II LstCursos.AddItem Microsoft Power Builder Nivel I

LstCursos.AddItem Microsoft Power Builder Nivel II LstDistrito.AddItem Callao LstDistrito.AddItem Bellavista LstDistrito.AddItem Carmen de la Legua LstDistrito.AddItem La Perla LstDistrito.AddItem La Punta LstDistrito.AddItem Ventanilla LstDistrito.AddItem Cercado de Lima LstDistrito.AddItem Ancn LstDistrito.AddItem Ate LstDistrito.AddItem Barranco LstDistrito.AddItem Brea LstDistrito.AddItem Carabayllo LstDistrito.AddItem Comas LstDistrito.AddItem Chaclacayo LstDistrito.AddItem Chorrillos LstDistrito.AddItem El Agustino LstDistrito.AddItem Jess Mara LstDistrito.AddItem La Molina LstDistrito.AddItem La Victoria LstDistrito.AddItem Lince LstDistrito.AddItem Lurigancho LstDistrito.AddItem Lurn LstDistrito.AddItem Magdalena del Mar LstDistrito.AddItem Miraflores LstDistrito.AddItem Pachacamac LstDistrito.AddItem Pucusana LstDistrito.AddItem Pueblo Libre LstDistrito.AddItem Puente Piedra LstDistrito.AddItem Punta Negra LstDistrito.AddItem Rimac LstDistrito.AddItem San Bartolo LstDistrito.AddItem San Isidro LstDistrito.AddItem Independencia LstDistrito.AddItem San Juan de Miraflores LstDistrito.AddItem San Luis

LstDistrito.AddItem San Miguel LstDistrito.AddItem Santiago de Surco LstDistrito.AddItem Villa Mara del Triunfo LstDistrito.AddItem San Juan de Lurigancho LstDistrito.AddItem Santa Mara del Mar LstDistrito.AddItem Santa Rosa LstDistrito.AddItem Los Olivos LstDistrito.AddItem Cieneguilla LstDistrito.AddItem San Borja LstDistrito.AddItem Villa el Salvador LstDistrito.AddItem Santa Anita CboSexo.AddItem Masculino : CboSexo.AddItem Femenino End Sub Private Sub Form_Unload(Cancel As Integer) If MsgBox(Desea terminar la aplicacin?, _ vbQuestion + vbYesNo, Pregunta) = vbYes Then End Else Cancel = True Call CmdLimpiar_Click End If End Sub Private Sub LstCursos_Click() TxtCursos = LstCursos End Sub Private Sub LstDistrito_Click() TxtDistrito = LstDistrito End Sub Private Sub CmdGuardar_Click() LstCursos.Enabled = False LstDistrito.Enabled = False TxtCursos.Locked = True TxtFechaMat.Locked = True TxtAlumno.Locked = True CboSexo.Locked = True

TxtDireccion.Locked = True TxtDistrito.Locked = True MsgBox Alumno matriculado, vbInformation, Mensaje End Sub Private Sub CmdLimpiar_Click() LstCursos.Enabled = True LstDistrito.Enabled = True TxtCursos.Locked = False TxtFechaMat.Locked = False TxtAlumno.Locked = False CboSexo.Locked = False TxtDireccion.Locked = False TxtDistrito.Locked = False TxtCursos = TxtFechaMat = TxtAlumno = CboSexo = TxtDireccion = TxtDistrito = TxtCursos.SetFocus End Sub

Private Sub CmdCancelar_Click() If MsgBox(Desea modificar algn dato?, _ vbQuestion + vbYesNo, Mensaje) = vbYes Then LstCursos.Enabled = True LstDistrito.Enabled = True TxtCursos.Locked = False TxtFechaMat.Locked = False TxtAlumno.Locked = False CboSexo.Locked = False TxtDireccion.Locked = False TxtDistrito.Locked = False End If End Sub

Private Sub CmdSalir_Click() Unload Me End Sub

Aplicacin N 4 Desarrollar una aplicacin que permita realizar consultas acerca de un determinado curso, los cuales se mostraran en una lista. El usuario debe seleccionar un curso y en seguida se debe presentar el nombre del profesor encargado del curso (teora), el nombre del jefe de prctica (laboratorio), as como los horarios de teora y de laboratorio. El diseo de la interfaz deber ser similar al siguiente:

GUIA DE PRCTICAS N 5 Objetivos Luego de completar este laboratorio, el estudiante ser capaz de: " Crear procedimientos y funciones definidos por el usuario. " Aadir formularios creados anteriormente a un proyecto. " Cambiar el formulario de arranque de un proyecto. " Utilizar formularios MDI. " Manejar diferentes mtodos y propiedades de los formularios. " Crear y utilizar mens en una aplicacin. Consideraciones Para el desarrollo del presente laboratorio Ud. deber crear una carpeta C:\FundVB\Lab5, para guardar sus trabajos correspondientes a este laboratorio. Aplicacin N 1 Escriba una funcin que reciba como argumento una cadena de caracteres y la devuelva en forma inversa, por ejemplo si se ingresa la cadena CORAZON deber retornar NOZAROC.

Para el desarrollo de esta aplicacin, proceda a ubicar los siguientes controles en el formulario: 2 etiquetas 2 cajas de texto 3 botones de comando En seguida proceda a establecer las propiedades segn se indica: Form1

Nombre Caption BorderStyle Label1 Nombre Autosize Caption Label2 Nombre Autosize Caption Text1 Nombre Text Text2 Nombre Locked Text Command1 Nombre Caption Command2 Nombre Caption Command3 Nombre Caption

FrmCadInvertida Cadena invertida 3-Fixed Dialog

LblCadena True Ingresa una cadena:

LblInvertida True Cadena invertida:

TxtCadena

TxtInvertida True

CmdAceptar &Aceptar

CmdLimpiar &Limpiar

CmdSalir &Salir

Una vez establecidas las propiedades de la interfaz, proceda a ingresar el siguiente cdigo:

Function CadInvertida(Cadena As String) As String Dim Invertida() As String * 1 Dim I As Integer Dim J As Integer N = Len(Cadena) ReDim Invertida(N) For I = 1 To N Invertida(I - 1) = Mid(Cadena, I, 1) Next I For J = (N - 1) To 0 Step -1 CadInvertida = CadInvertida & Invertida(J) Next J End Function Private Sub CmdInvertir_Click() TxtInvertida = CadInvertida(TxtCadena) End Sub Private Sub CmdLimpiar_Click() TxtCadena = TxtInvertida = TxtCadena.SetFocus End Sub Private Sub CmdSalir_Click() End End Sub Aplicacin N 2 Elaborar una aplicacin que permita presentar los diferentes tipos de formularios de Visual Basic. Utilice como contenedor principal un formulario MDI, tal como se muestra en la figura:

Para el desarrollo de esta aplicacin necesitamos utilizar un formulario MDI (interfaz de mltiples documentos). Para ello seleccione el Men Proyecto y elija la opcin Agregar formulario MDI, se debe presentar un cuadro de dilogo similar a la siguiente figura:

Del cuadro de dilogo Agregar formulario MDI, en la ficha Nuevo, haga click en el botn Abrir. En seguida cambie el nombre del formulario MDI por MDIPrincipal. A continuacin proceda a aadir los formularios para las diferentes opciones del men. Cambie los nombres de los formularios segn se indica:

Formulario Form1 Form2 Form3 Form4 Form5 Form6 Form7 FrmNone FrmFixedSingle FrmSizable FrmFixedDialog FrmFixedToolWindow

Nombre

FrmSizableToolWindow FrmAcercaDe

Luego proceda a disear el men de opciones. Para ello haga click derecho sobre el formulario MDI y elija la opcin Editor de mens. Establezca las propiedades segn:

Caption &Men Principal &0-None &1-Fixed Single &2-Sizable &3-Fixed Dialog &4-Fixed ToolWindow &5-Sizable ToolWindow MnuLinea MnuPrincipal MnuNone MnuFixedSingle MnuSizable MnuFixedDialog

Name Ninguno Ninguno Ninguno Ninguno Ninguno Ninguno Ninguno

ShortCut

MnuFixedToolWindow MnuSizableToolWindow Ninguno

&Acerca del autor &Salir

MnuAcercaDe MnuSalir

Ninguno Ctrl + X

A continuacin haga click en el botn Aceptar del Editor de mens. Luego proceda a ingresar el siguiente cdigo para el formulario MDI: Private Sub MDIForm_Unload(Cancel As Integer) If MsgBox(Desea terminar la aplicacin?, _ vbQuestion + vbYesNo, Mensaje) = vbYes Then End Else: Cancel = True End If End Sub Private Sub MnuNone_Click()

Load FrmNone FrmNone.Show End Sub Private Sub MnuFixedSingle_Click() Load FrmFixedSingle FrmFixedSingle.Show End Sub Private Sub MnuSizable_Click() Load FrmSizable FrmSizable.Show End Sub Private Sub MnuFixedDialog_Click() Load FrmFixedDialog FrmFixedDialog.Show End Sub Private Sub MnuFixedToolWindow_Click() Load FrmFixedToolWindow FrmFixedToolWindow.Show End Sub Private Sub MnuSizableToolWindow_Click() Load FrmSizableToolWindow FrmSizableToolWindow.Show End Sub Private Sub MnuAcercaDe_Click() Load FrmAcercaDe FrmAcercaDe.Show End Sub Private Sub MnuSalir_Click() Unload Me End Sub

A continuacin proceda a activar el formulario FrmNone y ubique un botn de comandos sobre el mismo. En seguida establezca las propiedades segn se indica a continuacin: Form1 Nombre BorderStyle Caption MDIChild Command1 Nombre Caption CmdVolver &Volver FrmNone 0-None None True

Una vez establecidas las propiedades, proceda a ingresar el cdigo que se muestra a continuacin: Private Sub CmdVolver_Click() Unload Me End Sub Repita el procedimiento anterior para los dems tipos de formularios. Aplicacin N 3 Elaborar una aplicacin que acepte como entrada la reserva de agua de un depsito y los litros que se consumen a la semana. Utilizando una funcin definida por el usuario determinar como resultado las cantidades de agua que quedan al final de cada semana. El proceso finalizar cuando no quede agua suficiente para una semana. Utilizar otro formulario para mostrar la salida.

GUIA DE PRCTICAS N 6 Objetivos Luego de completar este laboratorio, el estudiante ser capaz de: " Crear y manipular bases de datos utilizando Microsoft Access. " Adicionar un entorno de datos a un proyecto. " Conectar un origen de datos a un objeto Connection. " Utilizar un objeto Command para recuperar registros de un origen de datos. " Crear formularios con datos enlazados. " Realizar consultas utilizando sentencias SQL. Consideraciones Para el desarrollo la presente guia de prcticas Ud. deber crear una carpeta C:\FundVB\Lab6, para guardar sus trabajos correspondientes a este laboratorio. Creacin de la base de datos con Microsoft Access 2000 Para desarrollar nuestras prcticas de laboratorio debemos crear una base de datos cuyo nombre es CursosLibres.MDB, la cual contendr las tablas Curso y Laboratorio. La tarea de crear una base de datos con Microsoft Access 2000 es muy sencilla. Para tal fin debe realizar lo siguiente: " Arrancar Microsoft Access 2000. " Seleccionar la orden Nueva. . . del Men Archivo. " Dentro del cuadro de dilogo Nueva, en la ficha General, seleccionar Base de datos y hacer click en el botn Aceptar. " Ingresar un nombre para la base de datos, para nuestro caso ingrese CursosLibres. En seguida se mostrar una ventana similar a la siguiente:

" Proceda a crear una nueva tabla. Para ello seleccionar la opcin Tablas y haga doble click en Crear una tabla en vista Diseo. " Introducir el nombre, el tipo y las propiedades para cada uno de los campos. Para nuestro caso ingrese lo siguiente: Tabla Curso Nombre del Campo CurCodigo CurNombre CurVacantes CurProfe CurSilabo T T N T M 03 Cdigo del curso 30 Nombre del curso 03 Nmero de vacantes disponibles 50 Nombre del profesor de teora 50 Slabo de cada curso Tipo Ancho Descripcin

" Luego, debe asignar un nombre a la tabla al momento de cerrarla. Para nuestro caso asgnele el nombre de Curso. " Por ltimo, proceda a abrir la tabla e introducir datos. Para nuestro caso, ingrese la siguiente informacin: CurCodigo BC1 BC2 BC3 VB1 VB2 CurNombre Linares Alarcon, Adams Crdoba Saavedra, Javier Castillo Peralta, Carlos Linares Alarcon, Adams Linares Alarcon, Adams CurProfe Borland C++ Nivel I Borland C++ Nivel II Borland C++ Nivel III MS Visual Basic Nivel I MS Visual Basic Nivel II

VB3 VC1 VC2 VJ1 VJ2 VF1 VF2 VF3 PB1 PB2

MS Visual Basic Nivel III MS Visual C++ Nivel I MS Visual C++ Nivel II MS Visual J++ Nivel I MS Visual J++ Nivel II MS Visual FoxPro Nivel I MS Visual FoxPro Nivel II MS Visual FoxPro Nivel III Power Builder Nivel I Power Builder Nivel II

Castillo Peralta, Carlos Crdoba Saavedra, Javier Castillo Peralta, Carlos Castillo Peralta, Carlos Castillo Peralta, Carlos Linares Alarcon, Adams Castillo Peralta, Carlos Castillo Peralta, Carlos Crdoba Saavedra, Javier Crdoba Saavedra, Javier Crdoba Saavedra, Javier Crdoba Saavedra, Javier Montes Tejada, Estela

SQ1 MS SQL Server Nivel I SQ2 MS SQL Server Nivel II WIN MS Windows 98

A menudo, el proceso de diseo de la base de datos es bastante complejo. Para nosotros ha sido fcil, pues se nos brinda la estructura de las tablas. De manera anloga, proceda a crear la siguiente tabla segn se indica a continuacin:

Tabla Laboratorio Nombre del Tipo Campo LabCodigo LabHora LabProfe T T T

Ancho

Descripcin

03 Cdigo del curso 08 Horario de laboratorio 50 Nombre del profesor de laboratorio

Al momento de cerrar la tabla que acaba de crear, asgnele el nombre de Laboratorio. Luego, proceda a ingresar la siguiente informacin: LabCodigo BC1 BC2 BC3 VB1 VB2 VB3 LabHora LabProfe

SA 08-10 Castillo Peralta, Carlos SA 10-12 Linares Alarcon, Adams DO 10-12 Castillo Peralta, Carlos SA 08-10 Montes Tejada, Estela DO 10-12 Linares Alarcon, Adams DO 08-10 Castillo Peralta, Carlos

VC1 VC2 VJ1 VJ2 VF1 VF2 VF3 PB1 PB2

DO 08-10 Linares Alarcon, Adams DO 10-12 Crdoba Saavedra, Javier SA 16-18 Castillo Peralta, Carlos SA 18-20 Castillo Peralta, Carlos SA 08-10 Linares Alarcon, Adams DO 08-10 Crdoba Saavedra, Javier DO 14-16 Linares Alarcon, Adams VI 16-18 Crdoba Saavedra, Javier VI 14-16 Crdoba Saavedra, Javier

SQ1 SA 16-18 Crdoba Saavedra, Javier SQ2 SA 18-20 Crdoba Saavedra, Javier WIN SA 10-12 Montes Tejada, Estela

Aplicacin N 1 Elaborar una aplicacin que permita realizar el mantenimiento de la informacin almacenada en la tabla Curso de la base de datos CursosLibres.MDB. El diseo de la interfaz debe ser similar a la figura mostrada:

Los botones ubicados en el marco Navegador (Primero, Anterior, Siguiente y Ultimo, de izquierda a derecha) permiten desplazarse a travs de la tabla. Los botones ubicados en el marco Mantenimiento (Nuevo, Editar, Guardar y Eliminar, de izquierda a derecha) permiten realizar las operaciones bsicas de mantenimiento de la tabla. Para desarrollar nuestra aplicacin, lo primero que debemos hacer es conectarnos a la base de datos CursosLibres.MDB. Para ello ingrese a Visual Basic de manera habitual, a

continuacin en el men Proyecto seleccione la opcin Agregar Data Environment y se crear una nueva conexin para la que debe establecer propiedades de vnculo de datos. En la ventana Data Environment cambie el nombre del objeto DataEnvironment por DeCursosLibres y el de la conexin por CnCursosLibres. El aspecto de la ventana Data Environment deber ser similar a la siguiente figura:

Luego haga click con el botn derecho del ratn en CnCursosLibres y seleccione la opcin Propiedades. Deber presentarse un cuadro de dilogo similar al siguiente:

En la ficha Proveedor del cuadro de dilogo anterior, seleccione Microsoft Jet 4.0 OLE DB Provider y haga click en el botn Siguiente. En seguida aparecer un cuadro de dilogo similar al mostrado:

En la ficha Conexin del cuadro de dilogo Propiedades de Data Link escriba el nombre de la base de datos CursosLibres.MDB y haga click en el botn Probar conexin. Luego si la conexin es satisfactoria haga click en el botn Aceptar. En seguida en la barra de herramientas de la ventana Data Environment haga click en el botn Agregar Comando y denomine al comando CmCurso. Luego haga click derecho sobre el comando y seleccione Propiedades:

Compruebe que este comando utiliza la conexin CnCursosLibres, luego establezca el nombre de la tabla a utilizar, en este caso Curso y haga click en el botn Aceptar. A continuacin seleccione el comando CmCurso y arrstrelo hacia el formulario. Finalmente agregue los siguientes controles al formulario: 3 marcos 9 botones de comandos En seguida proceda a establecer las propiedades requeridas: Form1 Caption Nombre BorderStyle Frame1 Nombre Caption Frame2 Nombre Caption Frame3 Nombre Caption LblFieldLabel(0) Nombre Caption LblFieldLabel(1) Nombre Caption LblFieldLabel(2) Nombre LblFieldLabel LblFieldLabel Nombre: LblFieldLabel Cdigo: FraMantenimiento Mantenimiento FraNavegador Navegador FraIngreso Mantenimiento de cursos FrmMantenCurso 3-Fixed Dialog

Caption LblFieldLabel(3) Nombre Caption TxtCurCodigo Nombre Locked Text

Vacantes:

LblFieldLabel Profesor:

TxtCurCodigo True

TxtCurNombre Nombre Locked Text TxtCurVacantes Nombre Locked Text TxtCurProfe Nombre Locked Text Command1 Nombre Caption Picture Style Command2 Nombre Caption Picture Style CmdAnterior C:\FundVB\Bitmaps\Previous.bmp 1-Graphical CmdPrimero C:\FundVB\Bitmaps\First.bmp 1-Graphical TxtCurProfe True TxtCurVacantes True TxtCurNombre True

Command3 Nombre Caption Picture Style CmdSiguiente C:\FundVB\Bitmaps\Next.bmp 1-Graphical

Command4 Nombre Caption Picture Style CmdUltimo C:\FundVB\Bitmaps\Last.bmp 1-Graphical

Command5 Nombre Caption Picture Style Command6 Nombre Caption Picture Style C:\FundVB\Bitmaps\Edit.bmp 1-Graphical CmdEditar CmdNuevo C:\FundVB\Bitmaps\New.bmp 1-Graphical

Command7 Nombre Caption Picture Style CmdGuardar C:\FundVB\Bitmaps\Save.bmp 1-Graphical

Command8 Nombre Caption Picture CmdEliminar C:\FundVB\Bitmaps\Delete.bmp

Style

1-Graphical

Command9 Nombre CmdSalir Caption &Salir Picture C:\FundVB\Bitmaps\Exit.bmp Style 1-Graphical

El cdigo asociado a la aplicacin se muestra a continuacin: Private Sub CmdPrimero_Click() DeCursosLibres.rsCmCurso.MoveFirst End Sub Private Sub CmdUltimo_Click() DeCursosLibres.rsCmCurso.MoveLast End Sub Private Sub CmdAnterior_Click() DeCursosLibres.rsCmCurso.MovePrevious If DeCursosLibres.rsCmCurso.BOF Then DeCursosLibres.rsCmCurso.MoveFirst MsgBox Estamos en el primer registro End If End Sub Private Sub CmdSiguiente_Click() DeCursosLibres.rsCmCurso.MoveNext If DeCursosLibres.rsCmCurso.EOF Then DeCursosLibres.rsCmCurso.MoveLast MsgBox Estamos en el ltimo registro End If End Sub

Private Sub CmdNuevo_Click() DeCursosLibres.rsCmCurso.AddNew ModoEditar True

End Sub Private Sub CmdEditar_Click() ModoEditar True End Sub Private Sub CmdGuardar_Click() DeCursosLibres.rsCmCurso.Update ModoEditar False End Sub Private Sub CmdEliminar_Click() DeCursosLibres.rsCmCurso.Delete DeCursosLibres.rsCmCurso.MoveNext If DeCursosLibres.rsCmCurso.EOF Then DeCursosLibres.rsCmCurso.MoveLast End If End Sub Private Sub CmdSalir_Click() Unload Me End Private Sub Form_Unload(Cancel As Integer) If MsgBox(Desea terminar la aplicacin?, _ vbQuestion + vbYesNo, Pregunta) = vbYes Then End Else Cancel = True End If End Sub Private Sub Form_Activate() ModoEditar False End Sub Private Sub ModoEditar(ByVal Ok As Boolean) TxtCurCodigo.Locked = Not Ok: TxtCurNombre.Locked = Not Ok TxtCurVacantes.Locked = Not Ok: TxtCurProfe.Locked = Not Ok CmdNuevo.Enabled = Not Ok: CmdEditar.Enabled = Not Ok

CmdGuardar.Enabled = Ok: CmdEliminar.Enabled = Not Ok CmdPrimero.SetFocus: If Ok Then TxtCurCodigo.SetFocus End Sub Finalmente antes de ejecutar la aplicacin debemos asegurarnos de elegir el tipo de bloqueo adecuado. Para ello haga click derecho sobre el comando CmCurso y elija la opcin Propiedades y en la ficha Avanzadas selecciones el tipo de bloqueo 3-Optimistic, tal como se muestra en la figura siguiente:

Aplicacin N 2 Desarrollar una aplicacin que permita mostrar en una grilla el contenido de la tabla Curso. El diseo de la interfaz se muestra a continuacin:

Para desarrollar la aplicacin, lo primero que debemos hacer es conectarnos a la base de datos CursosLibres.MDB. Luego, aada un Comando y denomnelo CmConsultaCurso. Haga click derecho sobre el comando y seleccione Propiedades:

Compruebe que este comando utiliza la conexin CnCursosLibres. Luego seleccione la opcin Instruccin SQL (Structured Query Language, Lenguaje de Estructuras de Consultas) e ingrese el siguiente cdigo: Select CurCodigo As Cdigo, CurNombre As Nombre, CurVacantes As Vacantes, CurProfe As Profesor From Curso Luego, haga click en el botn Aceptar. La ventana DataEnvironment debe presentar el siguiente aspecto:

A continuacin seleccione el comando CmConsultaCurso y arrstrelo con el botn derecho del ratn hacia el formulario. Del men desplegable que se presenta, seleccione la opcin Cuadrcula de datos.

Luego, cambie las dimensiones de la grilla de tal forma que ocupe la totalidad del formulario. Finalmente guarde y pruebe su aplicacin. Aplicacin N 3 Desarrollar una aplicacin que permita seleccionar de un control DataCombo el nombre de un profesor y visualizar los cursos que dicta dicho profesor.

Lo primero que debe hacer es conectarse a la base de datos CursosLibres.MDB. En seguida aada un comando y denomnelo CmConsultaProfe. Luego haga click derecho sobre el comando y seleccione Propiedades. Compruebe que este comando utiliza la conexin CnCursosLibres. Luego seleccione la opcin Instruccin SQL e ingrese el siguiente cdigo: Select CurCodigo As Cdigo, CurNombre As Nombre, CurProfe As Profesor From Curso Where (CurProfe = ?) A continuacin proceda a aadir otro comando y denomnelo CmProfe. Compruebe que este comando utiliza la conexin CnCursosLibres. Seleccione la opcin Instruccin SQL e ingrese el siguiente cdigo: Select Distinct CurProfe From Curso

Luego proceda ha ubicar los siguientes controles en el formulario: 1 control DataCombo 1 control DataGrid 1 botn de comandos En seguida proceda a establecer las propiedades segn se indica: Form1 Nombre Caption BorderStyle DataCombo1 Nombre ListField RowMember RowSource DataGrid1 Nombre Font HeadFont Command1 Nombre Caption CmdBuscar &Buscar DbgrdCursos Arial (Negrita 10) Arial (Negrita 10) DbcProfe CurProfe CmProfe DeCursosLibres FrmConsultaProfe Consulta de profesores 3-Fixed Dialog

A continuacin ingrese el siguiente cdigo: Private Sub CmdBuscar_Click() If DeCursosLibres.rsCmConsultaProfe.State = adStateOpen Then DeCursosLibres.rsCmConsultaProfe.Close End If DeCursosLibres.CmConsultaProfe (DbcProfe.Text) Set DbgrdCursos.DataSource = DeCursosLibres.rsCmConsultaProfe End Sub Aplicacin N 4

Desarrollar una aplicacin que permita mostrar el contenido de la tabla Laboratorio, relacionada con la tabla Curso, tal como se muestra a continuacin:

Observar que la tabla Laboratorio slo cuenta con tres campos. El campo que contiene el nombre del curso pertenece a la tabla Curso. La sentencia SQL que permite obtener consultas a partir de mltiples tablas (para nuestro caso Curso y Laboratorio), se indica a continuacin: Select Laboratorio.LabCodigo As Cdigo, Curso.CurNombre As Nombre, Laboratorio.LabHora As Horario, Laboratorio.LabProfe As [Jefe de prctica] From Laboratorio, Curso Where Laboratorio.LabCodigo = Curso.CurCodigo

Microsoft Visual Basic GUIA DE PRCTICAS N 7 Objetivos Luego de completar este laboratorio, el estudiante ser capaz de: " Utilizar el objeto ADO Connection para crear una conexin a una base de datos. " Crear un objeto ADO Recordset para recuperar informacin de una base de datos. " Utilizar el mtodo Execute de una conexin para actualizar la informacin de una base de datos. Consideraciones

Para el desarrollo del presente laboratorio Ud. deber crear una carpeta C:\FundVB\Lab7, para guardar sus trabajos correspondientes a este laboratorio. Aplicacin N 1 Elaborar una aplicacin que permita realizar el mantenimiento de la informacin contenida en la tabla Curso.

En esta aplicacin Ud. debe disear la interfaz y luego escribir cdigo para conectarse y recuperar informacin de la base de datos. Para el diseo de la interfaz, proceda a ubicar los siguientes controles en el formulario: 3 marcos 4 etiquetas 4 cajas de texto 8 botones de comando En seguida proceda a establecer las propiedades segn se indica: Form1 Caption Nombre Moveable StartUpPosition Frame1 Nombre Caption FraIngreso Mantenimiento FrmMantenCursos de cursos 3-Fixed Dialog False 2-CenterScreen

BorderStyle

Frame2 Nombre Caption Frame3 Nombre Caption FraMantenimiento Mantenimiento FraNavegador Navegador

Label1 Nombre Caption LblCodigo Cdigo:

Label2 Nombre Caption LblNombre Nombre:

Label3 Nombre Caption LblVacantes Vacantes:

Label4 Nombre Caption LblProfesor Profesor:

Text1 Nombre Locked Text TxtCurCodigo True

Text2 Nombre Locked Text TxtCurNombre True

Text3

Nombre Locked Text

TxtCurVacantes True

Text4 Nombre Locked Text TxtCurProfe True

Para establecer las propiedades de los botones de comando Command1, Command2, . . ., Command8, copiar los pasos de la pg. 87 a la pg. 88 de la GUIA DE PRCTICAS N 6 (Aplicacin N 1). Antes de ingresar cdigo a la aplicacin, debemos tener en cuenta que para poder utilizar los objetos ADO es una aplicacin Visual Basic es necesario cargar la librera correspondiente. Para ello selecciones el men Proyecto y elija la opcin Referencias. En el cuadro de dilogo Referencias seleccione la opcin Microsoft ActiveX Data Objects 2.1 Library, tal como se indica en la figura siguiente:

Luego de hacer click en el botn Aceptar estar en condiciones de utilizar los objetos ADO en su aplicacin.

El cdigo necesario para realizar la conexin y efectuar el mantenimiento de la tabla se muestra a continuacin. Observar la analoga cuando se utiliza Data Environment. Dim Cn As ADODB.Connection Dim Rs As ADODB.Recordset Private Sub ModoEditar(ByVal Ok As Boolean) TxtCurCodigo.Locked = Not Ok TxtCurNombre.Locked = Not Ok TxtCurVacantes.Locked = Not Ok TxtCurProfe.Locked = Not Ok CmdNuevo.Enabled = Not Ok CmdEditar.Enabled = Not Ok CmdGuardar.Enabled = Ok CmdEliminar.Enabled = Not Ok If Ok Then TxtCurCodigo.SetFocus End Sub Private Sub Form_Load() ModoEditar False Set Cn = New ADODB.Connection Set Rs = New ADODB.Recordset Cn.Open Provider=Microsoft.Jet.OLEDB.4.0; & _ Data Source=C:\FundVB\Data\CursosLibres.MDB; & _ Persist Security Info=False Rs.ActiveConnection = Cn Rs.CursorType = adOpenKeyset Rs.LockType = adLockOptimistic Rs.Open Select * From Curso Set TxtCurCodigo.DataSource = Rs TxtCurCodigo.DataField = CurCodigo Set TxtCurNombre.DataSource = Rs TxtCurNombre.DataField = CurNombre Set TxtCurVacantes.DataSource = Rs TxtCurVacantes.DataField = CurVacantes Set TxtCurProfe.DataSource = Rs TxtCurProfe.DataField = CurProfe

Private Sub CmdPrimero_Click() Rs.MoveFirst End Sub Private Sub CmdAnterior_Click() Rs.MovePrevious If Rs.BOF Then Rs.MoveFirst MsgBox Estamos en el primer registro End If End Sub Private Sub CmdSiguiente_Click() Rs.MoveNext If Rs.EOF Then Rs.MoveLast MsgBox Estamos en el ltimo registro End If End Sub Private Sub CmdUltimo_Click() Rs.MoveLast End Sub Private Sub CmdNuevo_Click() Rs.AddNew ModoEditar True End Sub Private Sub CmdEditar_Click() ModoEditar True End Sub Private Sub CmdGuardar_Click() Rs.Update ModoEditar False End Sub

Private Sub CmdEliminar_Click() Rs.Delete Rs.MoveNext If Rs.EOF Then Rs.MoveLast End If End Sub Private Sub Form_Unload(Cancel As Integer) Cn.Close Set Cn = Nothing End Sub Aplicacin N 2 Desarrollar una aplicacin que permita realizar una consulta a la tabla Curso. Para ello el usuario debe seleccionar de un cuadro combinado (combo) el nombre de un profesor y a continuacin se deben visualizar los cursos a su cargo. El diseo de la interfaz debe ser similar a la figura mostrada:

Para el desarrollo de esta aplicacin, proceda ha ubicar los siguientes controles en el formulario: 1 control ComboBox 1 control DataGrid 1 botn de comandos En seguida proceda a establecer las propiedades segn se indica: Form1 Nombre FrmConsultaProfe

Caption BorderStyle Combo1 Nombre Text DataGrid1 Nombre Font HeadFont Command1 Nombre Caption Default

Consulta de profesores 3-Fixed Dialog

CboProfe

DbgrdCursos Arial (Negrita 10) Arial (Negrita 10)

CmdBuscar &Buscar True

A continuacin debe ingresar el cdigo que se muestra en seguida: Dim Cn As ADODB.Connection Dim RsCurso As ADODB.Recordset Dim RsProfe As ADODB.Recordset Private Sub Form_Load() Set Cn = New ADODB.Connection Set RsProfe = New ADODB.Recordset Cn.Open Provider=Microsoft.Jet.OLEDB.4.0; & _ Data Source=C:\FundVB\Data\CursosLibres.MDB; & _ Persist Security Info=False RsProfe.ActiveConnection = Cn RsProfe.CursorType = adOpenStatic RsProfe.LockType = adLockOptimistic RsProfe.CursorLocation = adUseClient RsProfe.Open Select Distinct CurProfe From Curso Do While Not RsProfe.EOF() CboProfe.AddItem RsProfe(CurProfe) RsProfe.MoveNext Loop

End Sub Private Sub CmdBuscar_Click() Set RsCurso = New ADODB.Recordset RsCurso.ActiveConnection = Cn RsCurso.CursorType = adOpenStatic RsCurso.LockType = adLockReadOnly RsCurso.CursorLocation = adUseClient RsCurso.Open Select CurCodigo As Cdigo, & _ CurNombre As Nombre, CurProfe As Profesor & _ From Curso Where CurProfe = ' & CboProfe.Text & ' Set DbgrdCursos.DataSource = RsCurso End Sub Private Sub Form_Unload(Cancel As Integer) Cn.Close Set Cn = Nothing End Sub Aplicacin N 3 Desarrollar una aplicacin que permita realizar el mantenimiento de las tablas de la base de datos CursosLibres.MDB (estas tablas le sern proporcionadas con datos suficientes, por el Jefe de Prctica). El diseo de la interfaz debe ser similar a la siguiente figura:

Por ejemplo para realizar el mantenimiento de la tabla Curso debemos preparar los siguientes formularios:

Para desarrollar nuestra aplicacin debe agregar un mdulo de cdigo al proyecto. Luego ingrese lo siguiente: Public Cn As ADODB.Connection Tambin ser necesario agregar un formulario MDI. Luego, cambie el nombre del formulario por el de MDICursosLibres. En seguida, disee el men para la aplicacin segn se indica:

Caption &Mantenimiento MnuManten &Alumnos &Nuevo &Editar &Eliminar &Cursos &Nuevo &Editar &Eliminar &Laboratorio &Nuevo &Editar &Eliminar &Distrito &Nuevo &Editar &Eliminar &Salir MnuMantenAlumno MnuMantenAlumnoNuevo MnuMantenAlumnoEditar MnuMantenAlumnoEliminar MnuMantenCurso MnuMantenCursoNuevo MnuMantenCursoEditar MnuMantenCursoEliminar MnuMantenLaboratorio

Name Ninguno Ninguno Ninguno Ninguno Ninguno Ninguno Ninguno Ninguno Ninguno Ninguno Ninguno Ninguno Ninguno

ShortCut

MnuMantenLaboratorioNuevo MnuMantenLaboratorioEditar MnuMantenLaboratorioEliminar MnuMantenDistrito MnuMantenDistritoNuevo MnuMantenDistritoEditar MnuMantenDistritoEliminar MnuMantLinea MnuMantSalir Ninguno Ctrl + X

Ninguno Ninguno Ninguno Ninguno

Luego, haga doble click sobre el formulario e ingrese el siguiente cdigo: Private Sub MDIForm_Load() Set Cn = New ADODB.Connection Cn.Open Provider=Microsoft.Jet.OLEDB.4.0; & _ Data Source=C:\FundVB\Data\CursosLibres.MDB; & _ Persist Security Info=False End Sub Private Sub MnuMantenCursosNuevo_Click() Load FrmNuevoCurso FrmNuevoCurso.Show End Sub Private Sub MnuMantenCursosEditar_Click() Load FrmEditarCurso

FrmEditarCurso.Show End Sub Private Sub MnuMantenCursosEliminar_Click() Load FrmEliminarCurso FrmEliminarCurso.Show End Sub Para desarrollar la opcin Nuevo de la tabla Curso, aada un nuevo formulario al proyecto. Luego, ubique los siguientes controles en el formulario: 4 etiquetas 4 cajas de texto 3 botones de comando Luego proceda a establecer las propiedades segn se indica: Form1 Caption Nuevo curso Nombre FrmMantenCursos BorderStyle 3-Fixed Dialog MDIChild Label1 Nombre Caption Label2 Nombre Caption Label3 Nombre Caption Label4 Nombre Caption Text1 LblProfesor Profesor: LblVacantes Vacantes: LblNombre Nombre: LblCodigo Cdigo: True

Nombre Text Text2 Nombre Text Text3 Nombre Text Text4 Nombre Text Command1 Nombre Caption Command2 Nombre Caption Command3 Nombre Caption

TxtCurCodigo

TxtCurNombre

TxtCurVacantes

TxtCurProfe

CmdGrabar &Grabar

CmdNuevo &Nuevo

CmdCerrar &Cerrar

Una vez establecidas las propiedades, proceda a ingresar el siguiente cdigo: Private Sub Form_Load() CmdGrabar.Enabled = True CmdNuevo.Enabled = False End Sub Private Sub CmdGrabar_Click() Cn.Execute Insert Into Curso(CurCodigo, CurNombre, & _ CurVacantes, CurProfe) Values (' & TxtCurCodigo & _ ', & ' & TxtCurNombre & ', & _ Val(TxtCurVacantes) & , & ' & TxtCurProfe & ')

CmdGrabar.Enabled = False CmdNuevo.Enabled = True End Sub Private Sub CmdNuevo_Click() TxtCurCodigo = TxtCurNombre = TxtCurVacantes = TxtCurProfe = CmdGrabar.Enabled = True: CmdNuevo.Enabled = False TxtCurCodigo.SetFocus End Sub Private Sub CmdCerrar_Click() Unload Me End Sub Para desarrollar la opcin Editar de la tabla Curso, aada un nuevo formulario al proyecto. Luego, ubique los siguientes controles en el formulario: 1 marco 4 etiquetas 4 cajas de texto 4 botones de comando En seguida proceda a establecer las propiedades segn se indica: Caption Editar curso Form1 BorderStyle MDIChild Nombre Frame1 Nombre Caption Label1 Nombre LblCodigo FraCodigo 3-Fixed Dialog True FrmMantenCursos

Caption Label2 Nombre Caption Label3 Nombre Caption Label4 Nombre Caption

Cdigo:

LblNombre Nombre:

LblVacantes Vacantes:

LblProfesor Profesor:

Text1 Nombre Text TxtCurCodigo

Text2 Nombre Text TxtCurNombre

Text3 Nombre Text TxtCurVacantes

Text4 Nombre Text TxtCurProfe

Command1 Nombre Caption Command2 Nombre CmdGrabar CmdAceptar &Aceptar

Caption Command3 Nombre Caption Command4 Nombre Caption

&Grabar

CmdNuevo &Nuevo

CmdCerrar &Cerrar

Una vez establecidas las propiedades, proceda a ingresar el siguiente cdigo: Private Sub Form_Load() CmdAceptar.Enabled = True CmdGrabar.Enabled = False CmdNuevo.Enabled = False End Sub Private Sub CmdAceptar_Click() Dim Rs As New ADODB.Recordset Set Rs = Cn.Execute(Select CurNombre, & _ CurVacantes, CurProfe From Curso & _ Where CurCodigo = ' & TxtCurCodigo & ') If (Rs.EOF And Rs.BOF) Then MsgBox No existe ningn curso con este cdigo TxtCurCodigo.SetFocus TxtCurCodigo.SelStart = 0 TxtCurCodigo.SelLength = Len(TxtCurCodigo) Exit Sub End If TxtCurNombre = Rs!CurNombre TxtCurVacantes = Rs!CurVacantes TxtCurProfe = Rs!CurProfe Rs.Close Set Rs = Nothing TxtCurCodigo.Enabled = False CmdAceptar.Enabled = False CmdGrabar.Enabled = True

CmdNuevo.Enabled = True End Sub Private Sub CmdGrabar_Click() Cn.Execute Update Curso Set CurNombre = ' & _ TxtCurNombre & ', & CurVacantes = & _ Val(TxtCurVacantes) & , & CurProfe = ' & _ TxtCurProfe & ' & Where CurCodigo = ' & _ TxtCurCodigo & ' End Sub Private Sub CmdNuevo_Click() TxtCurCodigo = TxtCurNombre = TxtCurVacantes = TxtCurProfe = CmdAceptar.Enabled = True CmdGrabar.Enabled = False CmdNuevo.Enabled = False TxtCurCodigo.Enabled = True TxtCurCodigo.SetFocus End Sub Private Sub CmdCerrar_Click() Unload Me End Sub Para desarrollar la opcin Eliminar de la tabla Cursos, aada un nuevo formulario al proyecto. Luego, ubique los siguientes controles en el formulario: 1 marco 4 etiquetas 4 cajas de texto 4 botones de comando En seguida proceda a establecer las propiedades segn se indica: Form1

Nombre Caption BorderStyle MDIChild Frame1 Nombre Caption Label1 Nombre Caption Label2 Nombre Caption Label3 Nombre Caption Label4 Nombre Caption

FrmMantenCursos Eliminar curso 3-Fixed Dialog True

FraCodigo

LblCodigo Cdigo:

LblNombre Nombre:

LblVacantes Vacantes:

LblProfesor Profesor:

Text1 Nombre Text Text2 Nombre Text TxtCurNombre TxtCurCodigo

Text3 Nombre Text TxtCurVacantes

Text4 Nombre Text TxtCurProfe

Command1 Nombre Caption Command2 Nombre Caption Command3 Nombre Caption Command4 Nombre Caption CmdCerrar &Cerrar CmdNuevo &Nuevo CmdEliminar &Eliminar CmdAceptar &Aceptar

Una vez establecidas las propiedades, proceda a ingresar el siguiente cdigo: Private Sub Form_Load() CmdAceptar.Enabled = True CmdEliminar.Enabled = False CmdNuevo.Enabled = False End Sub Private Sub CmdEliminar_Click() Cn.Execute Delete From Curso & _ Where CurCodigo = ' & TxtCurCodigo & ' Call CmdNuevo_Click End Sub Private Sub CmdNuevo_Click() TxtCurCodigo = TxtCurNombre = TxtCurVacantes =

TxtCurProfe = CmdAceptar.Enabled = True CmdEliminar.Enabled = False CmdNuevo.Enabled = False TxtCurCodigo.Enabled = True TxtCurCodigo.SetFocus End Sub Private Sub CmdAceptar_Click() Dim Rs As New ADODB.Recordset Set Rs = Cn.Execute(Select CurNombre, & _ CurVacantes, CurProfe From Curso & _ Where CurCodigo = ' & TxtCurCodigo & ') If (Rs.EOF And Rs.BOF) Then MsgBox No existe ningn curso con este cdigo TxtCurCodigo.SetFocus TxtCurCodigo.SelStart = 0 TxtCurCodigo.SelLength = Len(TxtCurCodigo) Exit Sub End If TxtCurNombre = Rs!CurNombre TxtCurVacantes = Rs!CurVacantes TxtCurProfe = Rs!CurProfe Rs.Close Set Rs = Nothing TxtCurCodigo.Enabled = False CmdAceptar.Enabled = False CmdEliminar.Enabled = True CmdNuevo.Enabled = True End Sub Private Sub CmdCerrar_Click() Unload Me End Sub De manera similar proceda a desarrollar el cdigo para los formularios de mantenimiento de las dems tablas.

Aplicacin N 4 Elaborar una aplicacin que permita recuperar y mantener la informacin de la base de datos CursosLibres.MDB. Para tal fin debe preparar un formulario que permita establecer la conexin con el origen de datos. Luego, si la conexin es satisfactoria el usuario tiene la posibilidad de elegir una de las tablas de la base de datos para realizar las operaciones habituales de mantenimiento o simplemente para ejecutar consultas. El diseo de la interfaz debe ser similar a la siguiente figura:

Las opciones Mantenimiento y Consulta deben ser anlogas a las realizadas en aplicaciones anteriores. Microsoft Visual Basic GUIA DE PRCTICAS N 8 Objetivos Luego de completar este laboratorio, el estudiante ser capaz de: " Usar el diseador de reportes DataReport. " Utilizar y controlar la impresora para obtener reportes impresos. Consideraciones

Para el desarrollo del presente laboratorio Ud. deber crear una carpeta C:\FundVB\Lab8, para guardar sus trabajos correspondientes a este laboratorio. Aplicacin N 1 Disear un reporte que muestre la informacin almacenada en la tabla Cursos. El formato del reporte pedido se muestra a continuacin:

Para disear nuestro reporte, lo primero que debemos hacer es conectarnos a la base de datos CursosLibres.MDB. La conexin la haremos efectiva mediante el Data Environment. Luego, aada un Comando y denomnelo CmCurso. Establezca el nombre de la tabla a utilizar, para nuestro caso Curso. El aspecto de la ventana Data Environment deber ser similar a la figura:

Luego, del men Proyecto seleccionar la opcin Agregar Data Report, lo cual permite agregar el diseador de reportes:

En seguida del Data Environment seleccionar cada campo que desee incluir en el reporte y luego arrastre el campo hacia la seccin Detalles del Data Report. El diseador de reportes presenta un conjunto de controles que permiten mejorar la presentacin de nuestro reporte. En seguida ubicar los siguientes controles: 2 etiquetas en la seccin Encabezado de informe 4 etiquetas en la seccin Encabezado de pgina A continuacin proceda a establecer las propiedades segn se indica: Etiqueta1 Nombre Caption RptLblVAB Instituto de Educacin Superior Vctor Andrs Belande Arial (Negrita 09)

Font Etiqueta2 Nombre Caption Font Etiqueta3 Nombre Caption

RptLblNombre Reporte de Cursos Arial (Negrita Cursiva 16)

RptLblCodigo Cdigo:

Font Etiqueta4 Nombre Caption Font Etiqueta5 Nombre Caption Font Etiqueta6 Nombre Caption Font

Arial (Negrita 10)

RptLblNombre Nombre: Arial (Negrita 10)

RptLblVacantes Vacantes: Arial (Negrita 10)

RptLblProfesor Profesor: Arial (Negrita 10)

Para insertar la fecha actual dar un click con el botn derecho del ratn sobre el diseador de reportes en la seccin de Encabezado de informe, del men contextual que se presenta seleccionar la opcin Insertar control, luego Fecha actual (formato corto). En seguida, cambiar las siguientes propiedades: DataReport1 DataMember DataSource CmCurso DeCursosLibres

Luego, seleccione del men Proyecto la opcin Propiedades de Proyecto, y en la ficha General del cuadro de dilogo Propiedades del proyecto, establecer DataReport1 como objeto inicial. Haga click en Aceptar y ejecute su aplicacin. Aplicacin N 2 Disear un reporte que permita mostrar un listado de profesores y los cursos que tienen a su cargo. Tener en cuenta que la informacin relacionada con cada profesor debe empezar en una pgina nueva. El formato del reporte pedido se muestra a continuacin:

En esta aplicacin explicaremos como crear grupos de datos. Para ello iniciar un nuevo proyecto. En seguida, conectarse a la base de datos CursosLibres.MDB mediante el Data Environment. Luego, aada un Comando y denomnelo CmProfesor. Establezca el nombre de la tabla a utilizar, para nuestro caso Curso. Para realizar el agrupamiento por profesor seleccionar la ficha Agrupar del cuadro de dilogo Propiedades de CmProfesor. A continuacin activar la casilla de verificacin Agrupar comando, luego seleccionar de la lista de campos, el campo por el cual se desea agrupar la informacin, para nuestro caso seleccionar CurProfe y dar un click en el botn > . El cuadro de dilogo Propiedades de CmProfesor debe presentar un aspecto similar a la figura siguiente:

A continuacin sobre el diseador de reportes dar un click con el botn derecho del ratn y del men emergente que se presenta elegir la opcin Insertar encabezado o pie de grupo. Del objeto DeCursosLibres arrastrar el campo CurProfe de la seccin Campo de resumen en CmProfesor_Grouping al diseador de reportes pero a la seccin Encabezado de grupo. Los dems campos arrastrarlos de la seccin Campos de Detalle en CmProfesor a la seccin Detalle del generador de reportes. Por ltimo proceda a cambiar las siguientes propiedades del objeto DataReport: DataReport1 DataSource DataMember Aplicacin N 3 Desarrollar una aplicacin que permita crear un reporte para mostrar la informacin de la base de datos CursosLibres.MDB. Para tal fin debe preparar un formulario que permita al usuario elegir una tabla, y en seguida se debe generar el reporte correspondiente. Adems el usuario puede obtener una vista preliminar del reporte o una copia impresa. El diseo de la interfaz debe ser similar a la figura que se muestra a continuacin: DeCursosLibres CmProfesor_Grouping

Para desarrollar nuestra aplicacin, proceda a disear los reportes correspondientes segn:

Tabla Alumno Curso Laboratorio DataReport1 DataReport2 DataReport3

Reporte

Luego, ubique los siguientes controles sobre el formulario: 1 marco 3 botones de opcin 3 botones de comando En seguida proceda a establecer las propiedades segn se indica: Form1 Caption Nombre BorderStyle Frame1 Nombre Caption FraTablas Cursos Libres FrmReporteCursosLibres 3-Fixed Dialog

Option1 Nombre Caption OptTablaAlumno Alumno

Value

True

Option2 Nombre Caption Value OptTablaCurso Curso False

Option3 Nombre Caption Value OptTablaLaboratorio Laboratorio False

Command1 Nombre Caption Picture CmdVistaPrevia VistaPrevia C:\Archivos de programa\Microsoft Visual Studio\Common\Graphics\Bitmaps\Win95\ Explorer.bmp Style Command2 Nombre Caption Picture CmdImprimir Imprimir C:\Archivos de programa\Microsoft Visual Studio\Common\Graphics\Bitmaps\Win95\ Style Command3 Nombre Caption CmdSalir Salir Printfld.bmp 1-Graphical 1-Graphical

Una vez establecidas las propiedades, proceda a ingresar el siguiente cdigo: Private Sub CmdImprimir_Click() If OptTablaAlumno.Value Then DataReport1.PrintReport True

ElseIf OptTablaCurso.Value Then DataReport2.PrintReport True ElseIf OptTablaLaboratorio.Value Then DataReport2.PrintReport True End If End Sub Private Sub CmdVistaPrevia_Click() If OptTablaAlumno.Value Then DataReport1.Show ElseIf OptTablaCurso.Value Then DataReport2.Show ElseIf OptTablaLaboratorio.Value Then DataReport2.Show End If End Sub Private Sub CmdSalir_Click() Unload Me End Sub Cuando ejecute la aplicacin, al dar un click en el botn Imprimir se visualizar el siguiente cuadro de dilogo, el cual nos permitir confirmar o cancelar la impresin:

Aplicacin N 4 Disear un reporte combinando datos de la tabla Curso y Laboratorio. El reporte debe mostrar el cdigo del curso, el nombre del curso, el nombre del profesor de teora, el nombre del jefe de prctica y el horario de laboratorio. Dar formato al reporte segn su criterio. BIBLIOGRAFA 1. Enciclopedia de Microsoft Visual Basic 6 Fco. Javier Cevallos Ed. Alfaomega, 2000 2. Microsoft Visual Basic, Aplicaciones para Windows Fco. Javier Cevallos Ed. Addison-Wesley Iberoamericana 3. Microsoft Visual Basic, Manual del Programador Microsoft Press Mc Graw Hill, 1998 4. Curso de Visual Basic 6.0 en video Ricardo Solrzano Manjarrez Abits Software Microsoft Certified 5. Programacin Visual lawebdelprogramador.com Carlos Castillo Peralta