Está en la página 1de 202

GUA DE LABORATORIO

Parte I
ELABORADO POR
CARLOS CASTILLO PERALTA
cc_peralta@hotmail.com
INTRODUCCIN
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
1
La presente Gua de Laboratorio de Microsoft Visual Basic,
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 a incrementando el niel de dificultad.
!sta gua e"plora una gran ariedad de materias y contiene
muc#os problemas recopilados a lo largo de arios a$os de
e"periencia. !spero que satisfaga las necesidades de los
estudiantes y colegas, ya que #a sido elaborada teniendo en
cuenta los ob%etios de aprendiza%e del curso.
&i desean compartirla con otros colegas, me agradara
muc#o que lo #icieran, con la 'nica condicin de que siempre se
respete el derec#o del autor.
(esde ya les deseo la me%or de las suertes en el
aprendiza%e de Microsoft Visual Basic.
Lima, (iciembre del )***
Carlos Castillo Peralta
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
2
Microsoft Visual Basic
GUA DE LABORATORIO N 1
O!eti"o#
Luego de completar este laboratorio, el estudiante ser
capaz de+
,dentificar los elementos del entorno integrado de
desarrollo de Microsoft Visual Basic -.*.
.$adir controles a un formulario.
!stablecer las propiedades de los controles.
/raba%ar con procedimientos de eentos.
0rear una aplicacin simple con Microsoft Visual Basic.
Co$#i%eracio$e#
1ara el desarrollo del presente laboratorio 2d. deber
crear una carpeta C&'()$%*B'La1, para guardar sus traba%os
correspondientes a este laboratorio.
Aplicaci+$ N 1
!laborar una aplicacin que permita calcular el salario
neto de un traba%ador en funcin del n'mero de #oras
traba%adas, pago por #ora de traba%o y un descuento fi%o al
sueldo bruto del )* por 3**. Los clculos a efectuar para
obtener el salario neto de un traba%ador se muestran a
continuacin+
&alarioBruto 4 5oras/raba%adas 6 1ago1or5ora
(escuento 4 *.) 6 &alarioBruto
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
3
&alario7eto 4 &alarioBruto 8 (escuento
!l dise$o de la interfaz debe ser similar a la figura
mostrada+
1ara el desarrollo de esta aplicacin, proceda a ubicar
los siguientes controles en el formulario+
) marcos
- etiquetas
- ca%as de te"to
9 botones de comando
2na ez ubicados los controles, establezca las propiedades
seg'n se indica+
(orm1
7ombre :rm&alario7eto
Border&tyle 98:i"ed (ialog
0aption 0lculo del salario neto
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
4
Moeable :alse
&tart2p1osition )80enter&creen
(rame1
7ombre :ra,ngreso
0aption ,ngreso de datos+
(rame,
7ombre :ra&alida
0aption &alida de datos+
Lael1
7ombre Lbl.pellidos7ombres
.uto&ize /rue
0aption .pellidos y nombres+
Lael,
7ombre Lbl5oras/raba%adas
.uto&ize /rue
0aption 5oras traba%adas+
Lael-
7ombre Lbl1ago1or5ora
.uto&ize /rue
0aption 1ago por #ora &;.
Lael.
7ombre Lbl&alarioBruto
.uto&ize /rue
0aption &alario bruto &;.
Lael/
7ombre Lbl(escuento
.uto&ize /rue
0aption (escuento &;.
Lael0
7ombre Lbl&alario7eto
.uto&ize /rue
0aption &alario neto &;.
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
5
Te1t1
7ombre /"t.pellidos7ombres
/e"t
Te1t,
7ombre /"t5oras/raba%adas
/e"t
Te1t-
7ombre /"t1ago1or5ora
/e"t
Te1t.
7ombre /"t&alarioBruto
/e"t
Te1t/
7ombre /"t(escuento
/e"t
Te1t0
7ombre /"t&alario7eto
/e"t
Comma$%1
7ombre 0md.ceptar
0aption &.ceptar
Comma$%,
7ombre 0mdLimpiar
0aption &Limpiar
Comma$%-
7ombre 0md&alir
0aption &&alir
Luego de establecer las propiedades para los controles,
debe a$adir cdigo a la aplicacin. 1ara ello #aga doble clic<
sobre el botn .ceptar e ingrese el siguiente cdigo+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
6
1riate &ub 0md.ceptar=0lic<>?
(im 5oras/raba%adas .s ,nteger, 1ago1or5ora .s (ouble
(im &alarioBruto .s (ouble
(im (escuento .s (ouble
(im &alario7eto .s (ouble
5oras/raba%adas 4 Val>/"t5oras/raba%adas?
1ago1or5ora 4 Val>/"t1ago1or5ora?
&alarioBruto 4 5oras/raba%adas 6 1ago1or5ora
(escuento 4 *.) 6 &alarioBruto
&alario7eto 4 &alarioBruto 8 (escuento
/"t&alarioBruto 4 &tr>&alarioBruto?
/"t(escuento 4 &tr>(escuento?
/"t&alario7eto 4 &tr>&alario7eto?
!nd &ub
. continuacin #aga doble clic< sobre el botn &alir y
a$ada el siguiente cdigo+
1riate &ub 0md&alir=0lic<>?
!nd
!nd &ub
Guarde y luego e%ecute la aplicacin que acaba de crear.
1ruebe ingresando diferentes alores.
Luego, #aga doble clic< sobre el botn Limpiar y a$ada el
siguiente cdigo+
1riate &ub 0mdLimpiar=0lic<>?
/"t.pellidos7ombres 4 @A
/"t5oras/raba%adas 4 @A
/"t1ago1or5ora 4 @A
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
7
/"t&alarioBruto 4 @A
/"t(escuento 4 @A
/"t&alario7eto 4 @A
/"t.pellidos7ombres.&et:ocus
!nd &ub
Guarde y e%ecute su aplicacin. B0mo afecta el cdigo
a$adido en el botn Limpiar a la aplicacinC. .note sus
obseraciones.
Aplicaci+$ N ,
!l men' de un restaurante rpido se muestra a
continuacin+
&e desea construir una
aplicacin que calcule las
entas totales al final del
da, as como los impuestos
a pagar >3D por 3**?.
La interfaz de entrada y salida deber ser similar a la
figura mostrada a continuacin+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
2EN3 4RECIO 567.8
5amburguesa ).E*
0ereza F.**
Gaseosa 9.**
!nsalada 3.E*
&alc#ic#as ).**
Gefresco 3.**
&opa 3.E*
1ostre 3.E*
8
1ara el dise$o del cuadro de men' utilizaremos el control
Microsoft 5ierarc#ical :le"Grid. 1ara tal fin, seleccione el
Men' 1royecto y eli%a la opcin 0omponentes+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
9
. continuacin actie la casilla de erificacin Microsoft
5ierarc#ical :le"Grid 0ontrol -.* HL!(B y #aga clic< sobre el
botn .ceptar. !n seguida este control se a$adir al 0uadro de
5erramientas.
1ara el desarrollo de esta aplicacin, proceda a ubicar
los siguientes controles en el formulario+
3* etiquetas
3* ca%as de te"to
3 control M&5:le"Grid
9 botones de comando
!n seguida, elabore el dise$o de entrada y salida. 1ara
ello proceda a establecer las propiedades seg'n se indica a
continuacin+
(orm1
7ombre :rmGestaurante
Border&tyle 98:i"ed (ialog
0aption Gestaurante
Moeable :alse
&tart2p1osition )80enter&creen
Lael1
7ombre Lbl5amburguesa
.uto&ize /rue
0aption 5amburguesa+
Lael,
7ombre Lbl0ereza
.uto&ize /rue
0aption 0ereza+
Lael-
7ombre LblGaseosa
.uto&ize /rue
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
10
0aption Gaseosa+
Lael.
7ombre Lbl!nsalada
.uto&ize /rue
0aption !nsalada+
Lael/
7ombre Lbl&alc#ic#as
.uto&ize /rue
0aption &alc#ic#as+
Lael0
7ombre LblGefresco
.uto&ize /rue
0aption Gefresco+
Lael9
7ombre Lbl&opa
.uto&ize /rue
0aption &opa+
Lael:
7ombre Lbl1ostre
.uto&ize /rue
0aption 1ostre+
Lael;
7ombre LblVenta/otal
0aption Venta total &;.
Lael1<
7ombre Lbl,mpuesto
0aption ,mpuesto &;.
26=(le1Gri%1
7ombre GrdMenu
:ont .rial >7egrita 3*?
:ont:i"ed .rial >7egrita 3*?
Te1t1
7ombre /"t5amburguesa
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
11
/e"t
Te1t,
7ombre /"t0ereza
/e"t
Te1t-
7ombre /"tGaseosa
/e"t
Te1t.
7ombre /"t!nsalada
/e"t
Te1t/
7ombre /"t&alc#ic#as
/e"t
Te1t0
7ombre /"tGefresco
/e"t
Te1t9
7ombre /"t&opa
/e"t
Te1t:
7ombre /"t1ostre
/e"t
Te1t;
7ombre /"tVenta/otal
Loc<ed /rue
/e"t
Te1t1<
7ombre /"t,mpuesto
Loc<ed /rue
/e"t
Comma$%1
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
12
7ombre 0md.ceptar
0aption &.ceptar
Comma$%,
7ombre 0mdLimpiar
0aption &Limpiar
Comma$%-
7ombre 0md&alir
0aption &&alir
1icture 0+I.rc#ios de programaIMicrosoft Visual
&tudioI0ommonIGrap#icsI,consI.rroJsI1oint*F.ico
&tyle 38Grap#ical
!n primer lugar debemos cargar los datos a la cuadrcula.
!sto lo amos a realizar en tiempo de e%ecucin al momento de
cargarse en memoria el formulario. 1ara ello, #aga doble clic<
sobre el formulario y a$ada el siguiente cdigo+
1riate &ub :orm=Load>?
GrdMenu.0ols 4 )
GrdMenu.GoJs 4 K
GrdMenu.:i"ed0ols 4 *
GrdMenu.:i"edGoJs 4 3
GrdMenu./e"t.rray>*? 4 @Men'A
GrdMenu./e"t.rray>3? 4 @1recioA
GrdMenu./e"t.rray>)? 4 @5amburguesaA
GrdMenu./e"t.rray>9? 4 @).E*A
GrdMenu./e"t.rray>F? 4 @0erezaA
GrdMenu./e"t.rray>E? 4 @F.**A
GrdMenu./e"t.rray>-? 4 @GaseosaA
GrdMenu./e"t.rray>L? 4 @9.**A
GrdMenu./e"t.rray>D? 4 @!nsaladaA
GrdMenu./e"t.rray>K? 4 @3.E*A
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
13
GrdMenu./e"t.rray>3*? 4 @&alc#ic#asA
GrdMenu./e"t.rray>33? 4 @).**A
GrdMenu./e"t.rray>3)? 4 @GefrescoA
GrdMenu./e"t.rray>39? 4 @3.**A
GrdMenu./e"t.rray>3F? 4 @&opaA
GrdMenu./e"t.rray>3E? 4 @3.E*A
GrdMenu./e"t.rray>3-? 4 @1ostreA
GrdMenu./e"t.rray>3L? 4 @3.E*A
!nd &ub
Luego debemos a$adir el cdigo que se encargar de
realizar los clculos. 1ara tal fin #aga doble clic< sobre el
botn .ceptar y proceda a ingresar lo siguiente+
1riate &ub 0md.ceptar=0lic<>?
(im 5amburguesa .s ,nteger, 0ereza .s ,nteger
(im Gaseosa .s ,nteger, !nsalada .s ,nteger
(im &alc#ic#as .s ,nteger, Gefresco .s ,nteger
(im &opa .s ,nteger, 1ostre .s ,nteger
(im Venta/otal .s (ouble, ,mpuesto .s (ouble
5amburguesa 4 Val>/"t5amburguesa?
0ereza 4 Val>/"t0ereza?
Gaseosa 4 Val>/"tGaseosa?
!nsalada 4 Val>/"t!nsalada?
&alc#ic#as 4 Val>/"t&alc#ic#as?
Gefresco 4 Val>/"tGefresco?
&opa 4 Val>/"t&opa?
1ostre 4 Val>/"t1ostre?
Venta/otal 4 5amburguesa 6 ).E M 0ereza 6 F.* =
M Gaseosa 6 9.* M !nsalada 6 3.E M &alc#ic#as 6 ).* =
M Gefresco 6 3.* M &opa 6 3.E M 1ostre 6 3.E
,mpuesto 4 *.3D 6 Venta/otal
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
14
/"tVenta/otal 4 &tr>Venta/otal?
/"t,mpuesto 4 &tr>,mpuesto?
!nd &ub
Luego, #aga doble clic< sobre el botn Limpiar y a$ada el
siguiente cdigo+
1riate &ub 0mdLimpiar=0lic<>?
/"t5amburguesa 4 @A + /"t0ereza 4 @A
/"tGaseosa 4 @A + /"t!nsalada 4 @A
/"t&alc#ic#as 4 @A + /"tGefresco 4 @A
/"t&opa 4 @A + /"t1ostre 4 @A
/"tVenta/otal 4 @A + /"t,mpuesto 4 @A
/"t5amburguesa.&et:ocus
!nd &ub
. continuacin #aga doble clic< sobre el botn &alir y
a$ada el siguiente cdigo+
1riate &ub 0md&alir=0lic<>?
!nd
!nd &ub
Aplicaci+$ N -
!laborar una aplicacin que permita calcular la edad de
una persona a partir de su fec#a de nacimiento. !l dise$o de la
interfaz debe ser similar a la figura mostrada+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
15
1ara el desarrollo de esta aplicacin, proceda a ubicar
los siguientes controles en el formulario+
) etiquetas
) ca%as de te"to
9 botones de comando
Luego, proceda a establecer las propiedades seg'n se
indica a continuacin+
(orm1
7ombre :rm!dad
Border&tyle 98:i"ed (ialog
0aption 0alcula la edad de una persona
Lael1
7ombre Lbl:ec7ac
.uto&ize /rue
0aption :ec#a de nacimiento+
Lael,
7ombre Lbl!dad
.uto&ize /rue
0aption &u edad es+
Te1t1
7ombre /"t:ec7ac
/e"t
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
16
Te1t,
7ombre /"t!dad
Loc<ed /rue
/e"t
Comma$%1
7ombre 0md.ceptar
0aption &.ceptar
(efault /rue
Comma$%,
7ombre 0mdLimpiar
0aption &Limpiar
Comma$%-
7ombre 0md&alir
0ancel /rue
0aption &&alir
!n seguida proceda a ingresar el siguiente cdigo+
1riate &ub 0md.ceptar=0lic<>?
(im :ec7ac .s (ate, !dad .s ,nteger
:ec7ac 4 0(ate>/"t:ec7ac?
!dad 4 0,nt>>(ate 8 :ec7ac? ; 9-E?
/"t!dad 4 &tr>!dad? & @ a$osA
!nd &ub
&e de%a como e%ercicio para el estudiante el cdigo
asociado con los botones Limpiar y &alir, respectiamente.
Aplicaci+$ N .
&e tiene un ca%ero automtico el cual permite manipular
cierta cantidad de dinero para lo cual dispone de los
siguientes billetes+ &;. 3*.**, &;. )*.**, &;. E*.**,
&;. 3**.** y &;. )**.**. !laborar una aplicacin que permita la
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
17
lectura de la cantidad a retirar e indique el menor n'mero de
billetes a utilizar.
0reo que a estas alturas 2d. ya entendi como funciona
esto. 1or ello, esta aplicacin se de%a como e%ercicio para el
estudiante.
Microsoft Visual Basic
GUA DE LABORATORIO N ,
O!eti"o#
Luego de completar este laboratorio, el estudiante ser
capaz de+
,mplementar aplicaciones utilizando estructuras de control
selectias.
2sar casillas de erificacin y botones de opcin para
alternar entre uno o ms alores.
2tilizar ca%as de dilogo predefinidas para isualizar
mensa%es.
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
18
Co$#i%eracio$e#
1ara el desarrollo del presente laboratorio 2d. deber
crear una carpeta C&'()$%*B'La,, para guardar sus traba%os
correspondientes a este laboratorio.
Aplicaci+$ N 1
&e desea elaborar la boleta de pago de los traba%adores de
una fbrica. 1ara ello se cuenta con los siguientes datos de
entrada+
.pellidos y nombres del traba%ador
&ueldo bsico
5oras e"tras traba%adas
.dems, se sabe que los traba%adores laboran en dos
turnos+ diurno y nocturno. N que la tarifa por las #oras e"tras
diurnas es de 3* soles y por las #oras e"tras nocturnas es de
3E soles.
Los descuentos a aplicar son sobre el sueldo bsico y se
obtienen de la siguiente manera+
Genta 4 &ueldoBasico 6 *.3
:onai 4 &ueldoBasico 6 *.*L
.:1 4 &ueldoBasico 6 *.*9
:inalmente el sueldo neto del traba%ador se calcula
mediante las siguientes e"presiones+
,ngresos 4 &ueldoBasico M 5oras!"tras 6 1ago5ora!"tra
!gresos 4 Genta M :onai M .:1
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
19
&ueldo7eto 4 ,ngresos 8 !gresos
!l dise$o de la interfaz deber ser similar a la figura
mostrada+
1ara el desarrollo de esta aplicacin, proceda a ubicar
los siguientes controles en el formulario+
) marcos
E etiquetas
D ca%as de te"to
) botones de opcin
9 casillas de erificacin
9 botones de comando
Luego, proceda a establecer las propiedades seg'n se
indica a continuacin+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
20
(orm1
7ombre :rmBoleta(e1ago
Border&tyle 98:i"ed (ialog
0aption Boleta de pago
Moeable :alse
Lael1
7ombre Lbl/raba%ador
.uto&ize /rue
0aption /raba%ador+
Lael,
7ombre Lbl&ueldoBasico
.uto&ize /rue
0aption &ueldo Bruto &;.
Lael-
7ombre Lbl5oras!"tras
.uto&ize /rue
0aption 5oras e"tras+
Lael.
7ombre Lbl1ago5ora!"tra
.uto&ize /rue
0aption 1ago #ora e"tra &;.
Lael/
7ombre Lbl&ueldo7eto
.uto&ize /rue
0aption &ueldo neto &;.
Te1t1
7ombre /"t/raba%ador
/e"t
Te1t,
7ombre /"t&ueldoBasico
/e"t
Te1t-
7ombre /"t5oras!"tras
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
21
/e"t
Te1t.
7ombre /"t1ago5ora!"tra
Bac<0olor &5D******F&
/e"t
Te1t/
7ombre /"tGenta
Bac<0olor &5D******F&
Loc<ed /rue
/e"t
Te1t0
7ombre /"t:onai
Bac<0olor &5D******F&
Loc<ed /rue
/e"t
Te1t9
7ombre /"t.:1
Bac<0olor &5D******F&
Loc<ed /rue
/e"t
Te1t:
7ombre /"t&ueldo7eto
Bac<0olor &5D******F&
Loc<ed /rue
/e"t
Optio$1
7ombre Hpt(iurno
0aption (iurno
Value /rue
Optio$,
7ombre Hpt7octurno
0aption 7octurno
Value :alse
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
22
Chec>1
7ombre 0#<Genta
0aption Genta
Chec>,
7ombre 0#<:onai
0aption :onai
Chec>-
7ombre 0#<.:1
0aption .:1
Comma$%1
7ombre 0md.ceptar
0aption &.ceptar
(efault /rue
Comma$%,
7ombre 0mdLimpiar
0aption &Limpiar
Comma$%-
7ombre 0md&alir
0ancel /rue
0aption &&alir
2na ez establecidas las propiedades, proceda a ingresar
el cdigo que se indica a continuacin+
1riate &ub 0md.ceptar=0lic<>?
(im &ueldoBasico .s (ouble
(im 5oras!"tras .s ,nteger, 1ago5ora!"tra .s (ouble
(im Genta .s (ouble, :onai .s (ouble, .:1 .s (ouble
(im ,ngresos .s (ouble, !gresos .s (ouble
(im &ueldo7eto .s (ouble
&ueldoBasico 4 Val>/"t&ueldoBasico?
5oras!"tras 4 Val>/"t5oras!"tras?
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
23
,f Hpt(iurno /#en
1ago5ora!"tra 4 3*
!nd ,f
,f Hpt7octurno /#en
1ago5ora!"tra 4 3E
!nd ,f
,f 0#<Genta.Value /#en
Genta 4 &ueldoBasico 6 *.3
!lse
Genta 4 *
!nd ,f
,f 0#<:onai.Value /#en
:onai 4 &ueldoBasico 6 *.*L
!lse
:onai 4 *
!nd ,f
,f 0#<.:1.Value /#en
.:1 4 &ueldoBasico 6 *.*9
!lse
.:1 4 *
!nd ,f
,ngresos 4 &ueldoBasico M 5oras!"tras 6 1ago5ora!"tra
!gresos 4 Genta M :onai M .:1
&ueldo7eto 4 ,ngresos 8 !gresos
/"t1ago5ora!"tra 4 &tr>1ago5ora!"tra?
/"tGenta 4 &tr>Genta?
/"t:onai 4 &tr>:onai? + /"t.:1 4 &tr>.:1?
/"t&ueldo7eto 4 &tr>&ueldo7eto?
!nd &ub
1riate &ub 0md&alir=0lic<>?
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
24
!nd
!nd &ub
Aplicaci+$ N ,
0uatro notas entre * y )* representan las calificaciones
de un estudiante de un curso de programacin. !laborar una
aplicacin para obtener el promedio de esas calificaciones y
isualizar su puntuacin de acuerdo al siguiente cuadro+
4rome%io 4)$t)aci+$
3K8)* .
3-83D B
3383E 0
-83* (
*8E !
!l dise$o de la interfaz deber ser similar a la figura
mostrada+
1ara el desarrollo de esta aplicacin, proceda a ubicar
los siguientes controles en el formulario+
L etiquetas
L ca%as de te"to
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
25
9 botones de comando
Luego, proceda a establecer las propiedades seg'n se
indica a continuacin+
(orm1
7ombre :rm7otas
Border&tyle 98:i"ed (ialog
0aption 1untuacin de un estudiante
Lael1
7ombre Lbl.lumno
.uto&ize /rue
0aption .lumno+
Lael,
7ombre Lbl73
.uto&ize /rue
0aption 7ota 3+
Lael-
7ombre Lbl7)
.uto&ize /rue
0aption 7ota )+
Lael.
7ombre Lbl79
.uto&ize /rue
0aption 7ota 9+
Lael/
7ombre Lbl7F
.uto&ize /rue
0aption 7ota F+
Lael0
7ombre Lbl1romedio
.uto&ize /rue
0aption 1romedio+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
26
Lael9
7ombre Lbl1untuacion
.uto&ize /rue
0aption 1untuacin+
Te1t1
7ombre /"t.lumno
/e"t
Te1t,
7ombre /"t73
/e"t
Te1t-
7ombre /"t7)
/e"t
Te1t.
7ombre /"t79
/e"t
Te1t/
7ombre /"t7F
/e"t
Te1t0
7ombre /"t1romedio
Bac<0olor &5D******F&
Loc<ed /rue
/e"t
Te1t9
7ombre /"t1untuacion
Bac<0olor &5D******F&
Loc<ed /rue
/e"t
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
27
Comma$%1
7ombre 0md.ceptar
0aption &.ceptar
(efault /rue
Comma$%,
7ombre 0mdLimpiar
0aption &Limpiar
Comma$%-
7ombre 0md&alir
0ancel /rue
0aption &&alir
2na ez establecidas las propiedades, proceda a ingresar
el cdigo que se indica+
1riate &ub 0md.ceptar=0lic<>?
(im 73 .s (ouble, 7) .s (ouble, 79 .s (ouble, 7F .s (ouble
(im 1romedio .s ,nteger
73 4 Val>/"t73? + 7) 4 Val>/"t7)?
79 4 Val>/"t79? + 7F 4 Val>/"t7F?
1romedio 4 0,nt>>73 M 7) M 79 M 7F? ; F?
/"t1romedio 4 &tr>1romedio?
,f 1romedio O4 3K .nd 1romedio P4 )* /#en
/"t1untuacion 4 @.A
!lse,f 1romedio O4 3- .nd 1romedio P4 3D /#en
/"t1untuacion 4 @BA
!lse,f 1romedio O4 33 .nd 1romedio P4 3E /#en
/"t1untuacion 4 @0A
!lse,f 1romedio O4 - .nd 1romedio P4 3* /#en
/"t1untuacion 4 @(A
!lse,f 1romedio O4 * .nd 1romedio P4 E /#en
/"t1untuacion 4 @BA
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
28
!lse+ MsgBo" @!rror de datosA, b0ritical, @Mensa%eA
!nd ,f
!nd &ub
Aplicaci+$ N -
!scribir un aplicacin que acepte fec#as como tres n'meros
>dd, mm, aaaa? y las isualice del modo usual. . manera de
e%emplo considere lo siguiente+
!n caso de que el usuario ingrese alg'n dato incorrecto
>por e%emplo 39 como un n'mero de mes?, se debe isualizar el
siguiente mensa%e+
0uando el usuario #aga clic< en el botn &alir, se debe
obserar el siguiente mensa%e+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
29
!n caso de que el usuario eli%a la opcin &i, la
aplicacin debe terminar. !n caso contrario, es decir si el
usuario elige la opcin 7o, se debe proseguir con la
aplicacin.
1ara el desarrollo de esta aplicacin, proceda a ubicar
los siguientes controles en el formulario+
F etiquetas
9 ca%as de te"to
3 marco
9 botones de comando
!n seguida proceda a establecer las propiedades seg'n se
indica+
(orm1
7ombre :rm:ec#a
Border&tyle 98:i"ed (ialog
0aption :ec#a en letras
Lael1
7ombre Lbl(ia
.uto&ize /rue
0aption (a+
Lael,
7ombre LblMes
.uto&ize /rue
0aption Mes+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
30
Lael-
7ombre Lbl.nno
.uto&ize /rue
0aption .$o+
Lael.
7ombre Lbl:ec#a
.uto&ize /rue
0aption
Te1t1
7ombre /"t(ia
/e"t
Te1t,
7ombre /"tMes
/e"t
Te1t-
7ombre /"t.nno
/e"t
Comma$%1
7ombre 0md.ceptar
0aption &.ceptar
(efault /rue
Comma$%,
7ombre 0mdLimpiar
0aption &Limpiar
Comma$%-
7ombre 0md&alir
0aption &&alir
2na ez establecidas las propiedades de la interfaz
proceda a ingresar el siguiente cdigo+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
31
1riate &ub 0md.ceptar=0lic<>?
(im 0adMes .s &tring, Mes .s ,nteger
Mes 4 Val>/"tMes?
&elect 0ase Mes
0ase 3+ 0adMes 4 @!neroA
0ase )+ 0adMes 4 @:ebreroA
0ase 9+ 0adMes 4 @MarzoA
0ase F+ 0adMes 4 @.brilA
0ase E+ 0adMes 4 @MayoA
0ase -+ 0adMes 4 @QunioA
0ase L+ 0adMes 4 @QulioA
0ase D+ 0adMes 4 @.gostoA
0ase K+ 0adMes 4 @&etiembreA
0ase 3*+ 0adMes 4 @HctubreA
0ase 33+ 0adMes 4 @7oiembreA
0ase 3)+ 0adMes 4 @(iciembreA
0ase !lse
MsgBo" @!rror de datos...A, b0ritical, @Mensa%eA
0all 0mdLimpiar=0lic<
!"it &ub
!nd &elect
Lbl:ec#a 4 /"t(ia & @ de A & 0adMes & @ de A & /"t.nno
!nd &ub
1riate &ub 0mdLimpiar=0lic<>?
/"t(ia 4 @A + /"tMes 4 @A + /"t.nno 4 @A
/"t(ia.&et:ocus
!nd &ub
1riate &ub 0md&alir=0lic<>?
,f MsgBo">@B(esea terminar la aplicacinCA, =
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
32
bRuestion M bNes7o, @1reguntaA? 4 bNes /#en
!nd
!lse+ 0all 0mdLimpiar=0lic<
!nd ,f
!nd &ub
Aplicaci+$ N .
2n restaurante ofrece un descuento del 3*% para consumos
entre &;. 9*.** y &;. E*.**S un descuento del )*% para
consumos mayores a &;. E*.** nueos solesS para todos los dems
casos no se aplica ning'n tipo de descuento. !laborar una
aplicacin que permita determinar el importe a pagar por el
consumidor. !l dise$o de la interfaz y otras consideraciones se
de%an a su criterio.
Microsoft Visual Basic
GUA DE LABORATORIO N -
O!eti"o#
Luego de completar este laboratorio, el estudiante ser
capaz de+
,mplementar aplicaciones utilizando estructuras de control
repetitias.
0ambiar las propiedades de los controles en tiempo de
e%ecucin.
Co$#i%eracio$e#
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
33
1ara el desarrollo del presente laboratorio 2d. deber
crear una carpeta C&'()$%*B'La-, para guardar sus traba%os
correspondientes a este laboratorio.
Aplicaci+$ N 1
!scribir una aplicacin que lea un n'mero entero y muestre
la tabla de multiplicar de dic#o n'mero. !l dise$o de entrada y
salida debe ser similar al siguiente+
1ara el desarrollo de esta aplicacin, proceda a ubicar
los siguientes controles en el formulario+
3 etiqueta
) ca%as de te"to
3 botn de comando
!n seguida proceda a establecer las propiedades seg'n se
indica+
(orm1
7ombre :rm/abla
Border&tyle 98:i"ed (ialog
0aption /abla de multiplicar
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
34
Lael1
7ombre Lbl7umero
0aption ,ngrese un n'mero+
Te1t1
7ombre /"t7umero
/e"t
Te1t,
7ombre /"t/abla
MultiLine /rue
Loc<ed /rue
&crollBars )8Vertical
/e"t
Comma$%1
7ombre 0mdLimpiar
0aption &Limpiar
2na ez dise$ada la interfaz, proceda a ingresar el cdigo
que se indica a continuacin+
1riate &ub /"t7umero=0#ange>?
,f ,s7umeric>/"t7umero? /#en
(im 7 .s ,nteger, 1 .s ,nteger, , .s ,nteger
(im & .s &tring
7 4 Val>/"t7umero?
& 4 @A
:or , 4 * /o 3)
1 4 7 6 ,
& 4 & & 7 & @ 6 A & , & @ 4 A & 1 & b0rLf
7e"t ,
/"t/abla 4 &
!lse,f /"t7umero 4 @A /#en
!"it &ub
!lse+ MsgBo" @,ngrese un n'meroA, b0ritical, @Mensa%eA
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
35
/"t/abla 4 @A
!nd ,f
!nd &ub
1riate &ub 0mdLimpiar=0lic<>?
/"t7umero 4 @A + /"t/abla 4 @A
/"t7umero.&et:ocus
!nd &ub
Aplicaci+$ N ,
2n n'mero perfecto es un entero positio, que es igual a
la suma de todos los enteros positios >e"cluido el mismo? que
son diisores del n'mero. !l primer n'mero perfecto es -, ya
que los diisores de - son 3, ), 9 y 3 M ) M 9 4 -. !scribir
una aplicacin que encuentre los tres primeros n'meros
perfectos.
!l dise$o de la interfaz debe ser similar a la figura
mostrada+
1ara el desarrollo de esta aplicacin, proceda a ubicar
los siguientes controles en el formulario+
3 marco
3 ca%a de te"to
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
36
!n seguida proceda a establecer las propiedades seg'n se
indica+
(orm1
7ombre :rm7umero1erfecto
Border&tyle 98:i"ed (ialog
0aption Los 9 primeros n'meros perfectos
(rame1
7ombre :ra1erfecto
0aption 7'mero perfecto
Te1t1
7ombre /"t1erfecto
MultiLine /rue
/e"t
2na ez establecidas las propiedades proceda a ingresar el
cdigo que se indica a continuacin+
1riate &ub :orm=Load>?
(im 7 .s Long, , .s Long, & .s Long
(im T .s ,nteger, 0ad .s &tring
7 4 3 + T 4 * + 0ad 4 @A
U#ile /rue
& 4 *
:or , 4 3 /o >7 8 3?
,f 7 Mod , 4 * /#en & 4 & M ,
7e"t ,
,f 7 4 & /#en
0ad 4 0ad & 7 & b0rLf
T 4 T M 3
!nd ,f
,f T 4 9 /#en
/"t1erfecto 4 0ad
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
37
!"it &ub
!nd ,f
7 4 7 M 3
Uend
!nd &ub
Aplicaci+$ N -
0onstruya una aplicacin que permita el ingreso de un
n'mero entero y muestre en pantalla la siguiente informacin+
3? 0antidad de cifras, )? &uma de cifras impares, 9? &uma de
cifras pares, F? &uma total de cifras, E? 0ifra mayor, -? 0ifra
menor y L? (iisores de dic#o n'mero.
!l dise$o de la interfaz debe ser similar a la figura
siguiente+
1ara el desarrollo de esta aplicacin, proceda a ubicar
los siguientes controles en el formulario+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
38
F marcos
L etiquetas
D ca%as de te"to
3 botn de comando
!n seguida proceda a establecer las propiedades seg'n se
indica+
(orm1
7ombre :rm7umero1erfecto
Border&tyle 98:i"ed (ialog
0aption Los 9 primeros n'meros perfectos
Moeable :alse
&tart2p1osition )80enter&creen
(rame1
7ombre :ra!ntrada
0aption
(rame,
7ombre :ra&alida
0aption
(rame-
7ombre :ra(iisores
0aption (iisores
(rame.
7ombre :ra&alir
0aption
Lael1
7ombre Lbl7umero
.uto&ize /rue
0aption ,ngrese un n'mero+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
39
Lael,
7ombre Lbl0ant0ifras
.uto&ize /rue
0aption 0antidad de cifras+
Lael-
7ombre Lbl&um,mpares
.uto&ize /rue
0aption &uma de cifras impares+
Lael.
7ombre Lbl&um1ares
.uto&ize /rue
0aption &uma de cifras pares+
Lael/
7ombre Lbl&um/otal
.uto&ize /rue
0aption &uma total de cifras+
Lael0
7ombre Lbl0ifraMayor
.uto&ize /rue
0aption 0ifra mayor+
Lael9
7ombre Lbl0ifraMenor
.uto&ize /rue
0aption 0ifra menor+
Te1t1
7ombre /"t7umero
/e"t
Te1t,
7ombre /"t0ant0ifras
Loc<ed /rue
/e"t
Te1t-
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
40
7ombre /"t&um,mpares
Loc<ed /rue
/e"t
Te1t.
7ombre /"t&um1ares
Loc<ed /rue
/e"t
Te1t/
7ombre /"t&um/otal
Loc<ed /rue
/e"t
Te1t0
7ombre /"t0ifraMayor
Loc<ed /rue
/e"t
Te1t9
7ombre /"t0ifraMenor
Loc<ed /rue
/e"t
Te1t:
7ombre /"t(iisores
MultiLine /rue
Loc<ed /rue
&crollBars )8Vertical
/e"t
Comma$%-
7ombre 0md&alir
0aption &&alir
1icture 0+I:undVBIBitmapsI!"it.bmp
&tyle 38Grap#ical
2na ez establecidas las propiedades proceda #a ingresar
el cdigo que se indica a continuacin+
1riate &ub 0md.ceptar=0lic<>?
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
41
,f ,s7umeric>/"t7umero? /#en
(im & .s ,nteger, &, .s ,nteger, &1 .s ,nteger
(im May .s ,nteger, Min .s ,nteger
(im 0ad .s &tring
(im , .s ,nteger, Q .s ,nteger
7 4 0Lng>/"t7umero?
M 4 0Lng>/"t7umero?
0ad 4 @A
, 4 *
Q 4 3
& 4 &1 4 &, 4 *
:or Q 4 3 /o 7
,f >7 Mod Q 4 *? /#en
0ad 4 0ad & Q & b0rLf
!nd ,f
7e"t Q
U#ile >7 O *?
,f >>7 Mod 3*? Mod )? 4 * /#en
&1 4 &1 M >7 Mod 3*?
!lse
&, 4 &, M >7 Mod 3*?
!nd ,f
& 4 & M >7 Mod 3*?
7 4 7 I 3*
, 4 , M 3
Uend
May 4 Mid>/"t7umero, 3, 3?
Men 4 May
U#ile >M O *?
,f May P >M Mod 3*? /#en
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
42
May 4 M Mod 3*
!nd ,f
,f Men O >M Mod 3*? /#en
Men 4 M Mod 3*
!nd ,f
M 4 M I 3*
Uend
/"t0ant0ifras 4 &tr>,?
/"t&um,mpares 4 &tr>&,?
/"t&um1ares 4 &tr>&1?
/"t&um/otal 4 &tr>&?
/"t0ifraMayor 4 &tr>May?
/"t0ifraMenor 4 &tr>Men?
/"t(iisores 4 0ad
!lse
MsgBo" @(ebe ingresar un n'meroA, b0ritical, @Mensa%eA
/"t7umero.&et:ocus
!nd ,f
!nd &ub
1riate &ub 0md&alir=0lic<>?
,f MsgBo">@B(esea terminar la aplicacinCA, =
bRuestion M bNes7o, V1reguntaV? 4 bNes /#en
!nd
!lse
0ancel 4 /rue
/"t7umero.&et:ocus
!nd ,f
!nd &ub
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
43
Aplicaci+$ N .
2n centro numWrico es un n'mero que separa una lista de
n'meros enteros >comenzando en 3? en dos grupos de n'meros,
cuyas sumas son iguales. !l primer centro numWrico es el -, el
cual separa la lista >3 a D? en los grupos+ >3S )S 9S FS E? y
>LS D? cuyas sumas son ambas iguales a 3E. !l segundo centro
numWrico es el 9E, el cual separa la lista >3 a FK? en los
grupos+ >3 a 9F? y >9- a FK? cuyas sumas son ambas iguales a
EKE. &e pide elaborar una aplicacin que calcule los centros
numWricos entre 3 y 7.
!l dise$o de la interfaz y otras consideraciones se de%an
a su criterio.
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
44
Microsoft Visual Basic
GUA DE LABORATORIO N .
O!eti"o#
Luego de completar este laboratorio, el estudiante ser
capaz de+
Manipular y realizar operaciones con arreglos.
0rear una estructura y realizar operaciones con los campos de
la misma.
,mplementar arreglos de estructuras.
/raba%ar con listas desplegables y cuadros combinados.
Co$#i%eracio$e#
1ara el desarrollo del presente laboratorio 2d. deber
crear una carpeta C&'()$%*B'La. para guardar sus traba%os
correspondientes a este laboratorio.
Aplicaci+$ N 1
!labore una aplicacin que permita leer 7 n'meros de tipo
entero, y a continuacin los isualice ordenados en forma
ascendente o descendente.
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
45
1ara el desarrollo de esta aplicacin, proceda a ubicar
los siguientes controles en el formulario+
9 marcos
3 ca%a de te"to
3 control lista
) botones de opcin
9 botones de comando
!n seguida proceda a establecer las propiedades seg'n se
indica+
(orm1
7ombre :rmBurbu%a
Border&tyle 98:i"ed (ialog
0aption Hrdenacin por burbu%a
Moeable :alse
(rame1
7ombre :ra7umero
0aption ,ngrese un nueo n'mero+
(rame,
7ombre :raLista
0aption Lista de n'meros+
(rame-
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
46
7ombre :raHrden
0aption Hrden+
Te1t1
7ombre /"t7umero
/e"t
Li#t1
7ombre Lst7umero
List
Optio$1
7ombre Hpt.scendente
0aption .scendente
Value /rue
Optio$,
7ombre Hpt(escendente
0aption (escendente
Value :alse
Comma$%1
7ombre 0md.nnadir
0aption &.$adir
(efault /rue
Comma$%,
7ombre 0mdHrdenar
0aption &Hrdenar
Comma$%-
7ombre 0md&alir
0aption &&alir
1icture 0+I.rc#ios de programaIMicrosoft Visual
&tudioI0ommonIGrap#icsI,consI.rroJsI
1oint*F.ico
&tyle 38Grap#ical
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
47
2na ez establecidas las propiedades proceda a ingresar el
cdigo que se indica a continuacin+
1riate &ub 0md.ceptar=0lic<>?
,f ,s7umeric>/"t7umero./e"t? /#en
Lst7umero..dd,tem /"t7umero./e"t
/"t7umero./e"t 4 @A
/"t7umero.&et:ocus
!lse
MsgBo" @,ngrese un n'meroA, b0ritical, @Mensa%eA
/"t7umero.&el&tart 4 *
/"t7umero.&elLengt# 4 Len>/"t7umero./e"t?
/"t7umero.&et:ocus
!nd ,f
!nd &ub
1riate &ub 0mdHrdenar=0lic<>?
(im , .s ,nteger, Q .s ,nteger, / .s ,nteger, 7 .s ,nteger
(im .>? .s ,nteger
7 4 Lst7umero.List0ount
Ge(im .>7?
:or , 4 * /o 7 8 3
.>,? 4 Lst7umero.List>,?
7e"t ,
,f Hpt.scendente.Value /#en
:or , 4 * /o 7 8 )
:or Q 4 , M 3 /o 7 8 3
,f .>,? O .>Q? /#en
/ 4 .>,?
.>,? 4 .>Q?
.>Q? 4 /
!nd ,f
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
48
7e"t Q
7e"t ,
!nd ,f
,f Hpt(escendente.Value /#en
:or , 4 * /o 7 8 )
:or Q 4 , M 3 /o 7 8 3
,f .>,? P .>Q? /#en
/ 4 .>,?
.>,? 4 .>Q?
.>Q? 4 /
!nd ,f
7e"t Q
7e"t ,
!nd ,f
Lst7umero.0lear
:or , 4 * /o 7 8 3
Lst7umero.List>,? 4 .>,?
7e"t ,
!nd &ub
1riate &ub :orm=2nload>0ancel .s ,nteger?
,f MsgBo">@(esea terminar la aplicacinCA, =
bRuestion M bNes7o, @1reguntaA? 4 bNes /#en
!nd
!lse+ 0ancel 4 /rue + /"t7umero.&et:ocus
!nd ,f
!nd &ub
1riate &ub 0md&alir=0lic<>?
2nload Me
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
49
!nd &ub
Aplicaci+$ N ,
!laborar una aplicacin que permita seleccionar un
artculo de un cuadro combinado >0ombo?. .penas el usuario
seleccione un artculo se debe mostrar el precio del mismo, el
interWs es fi%o para esta ocasin.
!l dise$o de la interfaz debe ser similar a la siguiente
figura+
La enta #a realizarse es a plazos, ello condiciona la
cuota mensual a pagarse. 0uando se #aga clic< sobre el botn
0uota mensual debe mostrarse un cuadro de dilogo con los datos
propuestos+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
50
(e manera similar al #acer clic< sobre el botn /otal nos
debe mostrar la cantidad total a pagar.
1ara el desarrollo de esta aplicacin, proceda a ubicar
los siguientes controles en el formulario+
3 marco
9 etiquetas
3 cuadro combinado
) ca%as de te"to
9 botones de opcin
) botones de comando
!n seguida proceda a establecer las propiedades seg'n se
indica+
(orm1
7ombre :rm0otizacion
Border&tyle 98:i"ed (ialog
0aption 1edido de cotizaciones
(rame1
7ombre :ra1lazo
0aption 1lazo+
Lael1
7ombre Lbl.rticulo
0aption .rtculo+
Lael,
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
51
7ombre Lbl1recio
0aption 1recio 2&X
Lael-
7ombre Lbl,nteres
0aption ,nterWs+
Como1
7ombre 0bo.rticulo
/e"t
Te1t1
7ombre /"t1recio
Loc<ed /rue
/e"t
Te1t,
7ombre /"t,nteres
Loc<ed /rue
/e"t
Optio$1
7ombre Hpt1lazo
0aption - meses
Value /rue
Optio$,
7ombre Hpt1lazo
0aption 3) meses
Value :alse
Optio$-
7ombre Hpt1lazo
0aption )F meses
Value :alse
Comma$%1
7ombre 0md0uotaMensual
0aption &0uota mensual
Comma$%,
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
52
7ombre 0md/otal
0aption &/otal
2na ez establecidas las propiedades de la interfaz, #aga
doble clic< sobre el formulario e ingrese las siguientes
declaraciones en la seccin General del mdulo de formulario+
1riate /ype .rticulo
7ombre .s &tring 6 9*
1recio .s (ouble
!nd /ype
(im .>F? .s .rticulo, 1lazo .s ,nteger
0onst ,nteres 4 *.3)
Gecuerde que un dato declarado en la seccin General de un
mdulo puede ser accedido por todos los procedimientos de dic#o
mdulo. Luego, contin'e ingresando el cdigo que se muestra a
continuacin+
1riate &ub :orm=Load>?
.>*?.7ombre 4 @Monitor &.M&27G &yncMaster 9A
.>3?.7ombre 4 @,mpresora 5eJlett 1ac<ard (es<Qet K9*0A
.>)?.7ombre 4 @,mpresora !pson &tylus 0olor LF*A
.>9?.7ombre 4 @Microprocesador 1entium , )99 M5YA
.>*?.1recio 4 3E* + .>3?.1recio 4 )LE
.>)?.1recio 4 3FE + .>9?.1recio 4 D*
(im , .s ,nteger
:or , 4 3 /o F
0bo.rticulo..dd,tem .>, 8 3?.7ombre
7e"t ,
/"t,nteres 4 ,nteres + 1lazo 4 -
!nd &ub
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
53
1riate &ub 0bo.rticulo=0lic<>?
(im , .s ,nteger
, 4 0bo.rticulo.List,nde"
/"t1recio 4 .>,?.1recio
!nd &ub
1riate &ub Hpt1lazo=0lic<>,nde" .s ,nteger?
&elect 0ase ,nde"
0ase *+ 1lazo 4 -
0ase 3+ 1lazo 4 3)
0ase )+ 1lazo 4 )F
!nd &elect
!nd &ub
1riate &ub 0md0uotaMensual=0lic<>?
(im /otal .s (ouble, 0uotaMensual .s (ouble, , .s ,nteger
, 4 0bo.rticulo.List,nde"
/otal 4 .>,?.1recio 6 >3 M ,nteres?
0uotaMensual 4 /otal ; 1lazo
MsgBo" @0uota Mensual 2&XA & &tr>0uotaMensual?
!nd &ub
1riate &ub 0md/otal=0lic<>?
(im /otal .s (ouble, , .s ,nteger
, 4 0bo.rticulo.List,nde"
/otal 4 .>,?.1recio 6 >3 M ,nteres?
MsgBo" @/otal 2&XA & &tr>/otal?
!nd &ub
Aplicaci+$ N -
&e desea elaborar una aplicacin que permita controlar el
proceso de matrcula en un curso de computacin. 1ara ello se
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
54
deben recabar los siguientes datos+ 3? 0urso en que se
matricula el alumno, )? :ec#a de matrcula, 9? .pellidos y
nombres, F? &e"o, E? (ireccin, y -? (istrito de residencia.
1ara el desarrollo de esta aplicacin proceda a ubicar los
siguientes controles en el formulario+
F marcos
- etiquetas
E ca%as de te"to
3 cuadro combinado
) controles de lista
F botones de comando
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
55
!n seguida proceda a establecer las propiedades seg'n se
indica+
(orm1
7ombre :rm:ic#aMatricula
Border&tyle 98:i"ed (ialog
0aption :ic#a de matrcula
(rame1
7ombre :ra,ngreso
0aption ,ngreso de datos+
(rame,
7ombre :raHpciones
0aption Hpciones+
(rame-
7ombre :ra0ursos
0aption 0ursos+
(rame.
7ombre :ra(istritos
0aption (istritos+
Lael1
7ombre Lbl0urso
0aption 0urso+
Lael,
7ombre Lbl:ec#aMat
0aption :ec#a de matrcula+
Lael-
7ombre Lbl.lumno
0aption .lumno+
Lael.
7ombre Lbl&e"o
0aption &e"o+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
56
Lael/
7ombre Lbl(ireccin
0aption (ireccin+
Lael0
7ombre Lbl(istrito
0aption (istrito+
Como1
7ombre 0bo&e"o
/e"t
Li#t1
7ombre Lst0ursos
/e"t
Li#t,
7ombre Lst(istrito
/e"t
Te1t1
7ombre /"t0urso
/e"t
Te1t,
7ombre /"t:ec#aMat
/e"t
Te1t-
7ombre /"t.lumno
/e"t
Te1t.
7ombre /"t(ireccion
/e"t
Te1t/
7ombre /"t(istrito
/e"t
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
57
Comma$%1
7ombre 0mdGuardar
0aption &Guardar
Comma$%,
7ombre 0md0ancelar
0aption &0ancelar
Comma$%-
7ombre 0mdLimpiar
0aption &Limpiar
Comma$%.
7ombre 0md&alir
0aption &&alir
1icture 0+I:undVBIBitmapsI!"it.bmp
&tyle 38Grap#ical
2na ez establecidas las propiedades de la interfaz,
proceda a ingresar el cdigo que se indica a continuacin+
1riate &ub :orm=Load>?
Lst0ursos..dd,tem @Borland 0MM 7iel ,A
Lst0ursos..dd,tem @Borland 0MM 7iel ,,A
Lst0ursos..dd,tem @Microsoft Visual Basic 7iel ,A
Lst0ursos..dd,tem @Microsoft Visual Basic 7iel ,,A
Lst0ursos..dd,tem @Microsoft Visual :o"1ro 7iel ,A
Lst0ursos..dd,tem @Microsoft Visual :o"1ro 7iel ,,A
Lst0ursos..dd,tem @Microsoft Visual 0MM 7iel ,A
Lst0ursos..dd,tem @Microsoft Visual 0MM 7iel ,,A
Lst0ursos..dd,tem @Microsoft Visual QMM 7iel ,A
Lst0ursos..dd,tem @Microsoft Visual QMM 7iel ,,A
Lst0ursos..dd,tem @Microsoft &RL &erer 7iel ,A
Lst0ursos..dd,tem @Microsoft &RL &erer 7iel ,,A
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
58
Lst0ursos..dd,tem @Microsoft 1oJer Builder 7iel ,A
Lst0ursos..dd,tem @Microsoft 1oJer Builder 7iel ,,A
Lst(istrito..dd,tem @0allaoA
Lst(istrito..dd,tem @BellaistaA
Lst(istrito..dd,tem @0armen de la LeguaA
Lst(istrito..dd,tem @La 1erlaA
Lst(istrito..dd,tem @La 1untaA
Lst(istrito..dd,tem @VentanillaA
Lst(istrito..dd,tem @0ercado de LimaA
Lst(istrito..dd,tem @.ncnA
Lst(istrito..dd,tem @.teA
Lst(istrito..dd,tem @BarrancoA
Lst(istrito..dd,tem @Bre$aA
Lst(istrito..dd,tem @0arabaylloA
Lst(istrito..dd,tem @0omasA
Lst(istrito..dd,tem @0#aclacayoA
Lst(istrito..dd,tem @0#orrillosA
Lst(istrito..dd,tem @!l .gustinoA
Lst(istrito..dd,tem @Qes's MaraA
Lst(istrito..dd,tem @La MolinaA
Lst(istrito..dd,tem @La VictoriaA
Lst(istrito..dd,tem @LinceA
Lst(istrito..dd,tem @Luriganc#oA
Lst(istrito..dd,tem @LurnA
Lst(istrito..dd,tem @Magdalena del MarA
Lst(istrito..dd,tem @MirafloresA
Lst(istrito..dd,tem @1ac#acamacA
Lst(istrito..dd,tem @1ucusanaA
Lst(istrito..dd,tem @1ueblo LibreA
Lst(istrito..dd,tem @1uente 1iedraA
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
59
Lst(istrito..dd,tem @1unta 7egraA
Lst(istrito..dd,tem @GimacA
Lst(istrito..dd,tem @&an BartoloA
Lst(istrito..dd,tem @&an ,sidroA
Lst(istrito..dd,tem @,ndependenciaA
Lst(istrito..dd,tem @&an Quan de MirafloresA
Lst(istrito..dd,tem @&an LuisA
Lst(istrito..dd,tem @&an Martn de 1orresA
Lst(istrito..dd,tem @&an MiguelA
Lst(istrito..dd,tem @&antiago de &urcoA
Lst(istrito..dd,tem @Villa Mara del /riunfoA
Lst(istrito..dd,tem @&an Quan de Luriganc#oA
Lst(istrito..dd,tem @&anta Mara del MarA
Lst(istrito..dd,tem @&anta GosaA
Lst(istrito..dd,tem @Los HliosA
Lst(istrito..dd,tem @0ieneguillaA
Lst(istrito..dd,tem @&an Bor%aA
Lst(istrito..dd,tem @Villa el &aladorA
Lst(istrito..dd,tem @&anta .nitaA
0bo&e"o..dd,tem @MasculinoA + 0bo&e"o..dd,tem @:emeninoA
!nd &ub
1riate &ub :orm=2nload>0ancel .s ,nteger?
,f MsgBo">@B(esea terminar la aplicacinCA, =
bRuestion M bNes7o, @1reguntaA? 4 bNes /#en
!nd
!lse
0ancel 4 /rue
0all 0mdLimpiar=0lic<
!nd ,f
!nd &ub
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
60
1riate &ub Lst0ursos=0lic<>?
/"t0ursos 4 Lst0ursos
!nd &ub
1riate &ub Lst(istrito=0lic<>?
/"t(istrito 4 Lst(istrito
!nd &ub
1riate &ub 0mdGuardar=0lic<>?
Lst0ursos.!nabled 4 :alse
Lst(istrito.!nabled 4 :alse
/"t0ursos.Loc<ed 4 /rue
/"t:ec#aMat.Loc<ed 4 /rue
/"t.lumno.Loc<ed 4 /rue
0bo&e"o.Loc<ed 4 /rue
/"t(ireccion.Loc<ed 4 /rue
/"t(istrito.Loc<ed 4 /rue
MsgBo" @.lumno matriculadoA, b,nformation, @Mensa%eA
!nd &ub
1riate &ub 0mdLimpiar=0lic<>?
Lst0ursos.!nabled 4 /rue
Lst(istrito.!nabled 4 /rue
/"t0ursos.Loc<ed 4 :alse
/"t:ec#aMat.Loc<ed 4 :alse
/"t.lumno.Loc<ed 4 :alse
0bo&e"o.Loc<ed 4 :alse
/"t(ireccion.Loc<ed 4 :alse
/"t(istrito.Loc<ed 4 :alse
/"t0ursos 4 @A
/"t:ec#aMat 4 @A
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
61
/"t.lumno 4 @A
0bo&e"o 4 @A
/"t(ireccion 4 @A
/"t(istrito 4 @A
/"t0ursos.&et:ocus
!nd &ub
1riate &ub 0md0ancelar=0lic<>?
,f MsgBo">@B(esea modificar alg'n datoCA, =
bRuestion M bNes7o, @Mensa%eA? 4 bNes /#en
Lst0ursos.!nabled 4 /rue
Lst(istrito.!nabled 4 /rue
/"t0ursos.Loc<ed 4 :alse
/"t:ec#aMat.Loc<ed 4 :alse
/"t.lumno.Loc<ed 4 :alse
0bo&e"o.Loc<ed 4 :alse
/"t(ireccion.Loc<ed 4 :alse
/"t(istrito.Loc<ed 4 :alse
!nd ,f
!nd &ub
1riate &ub 0md&alir=0lic<>?
2nload Me
!nd &ub
Aplicaci+$ N .
(esarrollar una aplicacin que permita realizar consultas
acerca de un determinado curso, los cuales se mostraran en una
lista. !l usuario debe seleccionar un curso y en seguida se
debe presentar el nombre del profesor encargado del curso
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
62
>teora?, el nombre del %efe de prctica >laboratorio?, as
como los #orarios de teora y de laboratorio. !l dise$o de la
interfaz deber ser similar al siguiente+
Microsoft Visual Basic
GUA DE LABORATORIO N /
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
63
O!eti"o#
Luego de completar este laboratorio, el estudiante ser
capaz de+
0rear procedimientos y funciones definidos por el usuario.
.$adir formularios creados anteriormente a un proyecto.
0ambiar el formulario de arranque de un proyecto.
2tilizar formularios M(,.
Mane%ar diferentes mWtodos y propiedades de los formularios.
0rear y utilizar men's en una aplicacin.
Co$#i%eracio$e#
1ara el desarrollo del presente laboratorio 2d. deber
crear una carpeta C&'()$%*B'La/, para guardar sus traba%os
correspondientes a este laboratorio.
Aplicaci+$ N 1
!scriba una funcin que reciba como argumento una cadena
de caracteres y la deuela en forma inersa, por e%emplo si se
ingresa la cadena 0HG.YH7 deber retornar 7HY.GH0.
1ara el desarrollo de esta aplicacin, proceda a ubicar
los siguientes controles en el formulario+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
64
) etiquetas
) ca%as de te"to
9 botones de comando
!n seguida proceda a establecer las propiedades seg'n se
indica+
(orm1
7ombre :rm0ad,nertida
0aption 0adena inertida
Border&tyle 98:i"ed (ialog
Lael1
7ombre Lbl0adena
.utosize /rue
0aption ,ngresa una cadena+
Lael,
7ombre Lbl,nertida
.utosize /rue
0aption 0adena inertida+
Te1t1
7ombre /"t0adena
/e"t
Te1t,
7ombre /"t,nertida
Loc<ed /rue
/e"t
Comma$%1
7ombre 0md.ceptar
0aption &.ceptar
Comma$%,
7ombre 0mdLimpiar
0aption &Limpiar
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
65
Comma$%-
7ombre 0md&alir
0aption &&alir
2na ez establecidas las propiedades de la interfaz,
proceda a ingresar el siguiente cdigo+
:unction 0ad,nertida>0adena .s &tring? .s &tring
(im ,nertida>? .s &tring 6 3
(im , .s ,nteger
(im Q .s ,nteger
7 4 Len>0adena?
Ge(im ,nertida>7?
:or , 4 3 /o 7
,nertida>, 8 3? 4 Mid>0adena, ,, 3?
7e"t ,
:or Q 4 >7 8 3? /o * &tep 83
0ad,nertida 4 0ad,nertida & ,nertida>Q?
7e"t Q
!nd :unction
1riate &ub 0md,nertir=0lic<>?
/"t,nertida 4 0ad,nertida>/"t0adena?
!nd &ub
1riate &ub 0mdLimpiar=0lic<>?
/"t0adena 4 @A
/"t,nertida 4 @A
/"t0adena.&et:ocus
!nd &ub
1riate &ub 0md&alir=0lic<>?
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
66
!nd
!nd &ub
Aplicaci+$ N ,
&e desea elaborar una aplicacin que permita controlar el
proceso de matrcula en un curso de computacin. 1ara ello se
deben recabar los siguientes datos+ 3? 0urso en que se
matricula el alumno, )? :ec#a de matrcula, 9? .pellidos y
nombres, F? &e"o, E? (ireccin, y -? (istrito de residencia. !l
dise$o de la interfaz debe ser similar a la figura mostrada+
1ara seleccionar un curso el usuario deber #acer clic< en
el botn punteado que se encuentra al lado de la ca%a de te"to.
!n seguida se presentar un men' de seleccin por realce en el
cual se presenta la relacin de todos los cursos disponibles.
!l curso quedar seleccionado al #acer clic< en el botn
.ceptar.
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
67
!l mismo tipo de seleccin deber realizarse al momento de
ingresar el nombre del distrito.
1ara el desarrollo de esta aplicacin necesitamos tres
formularios y un mdulo. !n primer lugar proceda a a$adir un
mdulo de cdigo al proyecto. &eleccione el Men' 1royecto y
eli%a la opcin .gregar mdulo, se debe presentar un cuadro de
dilogo similar a la siguiente figura+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
68
(el cuadro de dilogo .gregar mdulo, en la fic#a 7ueo,
#aga clic< en el botn .brir. Luego ingrese el siguiente cdigo
en la seccin de (eclaraciones del mdulo que acabamos de
a$adir+
1ublic 0urso .s &tring
1ublic (istrito .s &tring
!n seguida proceda a cambiar el nombre formulario
principal por :rm:ic#aMatricula. Luego debe a$adir los dems
formularios necesarios para construir la aplicacin. 1ara tal
fin, seleccione el men' 1royecto y eli%a la opcin .gregar
formulario. (el cuadro de dilogo .gregar formulario, en la
fic#a 7ueo, eli%a la opcin :ormulario y #aga clic< en el
botn .brir. &e debe presentar un cuadro de dilogo similar a
la siguiente figura+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
69
!n ese instante se a$adir un nueo formulario al
proyecto. 0ambie el nombre del nueo formulario por :rm0urso.
Gepita el procedimiento anterior para a$adir el formulario
:rm(istrito.
. continuacin copie los pasos de la pg. EE a la pg. -)
de la Gua de Laboratorio 7Z F >.plicacin 7Z 9? con los
siguientes cambios+
!n la pg. EE, a$adir slo ) marcos. 7o a$adir ning'n
control de lista. !n ez de F botones de comando, a$adir -
botones de comando. Luego, establecer las siguientes
propiedades para los dos nueos botones+
Comma$%/
7ombre 0md0urso
0aption . . .
Comma$%0
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
70
7ombre 0md(istrito
0aption . . .
!n la pg. EK, reemplazar el cdigo del eento Load del
formulario por el siguiente+
1riate &ub :orm=Load>?
0bo&e"o..dd,tem VMasculinoV
0bo&e"o..dd,tem V:emeninoV
!nd &ub
!n la pg. -3, suprimir el cdigo asociado al eento 0lic<
de los controles de lista Lst0ursos y Lst(istrito. !n su lugar
a$adir lo siguiente+
1riate &ub 0md0urso=0lic<>?
Load :rm0urso
:rm0urso.&#oJ bModal
/"t0urso 4 0urso
!nd &ub
1riate &ub 0md(istrito=0lic<>?
Load :rm(istrito
:rm(istrito.&#oJ bModal
/"t(istrito 4 (istrito
!nd &ub
. continuacin actie el formulario :rm0urso, para ello
#aga clic< sobre el mismo. !n seguida proceda a ubicar los
siguientes controles en el formulario+
3 control de lista
3 botones de comando
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
71
Luego proceda a establecer las propiedades seg'n se
indica+
(orm,
7ombre :rm0urso
Border&tyle 98:i"ed (ialog
0aption 0ursos
Li#t1
7ombre Lst0ursos
/e"t
Comma$%1
7ombre 0md.ceptar
0aption &.ceptar
2na ez establecidas las propiedades proceda a ingresar el
cdigo que se indica a continuacin+
1riate &ub :orm=Load>?
Lst0ursos..dd,tem @Borland 0MM 7iel ,A
Lst0ursos..dd,tem @Borland 0MM 7iel ,,A
Lst0ursos..dd,tem @Microsoft Visual Basic 7iel ,A
Lst0ursos..dd,tem @Microsoft Visual Basic 7iel ,,A
Lst0ursos..dd,tem @Microsoft Visual :o"1ro 7iel ,A
Lst0ursos..dd,tem @Microsoft Visual :o"1ro 7iel ,,A
Lst0ursos..dd,tem @Microsoft Visual 0MM 7iel ,A
Lst0ursos..dd,tem @Microsoft Visual 0MM 7iel ,,A
Lst0ursos..dd,tem @Microsoft &RL &erer 7iel ,A
Lst0ursos..dd,tem @Microsoft &RL &erer 7iel ,,A
Lst0ursos..dd,tem @Microsoft 1oJer Builder 7iel ,A
Lst0ursos..dd,tem @Microsoft 1oJer Builder 7iel ,,A
!nd &ub
1riate &ub 0md.ceptar=0lic<>?
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
72
0urso 4 Lst0ursos./e"t
:rm0urso.5ide
!nd &ub
1or 'ltimo, proceda 2d. a desarrollar el cdigo respectio
para el formulario :rm(istrito.
Aplicaci+$ N -
!laborar una aplicacin que permita presentar los
diferentes tipos de formularios de Visual Basic. 2tilice como
contenedor principal un formulario M(,, tal como se muestra en
la figura+
1ara el desarrollo de esta aplicacin necesitamos utilizar
un formulario M(, >interfaz de m'ltiples documentos?. 1ara ello
seleccione el Men' 1royecto y eli%a la opcin .gregar
formulario M(,, se debe presentar un cuadro de dilogo similar
a la siguiente figura+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
73
(el cuadro de dilogo .gregar formulario M(,, en la fic#a
7ueo, #aga clic< en el botn .brir. !n seguida cambie el
nombre del formulario M(, por M(,1rincipal.
. continuacin proceda a a$adir los formularios para las
diferentes opciones del men'. 0ambie los nombres de los
formularios seg'n se indica+
(orm)lario Nomre
:orm3 :rm7one
:orm) :rm:i"ed&ingle
:orm9 :rm&izable
:ormF :rm:i"ed(ialog
:ormE :rm:i"ed/oolUindoJ
:orm- :rm&izable/oolUindoJ
:ormL :rm.cerca(e
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
74
Luego proceda a dise$ar el men' de opciones. 1ara ello
#aga clic< derec#o sobre el formulario M(, y eli%a la opcin
!ditor de men's. !stablezca las propiedades seg'n+
Captio$ Name 6hortC)t
&Men' 1rincipal Mnu1rincipal 7inguno
&*87one Mnu7one 7inguno
&38:i"ed &ingle Mnu:i"ed&ingle 7inguno
&)8&izable Mnu&izable 7inguno
&98:i"ed (ialog Mnu:i"ed(ialog 7inguno
&F8:i"ed /oolUindoJ Mnu:i"ed/oolUindoJ 7inguno
&E8&izable /oolUindoJ Mnu&izable/oolUindoJ 7inguno
8 MnuLinea 7inguno
&.cerca del autor Mnu.cerca(e 7inguno
&&alir Mnu&alir 0trl M [
. continuacin #aga clic< en el botn .ceptar del !ditor
de men's. Luego proceda a ingresar el siguiente cdigo para el
formulario M(,+
1riate &ub M(,:orm=2nload>0ancel .s ,nteger?
,f MsgBo">@B(esea terminar la aplicacinCA, =
bRuestion M bNes7o, @Mensa%eA? 4 bNes /#en
!nd
!lse+ 0ancel 4 /rue
!nd ,f
!nd &ub
1riate &ub Mnu7one=0lic<>?
Load :rm7one
:rm7one.&#oJ
!nd &ub
1riate &ub Mnu:i"ed&ingle=0lic<>?
Load :rm:i"ed&ingle
:rm:i"ed&ingle.&#oJ
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
75
!nd &ub
1riate &ub Mnu&izable=0lic<>?
Load :rm&izable
:rm&izable.&#oJ
!nd &ub
1riate &ub Mnu:i"ed(ialog=0lic<>?
Load :rm:i"ed(ialog
:rm:i"ed(ialog.&#oJ
!nd &ub
1riate &ub Mnu:i"ed/oolUindoJ=0lic<>?
Load :rm:i"ed/oolUindoJ
:rm:i"ed/oolUindoJ.&#oJ
!nd &ub
1riate &ub Mnu&izable/oolUindoJ=0lic<>?
Load :rm&izable/oolUindoJ
:rm&izable/oolUindoJ.&#oJ
!nd &ub
1riate &ub Mnu.cerca(e=0lic<>?
Load :rm.cerca(e
:rm.cerca(e.&#oJ
!nd &ub
1riate &ub Mnu&alir=0lic<>?
2nload Me
!nd &ub
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
76
. continuacin proceda a actiar el formulario :rm7one y
ubique un botn de comandos sobre el mismo. !n seguida
establezca las propiedades seg'n se indica a continuacin+
(orm1
7ombre :rm7one
Border&tyle *87one
0aption 7one
M(,0#ild /rue
Comma$%1
7ombre 0mdVoler
0aption &Voler
2na ez establecidas las propiedades, proceda a ingresar
el cdigo que se muestra a continuacin+
1riate &ub 0mdVoler=0lic<>?
2nload Me
!nd &ub
Gepita el procedimiento anterior para los dems tipos de
formularios.
Aplicaci+$ N .
!laborar una aplicacin que acepte como entrada la resera
de agua de un depsito y los litros que se consumen a la
semana. 2tilizando una funcin definida por el usuario
determinar como resultado las cantidades de agua que quedan al
final de cada semana. !l proceso finalizar cuando no quede
agua suficiente para una semana. 2tilizar otro formulario para
mostrar la salida.
(IN 4ARTE I
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
77
GUA DE LABORATORIO
Parte II
ELABORADO POR
CARLOS CASTILLO PERALTA
cc_peralta@hotmail.com
INTRODUCCIN
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
78
La presente Gua de Laboratorio de Microsoft Visual Basic,
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 a incrementando el niel de dificultad.
!sta gua e"plora una gran ariedad de materias y contiene
muc#os problemas recopilados a lo largo de arios a$os de
e"periencia. !spero que satisfaga las necesidades de los
estudiantes y colegas, ya que #a sido elaborada teniendo en
cuenta los ob%etios de aprendiza%e del curso.
&i desean compartirla con otros colegas, me agradara
muc#o que lo #icieran, con la 'nica condicin de que siempre se
respete el derec#o del autor.
(esde ya les deseo la me%or de las suertes en el
aprendiza%e de Microsoft Visual Basic.
Lima, (iciembre del )***
0arlos 0astillo 1eralta
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
79
Microsoft Visual Basic
GUA DE LABORATORIO N 0
O!eti"o#
Luego de completar este laboratorio, el estudiante ser
capaz de+
0rear y manipular bases de datos utilizando Microsoft .ccess.
.dicionar un entorno de datos a un proyecto.
0onectar un origen de datos a un ob%eto 0onnection.
2tilizar un ob%eto 0ommand para recuperar registros de un
origen de datos.
0rear formularios con datos enlazados.
Gealizar consultas utilizando sentencias &RL.
Co$#i%eracio$e#
1ara el desarrollo del presente laboratorio 2d. deber
crear una carpeta C&'()$%*B'La0, para guardar sus traba%os
correspondientes a este laboratorio.
Creaci+$ %e la a#e %e %ato# co$ 2icro#o?t Acce## ,<<<
1ara desarrollar nuestras prcticas de laboratorio debemos
crear una base de datos cuyo nombre es 0ursosLibres.M(B, la
cual contendr las tablas 0urso y Laboratorio. La tarea de
crear una base de datos con Microsoft .ccess )*** es muy
sencilla. 1ara tal fin debe realizar lo siguiente+
.rrancar Microsoft .ccess )***.
&eleccionar la orden 7uea. . . del Men' .rc#io.
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
80
(entro del cuadro de dilogo 7uea, en la fic#a General,
seleccionar Base de datos y #acer clic< en el botn .ceptar.
,ngresar un nombre para la base de datos, para nuestro caso
ingrese 0ursosLibres. !n seguida se mostrar una entana
similar a la siguiente+
1roceda a crear una nuea tabla. 1ara ello seleccionar la
opcin /ablas y #aga doble clic< en 0rear una tabla en ista
(ise$o.
,ntroducir el nombre, el tipo y las propiedades para cada uno
de los campos. 1ara nuestro caso ingrese lo siguiente+
Tala C)r#o
Nomre %el
Campo
Tipo A$cho De#cripci+$
0ur0odigo / *9
0digo del curso
0ur7ombre / 9*
7ombre del curso
0urVacantes 7 *9
7'mero de acantes disponibles
0ur1rofe / E*
7ombre del profesor de teora
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
81
0ur&ilabo M E*
&labo de cada curso
Luego, debe asignar un nombre a la tabla al momento de
cerrarla. 1ara nuestro caso asgnele el nombre de 0urso.
1or 'ltimo, proceda a abrir la tabla e introducir datos. 1ara
nuestro caso, ingrese la siguiente informacin+
C)rCo%i@o C)rNomre C)r4ro?e
B03 Borland 0MM 7iel , Linares .larcon, .dams
B0) Borland 0MM 7iel ,, 0rdoba &aaedra, Qaier
B09 Borland 0MM 7iel ,,, 0astillo 1eralta, 0arlos
VB3 M& Visual Basic 7iel , Linares .larcon, .dams
VB) M& Visual Basic 7iel ,, Linares .larcon, .dams
VB9 M& Visual Basic 7iel ,,, 0astillo 1eralta, 0arlos
V03 M& Visual 0MM 7iel , 0rdoba &aaedra, Qaier
V0) M& Visual 0MM 7iel ,, 0astillo 1eralta, 0arlos
VQ3 M& Visual QMM 7iel , 0astillo 1eralta, 0arlos
VQ) M& Visual QMM 7iel ,, 0astillo 1eralta, 0arlos
V:3 M& Visual :o"1ro 7iel , Linares .larcon, .dams
V:) M& Visual :o"1ro 7iel ,, 0astillo 1eralta, 0arlos
V:9 M& Visual :o"1ro 7iel ,,, 0astillo 1eralta, 0arlos
1B3 1oJer Builder 7iel , 0rdoba &aaedra, Qaier
1B) 1oJer Builder 7iel ,, 0rdoba &aaedra, Qaier
&R3 M& &RL &erer 7iel , 0rdoba &aaedra, Qaier
&R) M& &RL &erer 7iel ,, 0rdoba &aaedra, Qaier
U,7 M& UindoJs KD Montes /e%ada, !stela
. menudo, el proceso de dise$o de la base de datos es
bastante comple%o. 1ara nosotros #a sido fcil, pues se nos
brinda la estructura de las tablas.
(e manera anloga, proceda a crear la siguiente tabla
seg'n se indica a continuacin+
Tala Laoratorio
Nomre %el
Campo
Tipo A$cho De#cripci+$
Lab0odigo / *9
0digo del curso
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
82
Lab5ora / *D
5orario de laboratorio
Lab1rofe / E*
7ombre del profesor de laboratorio
.l momento de cerrar la tabla que acaba de crear, asgnele
el nombre de Laboratorio. Luego, proceda a ingresar la
siguiente informacin+
LaCo%i@o La=ora La4ro?e
B03 &. *D83* 0astillo 1eralta, 0arlos
B0) &. 3*83) Linares .larcon, .dams
B09 (H 3*83) 0astillo 1eralta, 0arlos
VB3 &. *D83* Montes /e%ada, !stela
VB) (H 3*83) Linares .larcon, .dams
VB9 (H *D83* 0astillo 1eralta, 0arlos
V03 (H *D83* Linares .larcon, .dams
V0) (H 3*83) 0rdoba &aaedra, Qaier
VQ3 &. 3-83D 0astillo 1eralta, 0arlos
VQ) &. 3D8)* 0astillo 1eralta, 0arlos
V:3 &. *D83* Linares .larcon, .dams
V:) (H *D83* 0rdoba &aaedra, Qaier
V:9 (H 3F83- Linares .larcon, .dams
1B3 V, 3-83D 0rdoba &aaedra, Qaier
1B) V, 3F83- 0rdoba &aaedra, Qaier
&R3 &. 3-83D 0rdoba &aaedra, Qaier
&R) &. 3D8)* 0rdoba &aaedra, Qaier
U,7 &. 3*83) Montes /e%ada, !stela
Aplicaci+$ N 1
!laborar una aplicacin que permita realizar el
mantenimiento de la informacin almacenada en la tabla 0urso de
la base de datos 0ursosLibres.M(B. !l dise$o de la interfaz
debe ser similar a la figura mostrada+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
83
Los botones ubicados en el marco 7aegador >1rimero,
.nterior, &iguiente y 2ltimo, de izquierda a derec#a? permiten
desplazarse a traWs de la tabla. Los botones ubicados en el
marco Mantenimiento >7ueo, !ditar, Guardar y !liminar, de
izquierda a derec#a? permiten realizar las operaciones bsicas
de mantenimiento de la tabla.
1ara desarrollar nuestra aplicacin, lo primero que
debemos #acer es conectarnos a la base de datos
0ursosLibres.M(B. 1ara ello ingrese a Visual Basic de manera
#abitual, a continuacin en el men' 1royecto seleccione la
opcin .gregar (ata !nironment y se crear una nuea cone"in
para la que debe establecer propiedades de nculo de datos. !n
la entana (ata !nironment cambie el nombre del ob%eto
(ata!nironment por (e0ursosLibres y el de la cone"in por
0n0ursosLibres. !l aspecto de la entana (ata !nironment
deber ser similar a la siguiente figura+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
84
Luego #aga clic< con el botn derec#o del ratn en
0n0ursosLibres y seleccione la opcin 1ropiedades. (eber
presentarse un cuadro de dilogo similar al siguiente+
!n la fic#a 1roeedor del cuadro de dilogo anterior,
seleccione Microsoft Qet F.* HL! (B 1roider y #aga clic< en el
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
85
botn &iguiente. !n seguida aparecer un cuadro de dilogo
similar al mostrado+
!n la fic#a 0one"in del cuadro de dilogo 1ropiedades de
(ata Lin< escriba el nombre de la base de datos
0ursosLibres.M(B y #aga clic< en el botn 1robar cone"in.
Luego si la cone"in es satisfactoria #aga clic< en el botn
.ceptar.
!n seguida en la barra de #erramientas de la entana (ata
!nironment #aga clic< en el botn .gregar 0omando y denomine
al comando 0m0urso. Luego #aga clic< derec#o sobre el comando y
seleccione 1ropiedades+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
86
0ompruebe que este comando utiliza la cone"in
0n0ursosLibres, luego establezca el nombre de la tabla a
utilizar, en este caso 0urso y #aga clic< en el botn .ceptar.
. continuacin seleccione el comando 0m0urso y arrstrelo
#acia el formulario. :inalmente agregue los siguientes
controles al formulario+
9 marcos
K botones de comandos
!n seguida proceda a establecer las propiedades
requeridas+
(orm1
7ombre :rmManten0urso
0aption Mantenimiento de cursos
Border&tyle 98:i"ed (ialog
(rame1
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
87
7ombre :ra,ngreso
0aption
(rame,
7ombre :ra7aegador
0aption 7aegador
(rame-
7ombre :raMantenimiento
0aption Mantenimiento
Ll(iel%Lael5<8
7ombre Lbl:ieldLabel
0aption 0digo+
Ll(iel%Lael518
7ombre Lbl:ieldLabel
0aption 7ombre+
Ll(iel%Lael5,8
7ombre Lbl:ieldLabel
0aption Vacantes+
Ll(iel%Lael5-8
7ombre Lbl:ieldLabel
0aption 1rofesor+
T1tC)rCo%i@o
7ombre /"t0ur0odigo
Loc<ed /rue
/e"t
T1tC)rNomre
7ombre /"t0ur7ombre
Loc<ed /rue
/e"t
T1tC)r*aca$te#
7ombre /"t0urVacantes
Loc<ed /rue
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
88
/e"t
T1tC)r4ro?e
7ombre /"t0ur1rofe
Loc<ed /rue
/e"t
Comma$%1
7ombre 0md1rimero
0aption
1icture 0+I:undVBIBitmapsI:irst.bmp
&tyle 38Grap#ical
Comma$%,
7ombre 0md.nterior
0aption
1icture 0+I:undVBIBitmapsI1reious.bmp
&tyle 38Grap#ical
Comma$%-
7ombre 0md&iguiente
0aption
1icture 0+I:undVBIBitmapsI7e"t.bmp
&tyle 38Grap#ical
Comma$%.
7ombre 0md2ltimo
0aption
1icture 0+I:undVBIBitmapsILast.bmp
&tyle 38Grap#ical
Comma$%/
7ombre 0md7ueo
0aption
1icture 0+I:undVBIBitmapsI7eJ.bmp
&tyle 38Grap#ical
Comma$%0
7ombre 0md!ditar
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
89
0aption
1icture 0+I:undVBIBitmapsI!dit.bmp
&tyle 38Grap#ical
Comma$%9
7ombre 0mdGuardar
0aption
1icture 0+I:undVBIBitmapsI&ae.bmp
&tyle 38Grap#ical
Comma$%:
7ombre 0md!liminar
0aption
1icture 0+I:undVBIBitmapsI(elete.bmp
&tyle 38Grap#ical
Comma$%;
7ombre 0md&alir
0aption &&alir
1icture 0+I:undVBIBitmapsI!"it.bmp
&tyle 38Grap#ical
!l cdigo asociado a la aplicacin se muestra a
continuacin+
1riate &ub 0md1rimero=0lic<>?
(e0ursosLibres.rs0m0urso.Moe:irst
!nd &ub
1riate &ub 0md2ltimo=0lic<>?
(e0ursosLibres.rs0m0urso.MoeLast
!nd &ub
1riate &ub 0md.nterior=0lic<>?
(e0ursosLibres.rs0m0urso.Moe1reious
,f (e0ursosLibres.rs0m0urso.BH: /#en
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
90
(e0ursosLibres.rs0m0urso.Moe:irst
MsgBo" @!stamos en el primer registroA
!nd ,f
!nd &ub
1riate &ub 0md&iguiente=0lic<>?
(e0ursosLibres.rs0m0urso.Moe7e"t
,f (e0ursosLibres.rs0m0urso.!H: /#en
(e0ursosLibres.rs0m0urso.MoeLast
MsgBo" @!stamos en el 'ltimo registroA
!nd ,f
!nd &ub
1riate &ub 0md7ueo=0lic<>?
(e0ursosLibres.rs0m0urso..dd7eJ
Modo!ditar /rue
!nd &ub
1riate &ub 0md!ditar=0lic<>?
Modo!ditar /rue
!nd &ub
1riate &ub 0mdGuardar=0lic<>?
(e0ursosLibres.rs0m0urso.2pdate
Modo!ditar :alse
!nd &ub
1riate &ub 0md!liminar=0lic<>?
(e0ursosLibres.rs0m0urso.(elete
(e0ursosLibres.rs0m0urso.Moe7e"t
,f (e0ursosLibres.rs0m0urso.!H: /#en
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
91
(e0ursosLibres.rs0m0urso.MoeLast
!nd ,f
!nd &ub
1riate &ub 0md&alir=0lic<>?
2nload Me
!nd
1riate &ub :orm=2nload>0ancel .s ,nteger?
,f MsgBo">@B(esea terminar la aplicacinCA, =
bRuestion M bNes7o, @1reguntaA? 4 bNes /#en
!nd
!lse
0ancel 4 /rue
!nd ,f
!nd &ub
1riate &ub :orm=.ctiate>?
Modo!ditar :alse
!nd &ub
1riate &ub Modo!ditar>ByVal H< .s Boolean?
/"t0ur0odigo.Loc<ed 4 7ot H<+ /"t0ur7ombre.Loc<ed 4 7ot H<
/"t0urVacantes.Loc<ed 4 7ot H<+ /"t0ur1rofe.Loc<ed 4 7ot H<
0md7ueo.!nabled 4 7ot H<+ 0md!ditar.!nabled 4 7ot H<
0mdGuardar.!nabled 4 H<+ 0md!liminar.!nabled 4 7ot H<
0md1rimero.&et:ocus+ ,f H< /#en /"t0ur0odigo.&et:ocus
!nd &ub
:inalmente antes de e%ecutar la aplicacin debemos
asegurarnos de elegir el tipo de bloqueo adecuado. 1ara ello
#aga clic< derec#o sobre el comando 0m0urso y eli%a la opcin
1ropiedades y en la fic#a .anzadas selecciones el tipo de
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
92
bloqueo 98Hptimistic, tal como se muestra en la figura
siguiente+
Aplicaci+$ N ,
(esarrollar una aplicacin que permita mostrar en una
grilla el contenido de la tabla 0urso. !l dise$o de la interfaz
se muestra a continuacin+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
93
1ara desarrollar la aplicacin, lo primero que debemos
#acer es conectarnos a la base de datos 0ursosLibres.M(B.
Luego, a$ada un 0omando y denomnelo 0m0onsulta0urso. 5aga
clic< derec#o sobre el comando y seleccione 1ropiedades+
0ompruebe que este comando utiliza la cone"in
0n0ursosLibres. Luego seleccione la opcin ,nstruccin &RL
>&tructured Ruery Language, Lengua%e de !structuras de
0onsultas? e ingrese el siguiente cdigo+
&elect 0ur0odigo .s 0digo, 0ur7ombre .s 7ombre,
0urVacantes .s Vacantes, 0ur1rofe .s 1rofesor :rom 0urso
Luego, #aga clic< en el botn .ceptar. La entana
(ata!nironment debe presentar el siguiente aspecto+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
94
. continuacin seleccione el comando 0m0onsulta0urso y
arrstrelo con el botn derec#o del ratn #acia el formulario.
(el men' desplegable que se presenta, seleccione la opcin
0uadrcula de datos.
Luego, cambie las dimensiones de la grilla de tal forma
que ocupe la totalidad del formulario. :inalmente guarde y
pruebe su aplicacin.
Aplicaci+$ N -
(esarrollar una aplicacin que permita seleccionar de un
control (ata0ombo el nombre de un profesor y isualizar los
cursos que dicta dic#o profesor.
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
95
Lo primero que debe #acer es conectarse a la base de datos
0ursosLibres.M(B. !n seguida a$ada un comando y denomnelo
0m0onsulta1rofe. Luego #aga clic< derec#o sobre el comando y
seleccione 1ropiedades. 0ompruebe que este comando utiliza la
cone"in 0n0ursosLibres. Luego seleccione la opcin ,nstruccin
&RL e ingrese el siguiente cdigo+
&elect 0ur0odigo .s 0digo, 0ur7ombre .s 7ombre,
0ur1rofe .s 1rofesor :rom 0urso U#ere >0ur1rofe 4 C?
. continuacin proceda a a$adir otro comando y denomnelo
0m1rofe. 0ompruebe que este comando utiliza la cone"in
0n0ursosLibres. &eleccione la opcin ,nstruccin &RL e ingrese
el siguiente cdigo+
&elect (istinct 0ur1rofe :rom 0urso
Luego proceda #a ubicar los siguientes controles en el
formulario+
3 control (ata0ombo
3 control (ataGrid
3 botn de comandos
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
96
!n seguida proceda a establecer las propiedades seg'n se
indica+
(orm1
7ombre :rm0onsulta1rofe
0aption 0onsulta de profesores
Border&tyle 98:i"ed (ialog
DataComo1
7ombre (bc1rofe
List:ield 0ur1rofe
GoJMember 0m1rofe
GoJ&ource (e0ursosLibres
DataGri%1
7ombre (bgrd0ursos
:ont .rial >7egrita 3*?
5ead:ont .rial >7egrita 3*?
Comma$%1
7ombre 0mdBuscar
0aption &Buscar
. continuacin ingrese el siguiente cdigo+
1riate &ub 0mdBuscar=0lic<>?
,f (e0ursosLibres.rs0m0onsulta1rofe.&tate 4 ad&tateHpen /#en
(e0ursosLibres.rs0m0onsulta1rofe.0lose
!nd ,f
(e0ursosLibres.0m0onsulta1rofe >(bc1rofe./e"t?
&et (bgrd0ursos.(ata&ource 4 (e0ursosLibres.rs0m0onsulta1rofe
!nd &ub
Aplicaci+$ N .
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
97
(esarrollar una aplicacin que permita mostrar el
contenido de la tabla Laboratorio, relacionada con la tabla
0urso, tal como se muestra a continuacin+
Hbserar que la tabla Laboratorio slo cuenta con tres
campos. !l campo que contiene el nombre del curso pertenece a
la tabla 0urso.
La sentencia &RL que permite obtener consultas a partir de
m'ltiples tablas >para nuestro caso 0urso y Laboratorio?, se
indica a continuacin+
&elect Laboratorio.Lab0odigo .s 0digo,
0urso.0ur7ombre .s 7ombre,
Laboratorio.Lab5ora .s 5orario,
Laboratorio.Lab1rofe .s \Qefe de prctica]
:rom Laboratorio, 0urso
U#ere Laboratorio.Lab0odigo 4 0urso.0ur0odigo
Microsoft Visual Basic
GUA DE LABORATORIO N 9
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
98
O!eti"o#
Luego de completar este laboratorio, el estudiante ser
capaz de+
2tilizar el ob%eto .(H 0onnection para crear una cone"in a
una base de datos.
0rear un ob%eto .(H Gecordset para recuperar informacin de
una base de datos.
2tilizar el mWtodo !"ecute de una cone"in para actualizar la
informacin de una base de datos.
Co$#i%eracio$e#
1ara el desarrollo del presente laboratorio 2d. deber
crear una carpeta C&'()$%*B'La9, para guardar sus traba%os
correspondientes a este laboratorio.
Aplicaci+$ N 1
!laborar una aplicacin que permita realizar el
mantenimiento de la informacin contenida en la tabla 0urso.
!n esta aplicacin 2d. debe dise$ar la interfaz y luego
escribir cdigo para conectarse y recuperar informacin de la
base de datos.
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
99
1ara el dise$o de la interfaz, proceda a ubicar los
siguientes controles en el formulario+
9 marcos
F etiquetas
F ca%as de te"to
D botones de comando
!n seguida proceda a establecer las propiedades seg'n se
indica+
(orm1
7ombre :rmManten0ursos
0aption Mantenimiento de cursos
Border&tyle 98:i"ed (ialog
Moeable :alse
&tart2p1osition )80enter&creen
(rame1
7ombre :ra,ngreso
0aption
(rame,
7ombre :ra7aegador
0aption 7aegador
(rame-
7ombre :raMantenimiento
0aption Mantenimiento
Lael1
7ombre Lbl0odigo
0aption 0digo+
Lael,
7ombre Lbl7ombre
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
100
0aption 7ombre+
Lael-
7ombre LblVacantes
0aption Vacantes+
Lael.
7ombre Lbl1rofesor
0aption 1rofesor+
Te1t1
7ombre /"t0ur0odigo
Loc<ed /rue
/e"t
Te1t,
7ombre /"t0ur7ombre
Loc<ed /rue
/e"t
Te1t-
7ombre /"t0urVacantes
Loc<ed /rue
/e"t
Te1t.
7ombre /"t0ur1rofe
Loc<ed /rue
/e"t
1ara establecer las propiedades de los botones de comando
0ommand3, 0ommand), . . ., 0ommandD, copiar los pasos de la
pg. DL a la pg. DD de la Gua de Laboratorio 7Z - >.plicacin
7Z 3?.
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
101
.ntes de ingresar cdigo a la aplicacin, debemos tener en
cuenta que para poder utilizar los ob%etos .(H es una
aplicacin Visual Basic es necesario cargar la librera
correspondiente. 1ara ello selecciones el men' 1royecto y eli%a
la opcin Geferencias. !n el cuadro de dilogo Geferencias
seleccione la opcin Microsoft .ctie[ (ata Hb%ects ).3
Library, tal como se indica en la figura siguiente+
Luego de #acer clic< en el botn .ceptar estar en
condiciones de utilizar los ob%etos .(H en su aplicacin.
!l cdigo necesario para realizar la cone"in y efectuar
el mantenimiento de la tabla se muestra a continuacin.
Hbserar la analoga cuando se utiliza (ata !nironment.
(im 0n .s .(H(B.0onnection
(im Gs .s .(H(B.Gecordset
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
102
1riate &ub Modo!ditar>ByVal H< .s Boolean?
/"t0ur0odigo.Loc<ed 4 7ot H<
/"t0ur7ombre.Loc<ed 4 7ot H<
/"t0urVacantes.Loc<ed 4 7ot H<
/"t0ur1rofe.Loc<ed 4 7ot H<
0md7ueo.!nabled 4 7ot H<
0md!ditar.!nabled 4 7ot H<
0mdGuardar.!nabled 4 H<
0md!liminar.!nabled 4 7ot H<
,f H< /#en /"t0ur0odigo.&et:ocus
!nd &ub
1riate &ub :orm=Load>?
Modo!ditar :alse
&et 0n 4 7eJ .(H(B.0onnection
&et Gs 4 7eJ .(H(B.Gecordset
0n.Hpen @1roider4Microsoft.Qet.HL!(B.F.*SA & =
@(ata &ource40+I:undVBI(ataI0ursosLibres.M(BSA & =
@1ersist &ecurity ,nfo4:alseA
Gs..ctie0onnection 4 0n
Gs.0ursor/ype 4 adHpenTeyset
Gs.Loc</ype 4 adLoc<Hptimistic
Gs.Hpen @&elect 6 :rom 0ursoA
&et /"t0ur0odigo.(ata&ource 4 Gs
/"t0ur0odigo.(ata:ield 4 @0ur0odigoA
&et /"t0ur7ombre.(ata&ource 4 Gs
/"t0ur7ombre.(ata:ield 4 @0ur7ombreA
&et /"t0urVacantes.(ata&ource 4 Gs
/"t0urVacantes.(ata:ield 4 @0urVacantesA
&et /"t0ur1rofe.(ata&ource 4 Gs
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
103
/"t0ur1rofe.(ata:ield 4 @0ur1rofeA
!nd &ub
1riate &ub 0md1rimero=0lic<>?
Gs.Moe:irst
!nd &ub
1riate &ub 0md.nterior=0lic<>?
Gs.Moe1reious
,f Gs.BH: /#en
Gs.Moe:irst
MsgBo" @!stamos en el primer registroA
!nd ,f
!nd &ub
1riate &ub 0md&iguiente=0lic<>?
Gs.Moe7e"t
,f Gs.!H: /#en
Gs.MoeLast
MsgBo" @!stamos en el 'ltimo registroA
!nd ,f
!nd &ub
1riate &ub 0md2ltimo=0lic<>?
Gs.MoeLast
!nd &ub
1riate &ub 0md7ueo=0lic<>?
Gs..dd7eJ
Modo!ditar /rue
!nd &ub
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
104
1riate &ub 0md!ditar=0lic<>?
Modo!ditar /rue
!nd &ub
1riate &ub 0mdGuardar=0lic<>?
Gs.2pdate
Modo!ditar :alse
!nd &ub
1riate &ub 0md!liminar=0lic<>?
Gs.(elete
Gs.Moe7e"t
,f Gs.!H: /#en
Gs.MoeLast
!nd ,f
!nd &ub
1riate &ub :orm=2nload>0ancel .s ,nteger?
0n.0lose
&et 0n 4 7ot#ing
!nd &ub
Aplicaci+$ N ,
(esarrollar una aplicacin que permita realizar una
consulta a la tabla 0urso. 1ara ello el usuario debe
seleccionar de un cuadro combinado >combo? el nombre de un
profesor y a continuacin se deben isualizar los cursos a su
cargo. !l dise$o de la interfaz debe ser similar a la figura
mostrada+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
105
1ara el desarrollo de esta aplicacin, proceda #a ubicar
los siguientes controles en el formulario+
3 control 0omboBo"
3 control (ataGrid
3 botn de comandos
!n seguida proceda a establecer las propiedades seg'n se
indica+
(orm1
7ombre :rm0onsulta1rofe
0aption 0onsulta de profesores
Border&tyle 98:i"ed (ialog
Como1
7ombre 0bo1rofe
/e"t
DataGri%1
7ombre (bgrd0ursos
:ont .rial >7egrita 3*?
5ead:ont .rial >7egrita 3*?
Comma$%1
7ombre 0mdBuscar
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
106
0aption &Buscar
(efault /rue
. continuacin debe ingresar el cdigo que se muestra en
seguida+
(im 0n .s .(H(B.0onnection
(im Gs0urso .s .(H(B.Gecordset
(im Gs1rofe .s .(H(B.Gecordset
1riate &ub :orm=Load>?
&et 0n 4 7eJ .(H(B.0onnection
&et Gs1rofe 4 7eJ .(H(B.Gecordset
0n.Hpen @1roider4Microsoft.Qet.HL!(B.F.*SA & =
@(ata &ource40+I:undVBI(ataI0ursosLibres.M(BSA & =
@1ersist &ecurity ,nfo4:alseA
Gs1rofe..ctie0onnection 4 0n
Gs1rofe.0ursor/ype 4 adHpen&tatic
Gs1rofe.Loc</ype 4 adLoc<Hptimistic
Gs1rofe.0ursorLocation 4 ad2se0lient
Gs1rofe.Hpen @&elect (istinct 0ur1rofe :rom 0ursoA
(o U#ile 7ot Gs1rofe.!H:>?
0bo1rofe..dd,tem Gs1rofe>@0ur1rofeA?
Gs1rofe.Moe7e"t
Loop
!nd &ub
1riate &ub 0mdBuscar=0lic<>?
&et Gs0urso 4 7eJ .(H(B.Gecordset
Gs0urso..ctie0onnection 4 0n
Gs0urso.0ursor/ype 4 adHpen&tatic
Gs0urso.Loc</ype 4 adLoc<GeadHnly
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
107
Gs0urso.0ursorLocation 4 ad2se0lient
Gs0urso.Hpen @&elect 0ur0odigo .s 0digo, A & =
@0ur7ombre .s 7ombre, 0ur1rofe .s 1rofesor A & =
@:rom 0urso U#ere 0ur1rofe 4 ^A & 0bo1rofe./e"t & @^A
&et (bgrd0ursos.(ata&ource 4 Gs0urso
!nd &ub
1riate &ub :orm=2nload>0ancel .s ,nteger?
0n.0lose
&et 0n 4 7ot#ing
!nd &ub
Aplicaci+$ N -
(esarrollar una aplicacin que permita realizar el
mantenimiento de las tablas de la base de datos
0ursosLibres.M(B >estas tablas le sern proporcionadas con
datos suficientes, por el Qefe de 1rctica?.
!l dise$o de la interfaz debe ser similar a la siguiente
figura+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
108
1or e%emplo para realizar el mantenimiento de la tabla
0urso debemos preparar los siguientes formularios+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
109
1ara desarrollar nuestra aplicacin debe agregar un mdulo
de cdigo al proyecto. Luego ingrese lo siguiente+
1ublic 0n .s .(H(B.0onnection
/ambiWn ser necesario agregar un formulario M(,. Luego,
cambie el nombre del formulario por el de M(,0ursosLibres. !n
seguida, dise$e el men' para la aplicacin seg'n se indica+
Captio$ Name 6hortC)t
&Mantenimiento MnuManten 7inguno
&.lumnos MnuManten.lumno 7inguno
&7ueo MnuManten.lumno7ueo 7inguno
&!ditar MnuManten.lumno!ditar 7inguno
&!liminar MnuManten.lumno!liminar 7inguno
&0ursos MnuManten0urso 7inguno
&7ueo MnuManten0urso7ueo 7inguno
&!ditar MnuManten0urso!ditar 7inguno
&!liminar MnuManten0urso!liminar 7inguno
&Laboratorio MnuMantenLaboratorio 7inguno
&7ueo MnuMantenLaboratorio7ueo 7inguno
&!ditar MnuMantenLaboratorio!ditar 7inguno
&!liminar MnuMantenLaboratorio!liminar 7inguno
&(istrito MnuManten(istrito 7inguno
&7ueo MnuManten(istrito7ueo 7inguno
&!ditar MnuManten(istrito!ditar 7inguno
&!liminar MnuManten(istrito!liminar 7inguno
8 MnuMantLinea 7inguno
&&alir MnuMant&alir 0trl M [
Luego, #aga doble clic< sobre el formulario e ingrese el
siguiente cdigo+
1riate &ub M(,:orm=Load>?
&et 0n 4 7eJ .(H(B.0onnection
0n.Hpen @1roider4Microsoft.Qet.HL!(B.F.*SA & =
@(ata &ource40+I:undVBI(ataI0ursosLibres.M(BSA & =
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
110
@1ersist &ecurity ,nfo4:alseA
!nd &ub
1riate &ub MnuManten0ursos7ueo=0lic<>?
Load :rm7ueo0urso
:rm7ueo0urso.&#oJ
!nd &ub
1riate &ub MnuManten0ursos!ditar=0lic<>?
Load :rm!ditar0urso
:rm!ditar0urso.&#oJ
!nd &ub
1riate &ub MnuManten0ursos!liminar=0lic<>?
Load :rm!liminar0urso
:rm!liminar0urso.&#oJ
!nd &ub
1ara desarrollar la opcin 7ueo de la tabla 0urso, a$ada
un nueo formulario al proyecto. Luego, ubique los siguientes
controles en el formulario+
F etiquetas
F ca%as de te"to
9 botones de comando
Luego proceda a establecer las propiedades seg'n se
indica+
(orm1
7ombre :rmManten0ursos
0aption 7ueo curso
Border&tyle 98:i"ed (ialog
M(,0#ild /rue
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
111
Lael1
7ombre Lbl0odigo
0aption 0digo+
Lael,
7ombre Lbl7ombre
0aption 7ombre+
Lael-
7ombre LblVacantes
0aption Vacantes+
Lael.
7ombre Lbl1rofesor
0aption 1rofesor+
Te1t1
7ombre /"t0ur0odigo
/e"t
Te1t,
7ombre /"t0ur7ombre
/e"t
Te1t-
7ombre /"t0urVacantes
/e"t
Te1t.
7ombre /"t0ur1rofe
/e"t
Comma$%1
7ombre 0mdGrabar
0aption &Grabar
Comma$%,
7ombre 0md7ueo
0aption &7ueo
Comma$%-
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
112
7ombre 0md0errar
0aption &0errar
2na ez establecidas las propiedades, proceda a ingresar
el siguiente cdigo+
1riate &ub :orm=Load>?
0mdGrabar.!nabled 4 /rue
0md7ueo.!nabled 4 :alse
!nd &ub
1riate &ub 0mdGrabar=0lic<>?
0n.!"ecute @,nsert ,nto 0urso>0ur0odigo, 0ur7ombre, A & =
@0urVacantes, 0ur1rofe? Values >^A & /"t0ur0odigo & =
@^,A & @^A & /"t0ur7ombre & @^,A & =
Val>/"t0urVacantes? & @,A & @^A & /"t0ur1rofe & @^?A
0mdGrabar.!nabled 4 :alse
0md7ueo.!nabled 4 /rue
!nd &ub
1riate &ub 0md7ueo=0lic<>?
/"t0ur0odigo 4 @A
/"t0ur7ombre 4 @A
/"t0urVacantes 4 @A
/"t0ur1rofe 4 @A
0mdGrabar.!nabled 4 /rue+ 0md7ueo.!nabled 4 :alse
/"t0ur0odigo.&et:ocus
!nd &ub
1riate &ub 0md0errar=0lic<>?
2nload Me
!nd &ub
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
113
1ara desarrollar la opcin !ditar de la tabla 0urso, a$ada
un nueo formulario al proyecto. Luego, ubique los siguientes
controles en el formulario+
3 marco
F etiquetas
F ca%as de te"to
F botones de comando
!n seguida proceda a establecer las propiedades seg'n se
indica+
(orm1
7ombre :rmManten0ursos
0aption !ditar curso
Border&tyle 98:i"ed (ialog
M(,0#ild /rue
(rame1
7ombre :ra0odigo
0aption
Lael1
7ombre Lbl0odigo
0aption 0digo+
Lael,
7ombre Lbl7ombre
0aption 7ombre+
Lael-
7ombre LblVacantes
0aption Vacantes+
Lael.
7ombre Lbl1rofesor
0aption 1rofesor+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
114
Te1t1
7ombre /"t0ur0odigo
/e"t
Te1t,
7ombre /"t0ur7ombre
/e"t
Te1t-
7ombre /"t0urVacantes
/e"t
Te1t.
7ombre /"t0ur1rofe
/e"t
Comma$%1
7ombre 0md.ceptar
0aption &.ceptar
Comma$%,
7ombre 0mdGrabar
0aption &Grabar
Comma$%-
7ombre 0md7ueo
0aption &7ueo
Comma$%.
7ombre 0md0errar
0aption &0errar
2na ez establecidas las propiedades, proceda a ingresar
el siguiente cdigo+
1riate &ub :orm=Load>?
0md.ceptar.!nabled 4 /rue
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
115
0mdGrabar.!nabled 4 :alse
0md7ueo.!nabled 4 :alse
!nd &ub
1riate &ub 0md.ceptar=0lic<>?
(im Gs .s 7eJ .(H(B.Gecordset
&et Gs 4 0n.!"ecute>@&elect 0ur7ombre, A & =
@0urVacantes, 0ur1rofe :rom 0urso A & =
@U#ere 0ur0odigo 4 ^A & /"t0ur0odigo & @^A?
,f >Gs.!H: .nd Gs.BH:? /#en
MsgBo" @7o e"iste ning'n curso con este cdigoA
/"t0ur0odigo.&et:ocus
/"t0ur0odigo.&el&tart 4 *
/"t0ur0odigo.&elLengt# 4 Len>/"t0ur0odigo?
!"it &ub
!nd ,f
/"t0ur7ombre 4 Gs_0ur7ombre
/"t0urVacantes 4 Gs_0urVacantes
/"t0ur1rofe 4 Gs_0ur1rofe
Gs.0lose
&et Gs 4 7ot#ing
/"t0ur0odigo.!nabled 4 :alse
0md.ceptar.!nabled 4 :alse
0mdGrabar.!nabled 4 /rue
0md7ueo.!nabled 4 /rue
!nd &ub
1riate &ub 0mdGrabar=0lic<>?
0n.!"ecute @2pdate 0urso &et 0ur7ombre 4 ^A & =
/"t0ur7ombre & @^,A & @0urVacantes 4 A & =
Val>/"t0urVacantes? & @,A & @0ur1rofe 4 ^A & =
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
116
/"t0ur1rofe & @^A & @ U#ere 0ur0odigo 4 ^A & =
/"t0ur0odigo & @^A
!nd &ub
1riate &ub 0md7ueo=0lic<>?
/"t0ur0odigo 4 @A
/"t0ur7ombre 4 @A
/"t0urVacantes 4 @A
/"t0ur1rofe 4 @A
0md.ceptar.!nabled 4 /rue
0mdGrabar.!nabled 4 :alse
0md7ueo.!nabled 4 :alse
/"t0ur0odigo.!nabled 4 /rue
/"t0ur0odigo.&et:ocus
!nd &ub
1riate &ub 0md0errar=0lic<>?
2nload Me
!nd &ub
1ara desarrollar la opcin !liminar de la tabla 0ursos,
a$ada un nueo formulario al proyecto. Luego, ubique los
siguientes controles en el formulario+
3 marco
F etiquetas
F ca%as de te"to
F botones de comando
!n seguida proceda a establecer las propiedades seg'n se
indica+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
117
(orm1
7ombre :rmManten0ursos
0aption !liminar curso
Border&tyle 98:i"ed (ialog
M(,0#ild /rue
(rame1
7ombre :ra0odigo
0aption
Lael1
7ombre Lbl0odigo
0aption 0digo+
Lael,
7ombre Lbl7ombre
0aption 7ombre+
Lael-
7ombre LblVacantes
0aption Vacantes+
Lael.
7ombre Lbl1rofesor
0aption 1rofesor+
Te1t1
7ombre /"t0ur0odigo
/e"t
Te1t,
7ombre /"t0ur7ombre
/e"t
Te1t-
7ombre /"t0urVacantes
/e"t
Te1t.
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
118
7ombre /"t0ur1rofe
/e"t
Comma$%1
7ombre 0md.ceptar
0aption &.ceptar
Comma$%,
7ombre 0md!liminar
0aption &!liminar
Comma$%-
7ombre 0md7ueo
0aption &7ueo
Comma$%.
7ombre 0md0errar
0aption &0errar
2na ez establecidas las propiedades, proceda a ingresar
el siguiente cdigo+
1riate &ub :orm=Load>?
0md.ceptar.!nabled 4 /rue
0md!liminar.!nabled 4 :alse
0md7ueo.!nabled 4 :alse
!nd &ub
1riate &ub 0md!liminar=0lic<>?
0n.!"ecute @(elete :rom 0urso A & =
@U#ere 0ur0odigo 4 ^A & /"t0ur0odigo & @^A
0all 0md7ueo=0lic<
!nd &ub
1riate &ub 0md7ueo=0lic<>?
/"t0ur0odigo 4 @A
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
119
/"t0ur7ombre 4 @A
/"t0urVacantes 4 @A
/"t0ur1rofe 4 @A
0md.ceptar.!nabled 4 /rue
0md!liminar.!nabled 4 :alse
0md7ueo.!nabled 4 :alse
/"t0ur0odigo.!nabled 4 /rue
/"t0ur0odigo.&et:ocus
!nd &ub
1riate &ub 0md.ceptar=0lic<>?
(im Gs .s 7eJ .(H(B.Gecordset
&et Gs 4 0n.!"ecute>@&elect 0ur7ombre, A & =
@0urVacantes, 0ur1rofe :rom 0urso A & =
@U#ere 0ur0odigo 4 ^A & /"t0ur0odigo & @^A?
,f >Gs.!H: .nd Gs.BH:? /#en
MsgBo" @7o e"iste ning'n curso con este cdigoA
/"t0ur0odigo.&et:ocus
/"t0ur0odigo.&el&tart 4 *
/"t0ur0odigo.&elLengt# 4 Len>/"t0ur0odigo?
!"it &ub
!nd ,f
/"t0ur7ombre 4 Gs_0ur7ombre
/"t0urVacantes 4 Gs_0urVacantes
/"t0ur1rofe 4 Gs_0ur1rofe
Gs.0lose
&et Gs 4 7ot#ing
/"t0ur0odigo.!nabled 4 :alse
0md.ceptar.!nabled 4 :alse
0md!liminar.!nabled 4 /rue
0md7ueo.!nabled 4 /rue
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
120
!nd &ub
1riate &ub 0md0errar=0lic<>?
2nload Me
!nd &ub
(e manera similar proceda a desarrollar el cdigo para los
formularios de mantenimiento de las dems tablas.
Aplicaci+$ N .
!laborar una aplicacin que permita recuperar y mantener
la informacin de la base de datos 0ursosLibres.M(B. 1ara tal
fin debe preparar un formulario que permita establecer la
cone"in con el origen de datos. Luego, si la cone"in es
satisfactoria el usuario tiene la posibilidad de elegir una de
las tablas de la base de datos para realizar las operaciones
#abituales de mantenimiento o simplemente para e%ecutar
consultas. !l dise$o de la interfaz debe ser similar a la
siguiente figura+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
121
Las opciones Mantenimiento y 0onsulta deben ser anlogas a
las realizadas en aplicaciones anteriores.
Microsoft Visual Basic
GUA DE LABORATORIO N :
O!eti"o#
Luego de completar este laboratorio, el estudiante ser
capaz de+
2sar el dise$ador de reportes (ataGeport.
2tilizar y controlar la impresora para obtener reportes
impresos.
Co$#i%eracio$e#
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
122
1ara el desarrollo del presente laboratorio 2d. deber
crear una carpeta C&'()$%*B'La:, para guardar sus traba%os
correspondientes a este laboratorio.
Aplicaci+$ N 1
(ise$ar un reporte que muestre la informacin almacenada
en la tabla 0ursos. !l formato del reporte pedido se muestra a
continuacin+
1ara dise$ar nuestro reporte, lo primero que debemos #acer
es conectarnos a la base de datos 0ursosLibres.M(B. La cone"in
la #aremos efectia mediante el (ata !nironment. Luego, a$ada
un 0omando y denomnelo 0m0urso. !stablezca el nombre de la
tabla a utilizar, para nuestro caso 0urso. !l aspecto de la
entana (ata !nironment deber ser similar a la figura+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
123
Luego, del men' 1royecto seleccionar la opcin .gregar
(ata Geport, lo cual permite agregar el dise$ador de reportes+
!n seguida del (ata !nironment seleccionar cada campo que
desee incluir en el reporte y luego arrastre el campo #acia la
seccin (etalles del (ata Geport.
!l dise$ador de reportes presenta un con%unto de controles
que permiten me%orar la presentacin de nuestro reporte. !n
seguida ubicar los siguientes controles+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
124
) etiquetas en la seccin !ncabezado de informe
F etiquetas en la seccin !ncabezado de pgina
. continuacin proceda a establecer las propiedades seg'n
se indica+
EtiA)eta1
7ombre GptLblV.B
0aption ,nstituto de !ducacin &uperior
@Vctor .ndrWs Bela'ndeA
:ont .rial >7egrita *K?
EtiA)eta,
7ombre GptLbl7ombre
0aption Geporte de 0ursos
:ont .rial >7egrita 0ursia 3-?
EtiA)eta-
7ombre GptLbl0odigo
0aption 0digo+
:ont .rial >7egrita 3*?
EtiA)eta.
7ombre GptLbl7ombre
0aption 7ombre+
:ont .rial >7egrita 3*?
EtiA)eta/
7ombre GptLblVacantes
0aption Vacantes+
:ont .rial >7egrita 3*?
EtiA)eta0
7ombre GptLbl1rofesor
0aption 1rofesor+
:ont .rial >7egrita 3*?
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
125
1ara insertar la fec#a actual dar un clic< con el botn
derec#o del ratn sobre el dise$ador de reportes en la seccin
de !ncabezado de informe, del men' conte"tual que se presenta
seleccionar la opcin ,nsertar control, luego :ec#a actual
>formato corto?. !n seguida, cambiar las siguientes
propiedades+
DataReport1
(ataMember 0m0urso
(ata&ource (e0ursosLibres
Luego, seleccione del men' 1royecto la opcin 1ropiedades
de 1royecto, y en la fic#a General del cuadro de dilogo
1ropiedades del proyecto, establecer (ataGeport3 como ob%eto
inicial. 5aga clic< en .ceptar y e%ecute su aplicacin.
Aplicaci+$ N ,
(ise$ar un reporte que permita mostrar un listado de
profesores y los cursos que tienen a su cargo. /ener en cuenta
que la informacin relacionada con cada profesor debe empezar
en una pgina nuea. !l formato del reporte pedido se muestra a
continuacin+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
126
!n esta aplicacin e"plicaremos como crear grupos de
datos. 1ara ello iniciar un nueo proyecto. !n seguida,
conectarse a la base de datos 0ursosLibres.M(B mediante el (ata
!nironment. Luego, a$ada un 0omando y denomnelo 0m1rofesor.
!stablezca el nombre de la tabla a utilizar, para nuestro caso
0urso. 1ara realizar el agrupamiento por profesor seleccionar
la fic#a .grupar del cuadro de dilogo 1ropiedades de
0m1rofesor. . continuacin actiar la casilla de erificacin
.grupar comando, luego seleccionar de la lista de campos, el
campo por el cual se desea agrupar la informacin, para nuestro
caso seleccionar 0ur1rofe y dar un clic< en el botn @ > A. !l
cuadro de dilogo 1ropiedades de 0m1rofesor debe presentar un
aspecto similar a la figura siguiente+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
127
. continuacin sobre el dise$ador de reportes dar un clic<
con el botn derec#o del ratn y del men' emergente que se
presenta elegir la opcin ,nsertar encabezado o pie de grupo.
(el ob%eto (e0ursosLibres arrastrar el campo 0ur1rofe de la
seccin 0ampo de resumen en 0m1rofesor=Grouping al dise$ador de
reportes pero a la seccin !ncabezado de grupo. Los dems
campos arrastrarlos de la seccin 0ampos de (etalle en
0m1rofesor a la seccin (etalle del generador de reportes. 1or
'ltimo proceda a cambiar las siguientes propiedades del ob%eto
(ataGeport+
DataReport1
(ataMember 0m1rofesor=Grouping
(ata&ource (e0ursosLibres
Aplicaci+$ N -
(esarrollar una aplicacin que permita crear un reporte
para mostrar la informacin de la base de datos
0ursosLibres.M(B. 1ara tal fin debe preparar un formulario que
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
128
permita al usuario elegir una tabla, y en seguida se debe
generar el reporte correspondiente. .dems el usuario puede
obtener una ista preliminar del reporte o una copia impresa.
!l dise$o de la interfaz debe ser similar a la figura que se
muestra a continuacin+
1ara desarrollar nuestra aplicacin, proceda a dise$ar los
reportes correspondientes seg'n+
Tala Reporte
.lumno (ataGeport3
0urso (ataGeport)
Laboratorio (ataGeport9
Luego, ubique los siguientes controles sobre el
formulario+
3 marco
9 botones de opcin
9 botones de comando
!n seguida proceda a establecer las propiedades seg'n se
indica+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
129
(orm1
7ombre :rmGeporte0ursosLibres
0aption 0ursos Libres
Border&tyle 98:i"ed (ialog
(rame1
7ombre :ra/ablas
0aption
Optio$1
7ombre Hpt/abla.lumno
0aption .lumno
Value /rue
Optio$,
7ombre Hpt/abla0urso
0aption 0urso
Value :alse
Optio$-
7ombre Hpt/ablaLaboratorio
0aption Laboratorio
Value :alse
Comma$%1
7ombre 0mdVista1reia
0aption Vista1reia
1icture 0+I.rc#ios de programaIMicrosoft Visual
&tudioI0ommonIGrap#icsIBitmapsIUinKEI
!"plorer.bmp
&tyle 38Grap#ical
Comma$%,
7ombre 0md,mprimir
0aption ,mprimir
1icture 0+I.rc#ios de programaIMicrosoft Visual
&tudioI0ommonIGrap#icsIBitmapsIUinKEI
1rintfld.bmp
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
130
&tyle 38Grap#ical
Comma$%-
7ombre 0md&alir
0aption &alir
2na ez establecidas las propiedades, proceda a ingresar
el siguiente cdigo+
1riate &ub 0md,mprimir=0lic<>?
,f Hpt/abla.lumno.Value /#en
(ataGeport3.1rintGeport /rue
!lse,f Hpt/abla0urso.Value /#en
(ataGeport).1rintGeport /rue
!lse,f Hpt/ablaLaboratorio.Value /#en
(ataGeport).1rintGeport /rue
!nd ,f
!nd &ub
1riate &ub 0mdVista1reia=0lic<>?
,f Hpt/abla.lumno.Value /#en
(ataGeport3.&#oJ
!lse,f Hpt/abla0urso.Value /#en
(ataGeport).&#oJ
!lse,f Hpt/ablaLaboratorio.Value /#en
(ataGeport).&#oJ
!nd ,f
!nd &ub
1riate &ub 0md&alir=0lic<>?
2nload Me
!nd &ub
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
131
0uando e%ecute la aplicacin, al dar un clic< en el botn
,mprimir se isualizar el siguiente cuadro de dilogo, el cual
nos permitir confirmar o cancelar la impresin+
Aplicaci+$ N .
(ise$ar un reporte combinando datos de la tabla 0urso y
Laboratorio. !l reporte debe mostrar el cdigo del curso, el
nombre del curso, el nombre del profesor de teora, el nombre
del %efe de prctica y el #orario de laboratorio. (ar formato
al reporte seg'n su criterio.
(IN 4ARTE II
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
132
GUA DE LABORATORIO
Parte III
ELABORADO POR
CARLOS CASTILLO PERALTA
cc_peralta@hotmail.com
INTRODUCCIN
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
133
La presente Gua de Laboratorio de Microsoft Visual Basic,
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 a incrementando el niel de dificultad.
!sta gua e"plora una gran ariedad de materias y contiene
muc#os problemas recopilados a lo largo de arios a$os de
e"periencia. !spero que satisfaga las necesidades de los
estudiantes y colegas, ya que #a sido elaborada teniendo en
cuenta los ob%etios de aprendiza%e del curso.
&i desean compartirla con otros colegas, me agradara
muc#o que lo #icieran, con la 'nica condicin de que siempre se
respete el derec#o del autor.
(esde ya les deseo la me%or de las suertes en el
aprendiza%e de Microsoft Visual Basic.
Lima, (iciembre del )***
0arlos 0astillo 1eralta
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
134
Microsoft Visual Basic
GUA DE LABORATORIO N ;
O!eti"o#
Luego de completar este laboratorio, el estudiante ser
capaz de+
0rear y utilizar clases dentro de una aplicacin Visual
Basic.
(ise$ar y utilizar controles .ctie[ personalizados.
Co$#i%eracio$e#
1ara el desarrollo del presente laboratorio 2d. deber
crear una carpeta C&'()$%*B'La;, para guardar sus traba%os
correspondientes a este laboratorio.
Aplicaci+$ N 1
,mplementar una clase denominada 0irculo, la cual debe
contar con las propiedades p'blicas Gadio y .rea. 1ara tal fin
seleccione la opcin .gregar mdulo de clase del Men' 1royecto+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
135
!n la fic#a 7ueo seleccione la opcin Mdulo de clase y
#aga clic< en .brir. !n seguida actie la entana de
propiedades y cambie el nombre de la nuea clase por 0irculo.
La entana de cdigo de la clase debe presentar la siguiente
apariencia+
. continuacin proceda a ingresar el siguiente cdigo para
la clase+
1riate G .s (ouble
1ublic 1roperty Get Gadio>? .s Variant
Gadio 4 G
!nd 1roperty
1ublic 1roperty Let Gadio>ByVal 7eJValue .s Variant?
,f ,s7umeric>7eJValue? /#en
G 4 0(bl>7eJValue?
!lse
G 4 *
!nd ,f
!nd 1roperty
1ublic 1roperty Get .rea>? .s Variant
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
136
.rea 4 9.3F3EK) 6 G 6 G
!nd 1roperty
1riate &ub 0lass=,nitialize>?
G 4 *
!nd &ub
Luego proceda a ubicar los siguientes controles en el
formulario+
) etiquetas
) ca%as de te"to
9 botones de comando
. continuacin proceda a establecer las propiedades seg'n
se indica+
(orm1
7ombre :rm!%em0lase0irculo
0aption !%emplo con la clase 0irculo
Lael1
7ombre LblGadio
0aption Gadio+
Lael,
7ombre Lbl.rea
0aption .rea+
Te1t1
7ombre /"tGadio
/e"t
Te1t,
7ombre /"t.rea
/e"t
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
137
2na ez que #a establecido las propiedades indicadas,
proceda a ingrese el siguiente cdigo para el formulario de
prueba+
(im . .s 0irculo
1riate &ub :orm=Load>?
&et . 4 7eJ 0irculo
!nd &ub
1riate &ub :orm=2nload>0ancel .s ,nteger?
&et . 4 7ot#ing
!nd &ub
1riate &ub /"tGadio=0#ange>?
..Gadio 4 /"tGadio
/"t.rea 4 ...rea
!nd &ub
Guarde y pruebe su aplicacin. !l resultado debe ser
similar a la siguiente figura+
Aplicaci+$ N ,
(ise$ar un control .ctie[ que muestre el mensa%e
@Bienenido al Mundo de la 1rogramacin con .ctie[A.
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
138
.dicionalmente, el control debe permitir al usuario la
posibilidad de cambiar el color del te"to.
1ara comenzar nuestra aplicacin, debe ingresar a Visual
Basic y en la entana de dilogo 7ueo 1royecto seleccione
0ontrol .ctie[, y luego #aga clic< en el botn .ceptar.
0on esta opcin, podr crear un 0ontrol .ctie [. Las
diferencias entre una opcin y la usual >![! estndar? las er
me%or conforme aance en el desarrollo de la presente 1rctica
de Laboratorio.
!n seguida a$ada un nueo proyecto ![! estndar. !sto lo
puede realizar desde el Men' .rc#io opcin .gregar 1royecto.
Luego establezca las propiedades indicadas a continuacin+
4roBecto1
7ombre .ctie[Mi0ontrol
U#erCo$trol1
7ombre Mi0ontrol
/oolbo"Bitmap 0+I.rc#ios de programaIMicrosoft Visual
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
139
&tudioI0ommonIGrap#icsIBitmapsI.ssortedI
5eart.bmp
4roBecto,
7ombre VbpMi0ontrol
(orm1
7ombre :rm1ruebaMi0ontrol
0aption 1rueba de 0ontrol .ctie[
Border&tyle 98:i"ed (ialog
La entana del !"plorador de proyectos debe presentar la
siguiente apariencia+
!n la entana anterior #aga clic< con el botn derec#o del
ratn sobre Mi0ontrol y eli%a la opcin Ver cdigo. !n el
0omboBo" General seleccione 2ser0ontrol y en el 0omboBo"
(eclaraciones seleccione 1aint. .#ora ingrese el siguiente
cdigo+
1riate &ub 2ser0ontrol=1aint>?
0onst Msg 4 @Bienenido al Mundo de la 1rogramacin A & =
@con .ctie[A
2ser0ontrol.0ls
2ser0ontrol.1rint Msg
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
140
!nd &ub
Luego en el !"plorador de proyectos, #acer clic< con el
botn derec#o del ratn sobre la carpeta 0ontroles de usuario y
seleccione la opcin 1ropiedades de .ctie[Mi0ontrol. !n
seguida se mostrar la entana 1ropiedades del proyecto+
!n la entana anterior, en la fic#a General, apartado
(escripcin del proyecto, escribir @!ste es mi primer 0ontrol
.ctie[A, tal como se muestra. Luego pulsar el botn .ceptar.
0ierre todas las entanas abiertas y #aga un slo clic<
sobre la carpeta 0ontroles de usuario. . continuacin ingrese
al Men' .rc#io y seleccione la opcin Generar
.ctie[Mi0ontrol.oc", guarde el arc#io con su nombre por
defecto.
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
141
Luego, establezca como inicial el formulario
:rm1ruebaMi0ontrol y a$adir desde el 0uadro de #erramientas
nuestro control recientemente creado.
(el Men' 1royecto seleccione la opcin 0omponentes y
eremos la descripcin de nuestro control con su casilla de
erificacin actiada, tal como se muestra a continuacin+
!n seguida, guarde y e%ecute su aplicacin. !l resultado
debe ser similar al siguiente+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
142
!n este momento, 2d. acaba de terminar el dise$o de su
primer control .ctie[. 7o se preocupe por las diferencias que
puede #aber encontrado con respecto a la forma tradicional de
programar. 0onforme aancemos en el desarrollo de la prctica
eremos que esta forma de programar en base a componentes es
bastante sencilla.
&in embargo, debemos modificar nuestro control, de tal
forma que nos permita cambiar el color de te"to de
presentacin. 1ara tal fin, amos a #acer uso del .sistente
para interfaz de control .ctie[ y el .sistente para pginas de
propiedades. !stos complementos deben ser instalados desde el
men' principal 0omplementos y seleccionar la opcin
.dministrador de complementos, tal como se indica a
continuacin+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
143
!n la entana anterior debe actiar las casillas de
erificacin 0argado;(escargado y 0argar al iniciar. Luego #aga
clic< en el botn .ceptar.
!n seguida el men' 0omplementos deber presentar la
siguiente apariencia+
Luego, #aga clic< sobre la opcin .sistente para interfaz
de control .ctie[. !n seguida, aparecer una entana de
presentacin, #aga doble clic< en el botn &iguiente. /endremos
entonces una entana similar a la que se muestra+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
144
5aga clic< con el ratn sobre el botn PP y a continuacin
eli%a de la lista de la izquierda :ore0olor y #aga clic< sobre
el botn O. La propiedad :ore0olor es la propiedad encargada de
cambiar el color de te"to, la cual no est disponible en
nuestro control, por ello debemos asociarla. !l aspecto del
.sistente para interfaz de control .ctie[ debe ser similar a+
1ulse, luego el botn &iguiente. !n seguida aparecer otra
entana, #aga nueamente clic< en el botn &iguiente.

Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
145
.#ora #emos llegado a la entana en la cual amos a
asociar a nuestro control la propiedad :ore0olor. &eleccione
del 0omboBo" 0ontrol 2ser0ontrol y del 0omboBo" Miembro
:ore0olor, tal como se indica en la entana anterior. 1ulse el
botn &iguiente y en la siguiente entana pulse el botn
:inalizar. .parecer luego una entana de informacin, lea
detenidamente su contenido y luego #aga clic< en el botn
0errar. . continuacin guarde su aplicacin y genere nueamente
el control.
1ara probar el control abra el formulario
:rm1ruebaMi0ontrol y a$ada al 0uadro de #erramientas el
componente Microsoft 0ommon (ialog 0ontrol -.*. !n seguida
a$ada al formulario un Mi0ontrol, un 0ommon(ialog y un
0ommandButton. 0ambie el nombre del botn 0ommand3 por
0md.ceptar e ingrese el siguiente cdigo+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
146
1riate &ub 0md.ceptar=0lic<>?
0ommon(ialog3.&#oJ0olor
Mi0ontrol3.:ore0olor 4 0ommon(ialog3.0olor
Mi0ontrol3.Visible 4 :alse
Mi0ontrol3.Visible 4 /rue
!nd &ub
Guarde y luego e%ecute su aplicacin, el resultado ser
similar al siguiente+
.l #acer clic< sobre el botn .ceptar, se presenta la
siguiente ca%a de dilogo en la cual podemos elegir el nueo
color para el te"to de bienenida+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
147
1reste atencin en que la propiedad Visible se utiliza
para actualizar el contenido del control y se pueda er el
cambio de color. 7o es la me%or forma de #acerlo, deberamos
#acerlo mediante cdigo dentro del mismo control, pero por el
momento y para probar como asociar una propiedad a un control
es ms que suficiente.
Aplicaci+$ N -
(ise$ar un control .ctie[ que presente la forma de un
cuadro de te"to, pero que slo admita n'meros. !s decir, el
usuario slo podr escribir en el control n'meros, cualquier
otro carcter que no sea un n'mero, ser rec#azado por el
control y no se imprimir en el cuadro de te"to.
.l igual que en la aplicacin anterior crear el grupo de
proyectos y establezca las propiedades seg'n+
4roBecto1
7ombre .ctie[7umBo"
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
148
U#erCo$trol1
7ombre 7umBo"
/oolbo"Bitmap 0+I.rc#ios de programaIMicrosoft Visual
&tudioI0ommonIGrap#icsIBitmapsI.ssortedI
(iamond.bmp
4roBecto,
7ombre Vbp7umBo"
(orm1
7ombre :rm1rueba7umBo"
0aption 1rueba de 0ontrol .ctie[
Border&tyle 98:i"ed (ialog
1ara dise$ar nuestro control utilizaremos un control
/e"tBo" el cual debe insertar en el formulario 7umBo"
>2ser0ontrol?. Luego elimine el contenido de la propiedad /e"t.
/ener cuidado en que el control #a de ser del mismo tama$o del
cuadro de te"to. Luego, el cuadro de te"to debe redimensionarse
de acuerdo al control en tiempo de dise$o, esto es a la #ora de
insertar nuestro control en un formulario. 1ara ello es
necesario ingresar el siguiente cdigo+
1riate &ub 2ser0ontrol=Gesize>?
/e"t3./op 4 *
/e"t3.Left 4 *
/e"t3.Uidt# 4 2ser0ontrol.Uidt#
/e"t3.5eig#t 4 2ser0ontrol.5eig#t
!nd &ub
1riate &ub 2ser0ontrol=,nit1roperties>?
/e"t3 4 !"tender.7ame
!nd &ub
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
149
1riate &ub /e"t3=Tey1ress>Tey.scii .s ,nteger?
,f 7ot >Tey.scii 4 D Hr =
>Tey.scii O4 FD .nd Tey.scii P4 EL?? /#en
Tey.scii 4 *+ Beep+ Beep+ Beep+ Beep
!nd ,f
!nd &ub
. continuacin genere el control 7umBo" y cierre el
formulario de dise$o del control. !stablezca como inicial el
proyecto Vbp7umBo" y a$ada un control 7umBo" y un 0ommandButton
al formulario :rm1rueba7umBo". 0ambie el nombre del botn de
comando por 0md&alir. . continuacin guarde y e%ecute su
aplicacin, el resultado debe ser similar al mostrado+
!l control que acabamos de dise$ar permite escribir
'nicamente n'meros, es decir es un cuadro de n'meros. /rate de
ingresar otros caracteres y ea lo que sucede.
Aplicaci+$ N .
0rear un control .ctie[ que permita el ingreso del da,
mes y el a$o correspondiente a cualquier fec#a desde el a$o 3
#asta el a$o KKKK. (eber alidar la fec#a ingresada y no
deber permitir la edicin de fec#as no e"istentes como por
e%emplo E de &etiembre de 3LE). !l control deber mostrar el
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
150
da de la semana correspondiente a la fec#a ingresada, tal como
se muestra en la figura siguiente+
!l calendario Gregoriano actual obedece a la reforma del
calendario Quliano que orden el papa Gregorio [,,, en 3LE),
para ponerlo de acuerdo con los moimientos de los cuerpos
celestes. Lo cual tra%o como consecuencia adelantar las fec#as
del ) de &etiembre al 3F de &etiembre de 3LE), es decir las
fec#as comprendidas en este interalo de tiempo nunca
e"istieron.
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
151
Microsoft Visual Basic
GUA DE LABORATORIO N 1<
O!eti"o#
Luego de completar este laboratorio, el estudiante ser
capaz de+
0rear documentos .ctie[ que se e%ecuten directamente en una
pgina Ueb.
2tilizar documentos .ctie[ que incorporan #ipernculos.
(esarrollar documentos .ctie[ para interactuar con bases de
datos relacionales.
Co$#i%eracio$e#
1ara el desarrollo del presente laboratorio 2d. deber
crear una carpeta C&'()$%*B'La1<, para guardar sus traba%os
correspondientes a este laboratorio.
Aplicaci+$ N 1
0omo primer e%ercicio amos a desarrollar un documento
.ctie[ que permite recuperar informacin de la base de datos
0ursosLibres.M(B.
2n documento .ctie[, es simplemente un formulario que se
puede e%ecutar directamente en los e"ploradores de ,nternet.
Los documentos .ctie[ se dise$an de la misma manera que los
formularios estndar de Visual Basic. 1ara comenzar a
desarrollar nuestro documento .ctie[, debe ingresar a Visual
Basic y en la entana de dilogo 7ueo 1royecto seleccione ![!
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
152
de documento .ctie[ y luego #aga clic< en el botn .ceptar,
tal como se indica en la figura+
. continuacin proceda a dise$ar la siguiente interfaz de
usuario+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
153
1ara tal efecto, proceda a ubicar los siguientes controles
en el formulario+
9 etiquetas
3 cuadro combinado
3 control (ataGrid
3 botn de comandos
!n seguida proceda a establecer las propiedades seg'n se
indica+
Lael1
7ombre Lbl/itulo3
.uto&ize /rue
0aption ,nstituto de !ducacin &uperior
:ont .rial >7egrita 3)?
:ore0olor &5**0*****&
Lael,
7ombre Lbl/itulo)
.uto&ize /rue
0aption @Vctor .ndrWs Bela'ndeA
:ont /imes 7eJ Goman >7egrita )F?
:ore0olor &5******::&
Lael-
7ombre Lbl/ablas
.uto&ize /rue
0aption Vacantes+
:ont .rial >7egrita 3*?
Como1
7ombre 0bo/abla
:ont .rial >7egrita 3*?
/e"t
DataGri%1
7ombre Bdgrd/abla
:ont .rial >7egrita 3*?
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
154
5ead:ont .rial >7egrita 3*?
Comma$%1
7ombre 0md.ceptar
0aption &Mostrar
2na ez establecidas las propiedades, proceda a ingresar
el siguiente cdigo+
(im 0n .s .(H(B.0onnection
(im Gs.lumno .s .(H(B.Gecordset
(im Gs0urso .s .(H(B.Gecordset
(im GsLaboratorio .s .(H(B.Gecordset
1riate &ub 2ser(ocument=,nitialize>?
&et 0n 4 7eJ .(H(B.0onnection
0n.Hpen @1roider4Microsoft.Qet.HL!(B.F.*SA & =
@(ata &ource40+I:undVBI(ataI0ursosLibres.M(BSA & =
@1ersist &ecurity ,nfo4:alseA
0bo/abla..dd,tem @.lumnoA
0bo/abla..dd,tem @0ursoA
0bo/abla..dd,tem @LaboratorioA
!nd &ub
1riate &ub Mostrar.lumno>?
&et Gs.lumno 4 7eJ .(H(B.Gecordset
Gs.lumno..ctie0onnection 4 0n
Gs.lumno.0ursor/ype 4 adHpen&tatic
Gs.lumno.Loc</ype 4 adLoc<GeadHnly
Gs.lumno.0ursorLocation 4 ad2se0lient
Gs.lumno.Hpen @&elect .lu0odigo .s 0digo, A & =
@>.lu1aterno M ^ ^ M .luMaterno? .s .pellidos, A & =
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
155
@.lu7ombres .s 7ombres :rom .lumnoA
&et (bgrd/abla.(ata&ource 4 Gs.lumno
!nd &ub
1riate &ub Mostrar0urso>?
&et Gs0urso 4 7eJ .(H(B.Gecordset
Gs0urso..ctie0onnection 4 0n
Gs0urso.0ursor/ype 4 adHpen&tatic
Gs0urso.Loc</ype 4 adLoc<GeadHnly
Gs0urso.0ursorLocation 4 ad2se0lient
Gs0urso.Hpen @&elect 0ur0odigo .s 0digo, A & =
@0ur7ombre .s 7ombre, A & =
@0urVacantes .s Vacantes, A & =
@0ur1rofe .s 1rofesor :rom 0ursoA
&et (bgrd/abla.(ata&ource 4 Gs0urso
!nd &ub
1riate &ub MostrarLaboratorio>?
&et GsLaboratorio 4 7eJ .(H(B.Gecordset
GsLaboratorio..ctie0onnection 4 0n
GsLaboratorio.0ursor/ype 4 adHpen&tatic
GsLaboratorio.Loc</ype 4 adLoc<GeadHnly
GsLaboratorio.0ursorLocation 4 ad2se0lient
GsLaboratorio.Hpen @&elect Lab0odigo .s 0digo, A & =
@Lab5ora .s 5orario, A & =
@Lab1rofe .s \Qefe de prctica] :rom LaboratorioA
&et (bgrd/abla.(ata&ource 4 GsLaboratorio
!nd &ub
1riate &ub 0mdMostrar=0lic<>?
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
156
&elect 0ase 0bo/abla.List,nde"
0ase *
0all Mostrar.lumno
0ase 3
0all Mostrar0urso
0ase )
0all MostrarLaboratorio
!nd &elect
!nd &ub
:inalmente guarde y pruebe su documento .ctie[. !l
resultado debe ser similar a la figura que se muestra a
continuacin+

Aplicaci+$ N ,
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
157
.l documento .ctie[ desarrollado en el e%ercicio
anterior, a$adirle un botn .cerca de, que presente la
informacin referente al autor >o autores? de la aplicacin. !l
dise$o del formulario debe ser tal como se muestra a
continuacin+
!n primer lugar proceda a a$adir un formulario estndar al
proyecto. 0ambie el nombre del formulario por el de :rm.cerca(e
y dise$e la interfaz pedida.
!n seguida a$ada un botn de comandos al documento .ctie[
y cambie su nombre por 0md.cerca. Luego #aga doble clic< sobre
dic#o botn e ingrese el siguiente cdigo+
1riate &ub 0md.cerca=0lic<>?
Load :rm.cerca(e
:rm.cerca(e.&#oJ bModal
!nd &ub
:inalmente guarde y pruebe su aplicacin. 0omo puede
apreciar desarrollar documentos .ctie[ no es nada complicado.
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
158
Aplicaci+$ N -
.l documento .ctie[ desarrollado anteriormente a$adirle
un botn ,r a, que permita enlazarnos con la direccin que se
ingrese en el cuadro de te"to ad%unto. !l dise$o del documento
se muestra a continuacin+
1ara lograr lo que se pide, a$ada un botn de comandos y
un cuadro de te"to y cambie sus nombres por 0md2GL y /"t2GL
respectiamente. Luego ingrese el siguiente cdigo+
1riate &ub 0md2GL=0lic<>?
2ser(ocument.5yperlin<.7aigate/o /"t2GL
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
159
!nd &ub
Aplicaci+$ N .
!laborar un documento .ctie[ que permita mostrar el
contenido de la tabla 0urso de la base de datos
0ursosLibres.M(B. . continuacin el usuario selecciona un curso
y tiene la posibilidad de separar la matrcula o en su defecto
matricularse en el curso de su eleccin. !l dise$o de la
aplicacin debe ser similar a la siguiente figura+
&ugerencia+ .$adir una nuea tabla a la base de datos para
registrar a los alumnos matriculados o con separacin de
matrcula.
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
160
Microsoft Visual Basic
GUA DE LABORATORIO N 11
O!eti"o#
Luego de completar este laboratorio, el estudiante ser
capaz de+
(ise$ar pginas Ueb dinmicas mediante aplicaciones (5/ML.
(esarrollar aplicaciones (5/ML para interactuar con los datos
de un sistema distribuido de bases de datos relacionales.
,mplementar aplicaciones mediante cdigo Visual Basic y
cdigo 5/ML.
.gregar funcionalidad a sus aplicaciones para e"plorar Ueb.
Co$#i%eracio$e#
1ara el desarrollo del presente laboratorio 2d. deber
crear una carpeta C&'()$%*B'La11, para guardar sus traba%os
correspondientes a este laboratorio.
Aplicaci+$ N 1
!n este e%ercicio, amos a desarrollar una aplicacin
(5/ML que lea un n'mero entero y muestre su tabla de
multiplicar.
!n su forma ms sencilla, una aplicacin (5/ML >(ynamic
5yper/e"t Mar<up Language? puede consistir de una o ms pginas
5/ML enlazadas con cdigo Visual Basic y el modelo de ob%etos
5/ML dinmico.
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
161
1ara comenzar a desarrollar nuestra aplicacin, ingresar a
Visual Basic y en la entana de dilogo 7ueo 1royecto
seleccione .plicacin (5/ML, y #aga clic< en el botn .ceptar.
.l obserar la entana del !"plorador de proyectos, esta
presentar la siguiente apariencia+
Visual Basic agrega automticamente un (ise$ador de
pginas (5/ML al proyecto. !n seguida, #aga doble clic< sobre
(5/ML1age3 y proceda a establecer las propiedades que se
indican+
D=T2L4a@e1
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
162
7ombre (5/ML/ablaMultiplicar
,d (5/ML/ablaMultiplicar
1ara crear la interfaz de la aplicacin (5/ML, simplemente
tenemos que ir agregando elementos 5/ML de la ca%a de
#erramientas. (e esa manera, realice el dise$o de la pgina
mostrada en la siguiente figura+
2na ez terminado el proceso de dise$o de la pgina,
seleccione el encabezado /abla de Multiplicar y #aga clic< en
el cuarto botn de la barra de #erramientas del (ise$ador
>.%ustar la seleccin en P&1.7O . . . P;&1.7O?. !n seguida, sin
de%ar de seleccionar el encabezado, actie la Ventana de
propiedades y establezca lo siguiente+
Tala %e 2)ltiplicar
,d /itulo
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
163
. continuacin proceda a establecer las propiedades para
los dems controles seg'n se indica+
Te1t(iel%1
7ombre /"t7
,d /"t7
Value
Te1tArea1
7ombre /"t/abla
,d /"t/abla
Value
!n seguida #aga doble clic< sobre el cuadro de te"to /"t7
e ingrese lo siguiente+
1riate &ub (5/ML1age=Load>?
(ocument.bg0olor 4 @NelloJA
/itulo.&tyle.0olor 4 @GedA
!nd &ub
1riate &ub /itulo=onmouseout>?
/itulo.&tyle.0olor 4 @GedA
!nd &ub
1riate &ub /itulo=onmouseoer>?
/itulo.&tyle.0olor 4 @BlueA
!nd &ub
1riate &ub /"t7=onpropertyc#ange>?
,f ,s7umeric>/"t7.Value? /#en
(im 7 .s ,nteger, , .s ,nteger, & .s &tring
7 4 Val>/"t7.Value?
:or , 4 * /o 3)
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
164
& 4 & & 7 & @ 6 A & , & @ 4 A & 7 6 , & b0rLf
7e"t ,
/"t/abla.Value 4 &
!lse
/"t/abla.Value 4 @A
!nd ,f
!nd &ub
:inalmente, guarde y pruebe su aplicacin (5/ML. !l
resultado debe ser similar a la figura siguiente+
Aplicaci+$ N ,
(esarrollar una aplicacin (5/ML que permita isualizar el
contenido de la tabla 0urso de la base de datos
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
165
0ursosLibres.M(B. !l dise$o de la pgina debe ser similar al
mostrado+
1ara desarrollar nuestra aplicacin, lo primero que debe
de #acer es abrir una nueo proyecto (5/ML. Luego debe crear la
cone"in a la base de datos 0ursosLibres.M(B. 1ara ello ingrese
al men' 1royecto seleccione la opcin .gregar (ata !nironment.
!n la entana (ata !nironment cambie el nombre del ob%eto
(ata!nironment por (e0ursosLibres y el de la cone"in por
0n0ursosLibres. Luego, a$ada un 0omando y denomnelo 0m0urso.
5aga clic< derec#o sobre el comando y seleccione 1ropiedades. .
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
166
continuacin seleccione la opcin ,nstruccin &RL e ingrese el
siguiente cdigo+
&elect 0ur0odigo, 0ur7ombre, 0urVacantes, 0ur1rofe :rom 0urso
Luego #aga clic< en el botn .ceptar. !l aspecto de la
entana (ata !nironment debe ser similar al siguiente+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
167
!n seguida proceda a dise$ar la pgina. 1ara ello digite
los encabezados y etiquetas necesarios. Luego a$ada los
siguientes controles 5/ML al dise$ador de pginas (5/ML+
F ca%as de te"to
F botones de comandos
. continuacin, proceda a establecer las propiedades seg'n
se indica+
C*Dctor A$%rE# BelaF$%eG
,d /itulo
Te1t(iel%1
7ombre /"t0ur0odigo
,d /"t0ur0odigo
Value
Te1t(iel%,
7ombre /"t0ur7ombre
,d /"t0ur7ombre
Value
Te1t(iel%-
7ombre /"t0urVacantes
,d /"t0urVacantes
Value
Te1t(iel%.
7ombre /"t0ur1rofe
,d /"t0ur1rofe
Value
B)tto$1
7ombre 0md1rimero
,d 0md1rimero
Value 1rimero
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
168
B)tto$,
7ombre 0md.nterior
,d 0md.nterior
Value .nterior
B)tto$-
7ombre 0md&iguiente
,d 0md&iguiente
Value &iguiente
B)tto$.
7ombre 0md2ltimo
,d 0md2ltimo
Value 2ltimo
Mediante el (ata !nironment, .(H y el ob%eto
Binding0ollection, es posible enlazar elementos de una pgina
(5/ML con un origen de datos cuando se carga la pgina. !sto le
permite modificar los datos y escribir cdigo para actualizar
un con%unto de registros subyacente o simplemente desplazarse a
traWs de los mismos. 1or e%emplo, puede usar un ob%eto
Binding0ollection con un ob%eto Gecordset de .(H para enlazar
los elementos /e"t:ield de la pgina de cdigo 5/ML con campos
de la tabla 0urso.
1ara poder utilizar los ob%etos de la Microsoft (ata
Binding 0ollection es necesario cargar la librera
correspondiente. &elecciones el men' 1royecto y eli%a la opcin
Geferencias. !n el cuadro de dilogo Geferencias seleccione la
opcin Microsoft (ata Binding 0ollection, tal como se indica en
la figura+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
169
. continuacin declare una ariable de tipo
Binding0ollection en la seccin de (eclaraciones de la pgina
(5/ML y proceda a ingresar el cdigo que se muestra+
(im 0olBind .s Binding0ollection
1riate &ub (5/ML1age=Load>?
(ocument.bg0olor 4 @NelloJA
/itulo.&tyle.0olor 4 @BlueA
&et 0olBind 4 7eJ Binding0ollection
&et 0olBind.(ata&ource 4 (e0ursosLibres
0olBind.(ataMember 4 @0m0ursoA
0olBind..dd /"t0ur0odigo, @ValueA, @0ur0odigoA
0olBind..dd /"t0ur7ombre, @ValueA, @0ur7ombreA
0olBind..dd /"t0urVacantes, @ValueA, @0urVacantesA
0olBind..dd /"t0ur1rofe, @ValueA, @0ur1rofeA
!nd &ub
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
170
1riate :unction 0md1rimero=onclic<>? .s Boolean
(e0ursosLibres.rs0m0urso.Moe:irst
!nd :unction
1riate :unction 0md.nterior=onclic<>? .s Boolean
(e0ursosLibres.rs0m0urso.Moe1reious
,f (e0ursosLibres.rs0m0urso.BH: /#en
(e0ursosLibres.rs0m0urso.Moe:irst
!nd ,f
!nd :unction
1riate :unction 0md&iguiente=onclic<>? .s Boolean
(e0ursosLibres.rs0m0urso.Moe7e"t
,f (e0ursosLibres.rs0m0urso.!H: /#en
(e0ursosLibres.rs0m0urso.MoeLast
!nd ,f
!nd :unction
1riate :unction 0md2ltimo=onclic<>? .s Boolean
(e0ursosLibres.rs0m0urso.MoeLast
!nd :unction
:inalmente, guarde y pruebe su aplicacin.
Aplicaci+$ N -
(ise$ar una aplicacin que permita cargar en una tabla
5/ML el contenido de la tabla 0urso. La tabla 5/ML se debe
crear dinmicamente de acuerdo al n'mero de registros
e"istentes.
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
171
1ara desarrollar nuestra aplicacin, a$ada una nuea
pgina (5/ML al proyecto anterior. 1ara ello seleccione el men'
1royecto y eli%a la opcin .gregar (5/ML 1age. !n seguida
proceda a ingresar el siguiente cdigo+
(im 0olBind .s Binding0ollection
1riate &ub (5/ML1age=Load>?
(im GsGesults .s .(H(B.Gecordset
&et 0olBind 4 7eJ Binding0ollection
&et 0olBind.(ata&ource 4 (e0ursosLibres
0olBind.(ataMember 4 @0m0ursoA
&et GsGesults 4 (e0ursosLibres.rs0m0urso
(o U#ile 7ot GsGesults.!H:
(ocument.body.insert.d%acent5/ML @Before!ndA, =
@P/able Border 0ellspacing43 0ellpadding4LOA & =
@P/d Uidt#4E*OA & GsGesults_0ur0odigo & @P;/dOA & =
@P/d Uidt#4)**OA & GsGesults_0ur7ombre & @P;/dOA & =
@P/d Uidt#4E*OA & GsGesults_0urVacantes & @P;/dOA & =
@P/d Uidt#4)**OA & GsGesults_0ur1rofe & @P;/dOA & =
@P;/ableOA
GsGesults.Moe7e"t
Loop
GsGesults.Moe:irst
GsGesults.0lose
!nd &ub
:inalmente, no olide cambiar el componente de inicio
antes de e%ecutar su aplicacin.
Aplicaci+$ N .
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
172
(ise$ar una aplicacin (5/ML que permita seleccionar de un
control &elect >similar a un cuadro combinado?, el nombre de un
profesor y a continuacin se muestren en una tabla 5/ML
dinmica los cursos que dicta dic#o profesor.
2n elemento &elect, es similar a un cuadro combinado. 1or
e%emplo, para agregar un elemento &elect denominado &el1rofe a
una la pgina 5/ML, simplemente arrastrar el elemento a la
pgina. . continuacin establecer las siguientes propiedades+
6eleccio$1
7ombre &el1rofe
,d &el1rofe
Value
1ara especificar los elementos de lista que se deben
mostrar en el elemento &elect agregar el siguiente cdigo al
procedimiento de eento Load de la pgina 5/ML, eamos+
1riate &ub (5/ML1age=Load>?
(im &el!lement .s 5/ML&elect!lement
(im 0n .s .(H(B.0onnection
(im Gs1rofe .s .(H(B.Gecordset
&et 0n 4 7eJ .(H(B.0onnection
&et Gs1rofe 4 7eJ .(H(B.Gecordset
0n.Hpen @1roider4Microsoft.Qet.HL!(B.F.*SA ` =
@(ata &ource40+I:undVBI(ataI0ursosLibres.M(BSA ` =
@1ersist &ecurity ,nfo4:alseA
Gs1rofe..ctie0onnection 4 0n
Gs1rofe.0ursor/ype 4 adHpen&tatic
Gs1rofe.Loc</ype 4 adLoc<Hptimistic
Gs1rofe.0ursorLocation 4 ad2se0lient
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
173
Gs1rofe.Hpen @&elect (istinct 0ur1rofe :rom 0ursoA
(o U#ile 7ot Gs1rofe.!H:>?
&et &el!lement 4 (ocument.create!lement>@H1/,H7A?
&el!lement./e"t 4 Gs1rofe_0ur1rofe
&el1rofe.Hptions..dd &el!lement
Gs1rofe.Moe7e"t
Loop
!nd &ub
.l e%ecutar su aplicacin debe ser similar a la figura
mostrada+
:inalmente a manera de e%ercicio para el estudiante,
proceda a escribir el cdigo necesario para mostrar la
informacin relacionada con cada profesor.
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
174
Microsoft Visual Basic
GUA DE LABORATORIO N 1,
O!eti"o#
Luego de completar este laboratorio, el estudiante ser
capaz de+
2tilizar funciones .1, de UindoJs desde Microsoft Visual
Basic.
0onertir declaraciones de 0 a Visual Basic.
.$adir un sistema de ayuda a una aplicacin.
2sar el asistente para empaquetado y distribucin.
Generar programas de instalacin mediante disquetes, carpetas
en una unidad local de red o en una publicacin Ueb.
Co$#i%eracio$e#
1ara el desarrollo del presente laboratorio 2d. deber
crear una carpeta C&'()$%*B'La1,, para guardar sus traba%os
correspondientes a este laboratorio.
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
175
Aplicaci+$ N 1
2n programador de aplicaciones Visual Basic, adems de
conocer su entorno de traba%o, debe conocer su entorno de
programacin, conocido generalmente como ,nterfaz de
1rogramacin de .plicaciones para UindoJs >UindoJs .pplication
1rogramming ,nterface, UindoJs .1,?.
La .1, de UindoJs iene a ser un con%unto de funciones
desarrolladas en lengua%e 0. &in embargo, muc#os programadores
de Visual Basic recurren a estas funciones para conseguir #acer
lo que es imposible >o muy complicado? desde Visual Basic.
Las funciones .1, de UindoJs no son nada complicadas como
pueden pensar algunos programadores de Visual Basic.
0omo primer e%ercicio amos a escribir una aplicacin que
permita modificar el ttulo de un formulario. !n la prctica,
siempre se modifican los ttulos del formulario con la
propiedad 0aption de Visual Basic, pero este e%ercicio ofrece
una manera sencilla de declarar y llamar a una .1, de UindoJs.
!l primer paso consiste en a$adir un mdulo de cdigo al
proyecto. !n seguida proceda a declarar la funcin en la
seccin de declaraciones del mdulo+
1ublic (eclare :unction &etUindoJ/e"t Lib @user9)A =
.lias @&etUindoJ/e"t.A >ByVal #Und .s Long, =
ByVal lp&tring .s &tring? .s Long
Luego, en el formulario ingrese el cdigo que se muestra a
continuacin+
1riate &ub :orm=Load>?
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
176
&etUindoJ/e"t :orm3.#Und, @Bienenidos a la .1, de UindoJsA
!nd &ub
.l e%ecutar su aplicacin, su resultado debe ser similar a
la siguiente figura+
Aplicaci+$ N ,
(esarrollar una aplicacin que permita reproducir un
arc#io Ua o Midi. 2tilizar la funcin .1, de UindoJs
mci!"ecute para lograr el ob%etio deseado.
0omo se sabe, el lengua%e 0 diferencia las letras
may'sculas de las min'sculas. 1or ello, si 2d. comete un error,
por e%emplo utiliza una letra may'scula en lugar de una
min'scula >o iceersa?, la funcin declarada no ser
reconocida y obtendr un mensa%e de error.
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
177
1ara eitar este tipo de problemas, amos a utilizar el
Visor .1, de UindoJs. !n seguida, del men' 0omplementos eli%a
la opcin .dministrador de 0omplementos. (el cuadro de dilogo
que se presenta cargar la opcin Visor de .1, de VB -. .l dar
un clic< en el botn .ceptar, se a$adir en el men'
0omplementos la opcin Visor de .1,.
!n seguida ingrese al Visor de .1,. &e debe presentar una
pantalla similar a la siguiente+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
178
!n la pantalla anterior, seleccione el men' .rc#io y
eli%a la opcin 0argar arc#io de te"to. !n el cuadro de
dilogo que se presenta elegir el arc#io Uin9)api./"t y dar un
clic< en el botn .brir.
(e la siguiente pantalla 2d. podr seleccionar la funcin
que desea, luego actie la opcin p'blico y dar un clic< en el
botn .gregar para isualizar el cdigo de declaracin de dic#a
funcin.
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
179
!n seguida #aga clic< en el botn 0opiar y pegue dic#o
cdigo a su aplicacin. Gecordar que la declaracin de la
funcin .1, se debe realizar en un mdulo, por lo tanto debe
agregar un nueo mdulo y pegar el siguiente cdigo+
1ublic (eclare :unction mci!"ecute Lib @Jinmm.dllA =
>ByVal lpstr0ommand .s &tring? .s Long
Luego proceda a dise$ar la interfaz de la aplicacin. 1ara
ello ubique los siguientes controles+
3 control ,mage
) botones de comando
!n seguida establezca las propiedades seg'n se indica a
continuacin+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
180
(orm1
7ombre :rmMultimedia
0aption 5acer sonar un fic#ero Ua o Midi
Border&tyle 98:i"ed (ialog
Ima@e1
1icture 0+I.rc#ios de programaIMicrosoft Visual
&tudioI0ommonIGrap#icsI,consIMiscIMi<e.ico
&tretc# /rue
Comma$%1
7ombre 0md!%ecutar
0aption &!%ecutar
Comma$%,
7ombre 0md&alir
0aption &&alir
2na ez establecidas las propiedades, proceda a ingresar
el siguiente cdigo+
1riate &ub 0md!%ecutar=0lic<>?
iGesult 4 mci!"ecute>@1lay c+Ib7)IbmpI9F.JaA?
!nd &ub
1riate &ub 0md&alir=0lic<>?
2nload Me
!nd &ub
Aplicaci+$ N -
2no de los temas en los que UindoJs #a creado un estndar
es el sistema de ayuda de las aplicaciones. 1ara ello incluye
una aplicacin denominada Uin5elp como motor de ayuda de
UindoJs.
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
181
Los pasos necesarios para crear un sistema de ayuda son
los siguientes+
0rear un arc#io de te"to G/:.
0ompilar el arc#io G/: mediante el compilador de ayudas 5elp
Uor<s#op, para obtener el arc#io 5L1.
2tilizar el motor de ayuda Uin5elp.
!n ista de lo anterior, lo primero que necesitamos para
crear nuestro sistema de ayuda, es un arc#io con formato G/:
donde se incluir el te"to de la ayuda. 1ara ello ingrese a
Microsoft Uord )*** y digite lo siguiente+
Microsoft Visual Basic 6.0
Curso de programacin
Profesor Carlos Castillo Peralta
Contenido
Microsoft Visual Basic Nivel I
Microsoft Visual Basic Nivel II
Microsoft Visual Basic Nivel III
!n seguida ubique el cursor en la 'ltima lnea de te"to y
presione la combinacin de teclas 0trl M !nter, para comenzar
en una nuea pgina. . continuacin digite lo siguiente+
Microsoft Visual Basic 6.0
Curso de programacin
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
182
Profesor Carlos Castillo Peralta
Nivel
Coce!tos "#sicos
$le%etos &el le'ua(e
$tra&a ) sali&a &e &atos
*etecias &e cotrol
+rre'los
$structuras
+rc,ivos &e &atos
Volver
!n seguida ubique el cursor en la 'ltima lnea de te"to
que acaba de ingresar y pulse 0trl M !nter para comenzar a
digitar el siguiente te"to en una pgina diferente+
Microsoft Visual Basic 6.0
Curso de programacin
Profesor Carlos Castillo Peralta
Nivel
Creaci- &e "ases &e &atos
+!licacioes Cliete *ervi&or
*etecias *./
$toro &e &atos
0"(etos &e 1atos +ctive2 3+104
5e!ortes
Volver
(e manera anloga a los dems casos, ubique el cursor en
la 'ltima lnea de te"to y presione 0trl M !nter. !n seguida
ingrese el siguiente te"to+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
183
Microsoft Visual Basic 6.0
Curso de programacin
Profesor Carlos Castillo Peralta
Nivel
Creaci- co%!oetes
/e'ua(e 67M/
Visual Basic *cri!t
+!licacioes 167M/
+8I &e 9i&o:s
Creaci- &e arc,ivos &e a)u&a
$%!a;ueta&o ) &istri"uci-
Volver
:inalmente, debe obtener un arc#io de cuatro pginas.
Guarde su arc#io como Mi.yuda.G/:.
!l arc#io de ayuda que amos a construir a a utilizar
ms de una pgina, y en ese caso se requiere especificar un
identificador para cada pgina.
.#ora procederemos a crear los identificadores de pginas.
1ara ello ubicar el cursor en la primera pgina antes del
encabezado Microsoft Visual Basic -.* y seleccione del men'
,nsertar la opcin 7ota al pie. Luego, ingresar como marca
personal el smbolo < tal como se muestra en la siguiente
figura+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
184
.l dar clic< en el botn .ceptar, el cursor se ubicar
automticamente en el pie de pgina donde debe digitar VBMain
delante del smbolo <.
!n la misma pgina, ubicar el cursor delante de la palabra
Microsoft Visual Basic 7iel , y darle el atributo de subrayado
doble. Luego, escribir VB3 inmediatamente despuWs del te"to
subrayado y a este identificador darle el atributo de oculto.
Gealizar acciones similares para las dos siguientes
lneas, despuWs del te"to Microsoft Visual Basic 7iel ,,
escribir VB) y para Microsoft Visual Basic 7iel ,,, escribir
VB9. 7o olidar que estos identificadores deben tener atributo
de oculto.
!n la segunda pgina ubicar el cursor antes del encabezado
Microsoft Visual Basic -.* y seleccione del men' ,nsertar la
opcin 7ota al pie. Luego, ingresar como marca personal el
smbolo < y luego digitar en el pie de pgina VB3. Luego en la
misma pgina, posicionar el cursor delante de la palabra Voler
y darle el atributo de subrayado doble. !scribir VBMain
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
185
inmediatamente despuWs del te"to subrayado y a este
identificador darle el atributo de oculto.
0ontinuar de manera similar con las siguientes pginas. .l
concluir uela a guardar su arc#io. La primera pgina debe
presentar una apariencia similar a la siguiente figura+
0ontinuando con nuestro esquema, a#ora debemos generar el
arc#io 5L1 a partir del arc#io G/: que acabamos de crear.
1ara ello debemos e%ecutar la aplicacin Microsoft 5elp
Uor<s#op. (esde el men' ,nicio, eli%a la carpeta 1rogramas,
luego eli%a la carpeta Microsoft Visual &tudio -.*, en seguida
seleccione la carpeta 5erramientas de Microsoft Visual &tudio
-.*, y luego #aga clic sobre la aplicacin 5elp Uor<s#op. .
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
186
continuacin se presentar una entana similar a la mostrada en
la siguiente figura+
&eleccione el men' :ile y eli%a la opcin 7eJ. .
continuacin se mostrar un cuadro de dilogo similar al
siguiente+
&eleccione la opcin 5elp 1ro%ect y dar un clic< en el
botn HT. !n seguida se presentar una entana en la cual debe
indicar el nombre y la ruta del arc#io 5L1 que desea generar.
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
187
1ara nuestro caso digite Mi.yuda y #aga clic< sobre el botn
Guardar, tal como se indica en la figura que se muestra a
continuacin+
.l #acer clic< en el botn Guardar, en seguida se
presentar la siguiente pantalla+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
188
.#ora que 2d. #a creado un proyecto de ayuda, necesita
agregar la informacin sobre su arc#io o arc#ios de ayuda.
B5a creado su arc#io de ayuda Mi.yuda.G/:C &i 2d. ya lo
#a creado #aga clic< en el botn :iles y en seguida aparecer
la siguiente pantalla+
Luego dar un clic< en el botn .dd. !n seguida se
presentar la siguiente entana en la cual debe especificar el
nombre y la ruta de su arc#io de ayuda G/:. 1ara nuestro
seleccione Mi.yuda y #aga clic< en el botn .brir.
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
189
!n seguida se mostrar la siguiente pantalla. 2d. #aga
clic< sobre el botn HT.
. continuacin se presentar una pantalla similar a la
figura mostrada+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
190
. continuacin amos a definir una entana. 1ara ello #aga
clic< sobre el botn UindoJs. !n seguida aparecer un cuadro de
dilogo en el cual debe ingresar el nombre de la entana. 1ara
nuestro caso digite Main. Luego #aga clic< en el botn HT.
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
191
!n seguida se presentar el siguiente cuadro de dilogo.
!n la fic#a General ingrese el te"to que se indica para la
barra de ttulo de la entana.
!n la fic#a 1osition defina el tama$o inicial de la
entana de ayuda, para ello #aga clic< en el botn .uto8&izer.
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
192
!n seguida se presentar una entana de prueba similar a
la que se muestra en la figura siguiente. 0ambie las
dimensiones de esta entana seg'n su parecer y #aga clic< en el
botn HT.
. continuacin seleccione la fic#a Buttons y actie los
botones que 2d. quiere agregar para su entana.
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
193
Luego seleccione la fic#a 0olor. !n seguida se presentar
una pantalla similar a la siguiente+
1ara cambiar el color de la zona de no desplazamiento o la
zona de desplazamiento pulse el botn 0#ange al lado de la
entana de muestra. !sco%a el color que 2d. desee y entonces
#aga clic< en el botn .ceptar.
!l arc#io de proyecto debe presentar una apariencia
similar a la figura mostrada+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
194
Bueno, 2d. acaba de crear su primer proyecto de ayuda
bsico. Ms adelante si as lo necesitar puede cambiar
cualquiera de estas opciones. 1ara ello simplemente debe abrir
su arc#io de proyecto de ayuda y realizar los cambios que
considere pertinente.
:inalmente guarde y pruebe su proyecto. 1ara lo cual debe
dar clic< en el botn &ae and 0ompile. !n seguida se
presentar una pantalla similar a la siguiente+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
195
!n seguida ingrese al men' :ile y eli%a la opcin Gun
Uin5elp. Luego, se presentar una pantalla similar a la
mostrada+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
196
!n seguida dar clic< en el botn VieJ 5elp. . continuacin
se presentar una pantalla similar a la figura siguiente.
1ruebe ingresando a las otras pginas, para ello simplemente
#aga clic< en cualquiera de los tres tems que se muestran en
la seccin 0ontenido.
B&abe 2d. como a$adir una imagen de mapa de bits a nuestro
arc#io de ayudaC La respuesta es bastante sencilla. 1ara ello
realice los siguientes pasos+
,ngrese a Microsoft Uord )*** y proceda a abrir el arc#io
Mi.yuda.G/:. 2biquese en la primera pgina y a$ada el siguiente
te"to HB2C CC4.B24I antes del nombre del profesor. Luego guarde
su arc#io.
. continuacin cargue el 5elp Uor<s#op. Luego dar clic<
sobre el botn Bitmaps. &e presentar una pantalla similar a la
figura siguiente+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
197
!n seguida #aga clic< en el botn .dd. . continuacin se
presentar una entana similar a la siguiente figura+
!n el cuadro de dilogo anterior seleccione la ruta que se
indica. Luego #aga clic< en el botn HT.
:inalmente, grabe y compile su proyecto de ayuda. 1ara
ello dar clic< en el botn VieJ 5elp.
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
198
. continuacin se presentar una entana similar a la
siguiente figura+
1or 'ltimo, eremos como utilizar nuestros arc#ios de
ayuda desde una aplicacin Visual Basic. 1ara tal fin abra un
nueo proyecto y a$ada un botn de comandos al formulario.
0ambie el nombre del botn por 0md.yuda y proceda a ingresar el
siguiente cdigo+
1riate &ub 0md.yuda=0lic<>?
(im .yuda
.yuda 4 &#ell>@0+IUindoJsIUin5elp.e"e A & =
@0+I:undVBILab3)IMi.yuda.5L1A, 3?
!nd &ub
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
199
Aplicaci+$ N .
(espuWs de crear una aplicacin Visual Basic, por lo
general debemos proporcionrsela al usuario final, ya sea en
disquetes, 0(, a traWs de una red local, o bien a traWs de
una ,ntranet o ,nternet. !sto requiere primero empaquetar la
aplicacin y despuWs distribuirla.
0omo e%emplo, amos a generar el programa de instalacin
para la aplicacin creada en el e%ercicio anterior. 1ara ello
es necesario que tenga abierta dic#a aplicacin.
1rimero debemos iniciar el .sistente de empaquetado y
distribucin. 1ara tal fin, del Men' 0omplementos seleccione la
opcin .dministrador de complementos y a$ada la utilidad
1ac<age and (eployment Uizard. .l momento de iniciar el
.sistente se isualizar una entana similar a la siguiente
figura+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
200
!n seguida #aga clic< en el botn !mpaquetar. !sto #ar
que el .sistente le presente arios cuadros de dilogo que le
pedirn informacin referente al proyecto que amos a
empaquetar y le permitir elegir quW opciones quiere incorporar
al programa de instalacin, el tipo de empaquetado, la carpeta
donde se almacenar el paquete de instalacin, quW arc#ios
desea incluir adicionalmente en el paquete, quW grupos y
elementos de grupo del men' ,nicio se debern crear en el
equipo del usuario final durante la instalacin de la
aplicacin, etc. . medida que aanza, si necesita ms
informacin consulte al Qefe de 1rctica.
2na ez concluido el proceso de empaquetado cierre
Microsoft Visual Basic. Luego #aga clic< en el men' ,nicio y
seleccione la opcin !%ecutar. &eguidamente ingrese la ruta de
nuestro programa de instalacin y dar clic< en .ceptar, tal
como se indica en la figura+
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
201
!n esos instantes se dar inicio a la instalacin de
nuestra aplicacin. 0oncluido este proceso, seleccione el men'
,nicio, carpeta 1rogramas y ubique la carpeta que contiene la
aplicacin. :inalmente proceda a e%ecutar su aplicacin.
(i$ %e la# prJctica# %e laoratorio.
6)erte.
Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com
202

También podría gustarte