MICROSOFT MICROSOFT VISUAL FOXPRO
NIVEL I
INTRODUCCIÓN INTRODUCCIÓN A LA PROGRAMACIÓN PROGRAMACIÓN
INTRODUCCIÓN
La presente Guía de Laboratorio, se elaboró con la finalidad de complementar la parte teórica con la parte práctica del curso. Contiene una gran variedad de ejemplos prácticos . Desde ya les deseo la mejor de las suertes en el aprendizaje de icrosoft !isual "o#$ro. Lima, %etiembre del &''&
Microsoft
Visual FoxPro
GUÍA DE LABORATORIO Nº 1 O!"ti#os Luego de completar este laboratorio, el estudiante será capaz de(
•
• • • •
)dentificar los elementos del entorno integrado de desarrollo de icrosoft !isual "o#$ro *.'. )mplementar soluciones mediante programación clásica. Declarar y asignar valores tanto a las variables de memoria como a los arreglos. +nalizar como es el flujo de control de un programa. Crear funciones y procedimientos definidos por el usuario.
$o%si&"racio%"s $ara el desarrollo del presente laboratorio d. deberá crear una carpeta $'(Fu%&VFP(La1, para guardar sus trabajos correspondientes a este laboratorio.
A)licaci*% Nº 1 -n este primer ejercicio vamos a escribir un programa ue lea tres n/meros enteros y determine el n/mero mayor, el n/mero central y el n/mero menor. Debemos asumir ue los tres n/meros son siempre distintos. $ara el desarrollo de la presente aplicación ingresar a icrosoft !isual "o#$ro. -n la !entana de Comandos digite la siguiente orden( odifyCommand +plica'0
+ continuación se debe presentar el -ditor de programas. -n dic1a ventana proceda a ingresar el código ue se indica( Close +ll Clear )nput 2)ngrese el valor de +32 4o n+ )nput 2)ngrese el valor de 532 4o n5 )nput 2)ngrese el valor de C32 4o nC )f n+ 6 n5 41en nay 7 n+ nen 7 n5 -lse nay 7 n5 nen 7 n+ -nd)f )f nC 6 nay 41en nCen 7 nay nay 7 nC -lse )f nC 6 nen 41en nCen 7 nC -lse nCen 7 nen nen 7 nC -nd)f -nd)f 3 2ayor 72 8 %tr9nay: 3 2Central 72 8 %tr9nCen: 3 2enor 72 8 %tr9nen:
$ara ejecutar su programa dar clic; en el botón -jecutar 9<: de la 5arra de 1erramientas -stándar. $ara volver a ejecutar su programa digitar la siguiente orden desde la !entana de Comandos( Do +plica'0
A)licaci*% Nº + n restaurante ofrece un descuento del 0'= para consumos entre %>. ?'.'' y %>. @'.''A un descuento del &'= para consumos mayores a %>. @'.'' nuevos solesA para todos los
•
• • • •
)dentificar los elementos del entorno integrado de desarrollo de icrosoft !isual "o#$ro *.'. )mplementar soluciones mediante programación clásica. Declarar y asignar valores tanto a las variables de memoria como a los arreglos. +nalizar como es el flujo de control de un programa. Crear funciones y procedimientos definidos por el usuario.
$o%si&"racio%"s $ara el desarrollo del presente laboratorio d. deberá crear una carpeta $'(Fu%&VFP(La1, para guardar sus trabajos correspondientes a este laboratorio.
A)licaci*% Nº 1 -n este primer ejercicio vamos a escribir un programa ue lea tres n/meros enteros y determine el n/mero mayor, el n/mero central y el n/mero menor. Debemos asumir ue los tres n/meros son siempre distintos. $ara el desarrollo de la presente aplicación ingresar a icrosoft !isual "o#$ro. -n la !entana de Comandos digite la siguiente orden( odifyCommand +plica'0
+ continuación se debe presentar el -ditor de programas. -n dic1a ventana proceda a ingresar el código ue se indica( Close +ll Clear )nput 2)ngrese el valor de +32 4o n+ )nput 2)ngrese el valor de 532 4o n5 )nput 2)ngrese el valor de C32 4o nC )f n+ 6 n5 41en nay 7 n+ nen 7 n5 -lse nay 7 n5 nen 7 n+ -nd)f )f nC 6 nay 41en nCen 7 nay nay 7 nC -lse )f nC 6 nen 41en nCen 7 nC -lse nCen 7 nen nen 7 nC -nd)f -nd)f 3 2ayor 72 8 %tr9nay: 3 2Central 72 8 %tr9nCen: 3 2enor 72 8 %tr9nen:
$ara ejecutar su programa dar clic; en el botón -jecutar 9<: de la 5arra de 1erramientas -stándar. $ara volver a ejecutar su programa digitar la siguiente orden desde la !entana de Comandos( Do +plica'0
A)licaci*% Nº + n restaurante ofrece un descuento del 0'= para consumos entre %>. ?'.'' y %>. @'.''A un descuento del &'= para consumos mayores a %>. @'.'' nuevos solesA para todos los
demás casos no se aplica ning/n tipo de descuento. -l ejercicio consiste en elaborar una programa ue ue permita determinar el importe a pagar por por el consumidor. consumidor. $ara el desarrollo de la presente aplicación abrir una nueva ventana de edición e ingresar el siguiente código( Close +ll Clear Do B1ile .4. )nput 2Consumo %>.2 4o nConsumo )f 4ype 92nConsumo2: 7 22 -#it -nd)f -ndDo Do Case Case nConsumo 67 ?' +nd nConsumo 7 @' n)mporte 7 nConsumo E '.F Case nConsumo6 @' n)mporte 7 nConsumo E '. Ht1erIise n)mporte 7 nConsumo -ndCase 3 2)mporte a pagar %>.2 8 %tr9n)mporte:
A)licaci*% Nº , -l ejercicio ejercicio consiste consiste en en escribir escribir un programa programa ue ue lea 2 2 enteros y calcule calcule la suma total, total, la media aritmJtica, el má#imo y el mínimo de los datos. $ara el desarrollo de la presente aplicación, de manera análoga ue para los casos anteriores abrir una nueva ventana de edición e ingresar el siguiente código( Close +ll Clear )nput 2)ngrese cantidad de n/meros32 4o n Declare a!ector9n: "or n) 7 0 4o n )nput 2/mero K2 8 %tr9n): 8 232 4o a!ector9n): e#t na# 7 a!ectorK0 nin 7 a!ectorK0 n%uma 7 ' "or n) 7 0 4o n n%uma 7 n%uma 8 a!ectorKn) )f a!ectorKn) 6 na# 41en na# 7 a!ectorKn) -nd)f )f a!ectorKn) nin 41en nin 7 a!ectorKn) -nd)f e#t nedia 7 n%uma > n 3 2%uma 72 8 %tr9n%uma: 3 2edia 72 8 %tr9nedia, 0', &: 3 2á#imo72 8 %tr9na#: 3 2ínimo72 8 %tr9nin:
A)licaci*% Nº -
+ continuación vamos a escribir una función ue reciba como argumento de entrada una cadena de caracteres y la devuelva en forma inversa, por ejemplo si se ingresa la cadena CHM+NH deberá retornar HN+MHC. $ara el desarrollo de esta aplicación proceda de manera similar a los casos anteriores e ingresar el código ue se muestra( Close +ll Clear +ccept 2)ngrese una cadena32 4o cCadena 3 2Cadena invertida 72 8 Cad)nv9cCadena: "unction Cad)nv $arameters cCadena n 7 Len9+lltrim9cCadena:: Declare c4emporal9n: "or n) 7 0 4o n c4emporal9n): 7 %ub%tr9cCadena, n), 0: e#t c)nvertida 7 22 "or nO 7 n 4o 0 %tep P0 c)nvertida 7 c)nvertida 8 c4emporal9nO: e#t O Meturn c)nvertida
A)licaci*% Nº . -ste ejercicio consiste en escribir un programa ue imprima el calendario correspondiente a un mes si se conoce una fec1a del mismo. $or ejemplo si se ingresa la siguiente fec1a + &Q 'Q 0FR? 9artes &Q de +bril de 0FR?: se debe obtener( +5M)L D
L
O
!
%
0
&
?
Q
@
*
R
F
0'
00
0&
0?
0Q
0@
0*
0R
0
0F
&'
&0
&&
&?
&Q
&@
&*
&R
&
&F
?'
Creo ue a estas alturas d. ya entendió como funciona esto. $or ello, esta aplicación se deja como ejercicio para el estudiante.
Microsoft
Visual FoxPro
GUÍA DE LABORATORIO Nº + O!"ti#os Luego de completar este laboratorio, el estudiante será capaz de(
•
)mplementar soluciones mediante programación orientada a objetos. anejar las diferentes propiedades y eventos del formulario.
•
+Sadir controles a un formulario.
•
-stablecer las propiedades de los controles.
•
4rabajar con procedimientos de eventos.
•
$o%si&"racio%"s $ara el desarrollo del presente laboratorio d. deberá crear una carpeta $'(Fu%&VFP(La+, para guardar sus trabajos correspondientes a este laboratorio.
A)licaci*% Nº 1 -l ejercicio consiste en elaborar una aplicación ue permita leer un n/mero real de la forma 2eee.ddd2 e imprima el mayor valor entre la parte entera y la parte decimal.
$ara el desarrollo de esta aplicación, en primer lugar debe crear un nuevo formulario. $ara ello digite lo siguiente en la !entana de Comandos( Create "orm + continuación seleccione del en/ !er, la opción 5arra de 1erramientas Controles de "ormularios. %e presentará una ventana similar a la siguiente figura(
-n seguida de la barra de 1erramientas mostrada ubicar los siguientes controles al formulario( & etiuetas & cajas de te#to ? botones de comando $ara ubicar un control en el formulario, simplemente dar clic; en el control deseado y luego dar clic; en el formulario en la posición ue se le desea ubicar. +dicionalmente puede utilizar la barra de 1erramientas DiseSo para obtener una mejor presentación. + continuación proceda a establecer las propiedades de los objetos seg/n se indica, para ello dar clic; derec1o sobre el control y del men/ emergente ue se presenta elegir la opción $ropiedades.
For/1 ame
"rm+plica'0
Caption
ayor valor de un n/mero real
a#5utton
.".P"also
in5utton
.".P"also
La"l1
ame
LblT
Caption
)ngrese un real de la forma eee.ddd3
La"l+
ame
Lblay
Caption
ayor(
ame
4#tT
T"xt1
)nputas;
FFF.FFF
!alue
'
ame
4#tay
)nputas;
FFF
!alue
'
T"xt+
$o//a%&1
ame
Cmd+ceptar
Caption
U+ceptar
Default
.4.P!erdadero
$o//a%&+
ame
CmdLimpiar
Caption
ULimpiar
$o//a%&,
ame
Cmd%alir
Cancel
.4.P!erdadero
Caption
U%alir
+ continuación dar doble clic; sobre el control Cmd+ceptar y proceda a ingresar el código ue se muestra(
O!"to' $/&Ac")tar nT 7 41isform.4#tT.!alue n+ 7 )nt941isform.4#tT.!alue: nT 7 nT P n+ n5 7 0''' E nT )f n+ 6 n5 41en nay 7 n+
Proc"&i/i"%to' $lic0
-lse nay 7 n5 -nd)f 41isform.4#tay.!alue 7 nay 41isform.Mefres1 De manera análoga ingresar el siguiente código para el control CmdLimpiar(
O!"to' $/&Li/)iar
Proc"&i/i"%to' $lic0
41isform.4#tT.!alue 7 ' 41isform.4#tay.!alue 7 ' 41isform.4#tT.%etfocus 41isform.Mefres1 "inalmente proceder a ingresar el siguiente código para el control Cmd%alir(
O!"to' $/&alir
Proc"&i/i"%to' $lic0
Melease41isform + continuación guarde su aplicación como "rm+plica'0, luego proceda a ejecutarla. $ara ello ingrese lo siguiente en la !entana de Comandos( Do "orm "rm+plica'0 Debe funcionar sin problemas. $ruebe ingresando diferentes valores. -n caso ue falle revise y corrija.
A)licaci*% Nº + -n este ejercicio vamos a crear un formulario para calcular la edad de una persona a partir de su fec1a de nacimiento.
$ara el desarrollo de esta aplicación, proceda a ubicar los siguientes controles en el formulario( & etiuetas & cajas de te#to ? botones de comando Luego, proceda a establecer las propiedades seg/n se indica a continuación(
For/1
ame
Caption
"rm-dad
a#5utton
.".P"also
in5utton
.".P"also
La"l1 ame
Lbl"ecac
Caption
"ec1a de nacimiento(
La"l+
ame
Lbl-dad
Caption
%u edad es(
ame
4#t"ecac
-nabled
.4.P!erdadero
T"xt1
T"xt+
ame
4#t-dad
-nabled
.".P"also
$o//a%&1
ame
Cmd+ceptar
Caption
U+ceptar
$o//a%&+
ame
CmdLimpiar
Caption
ULimpiar
$o//a%&,
ame
Cmd%alir
Caption
U%alir
Luego de establecidas las propiedades de los controles, proceda a ingresar el siguiente código(
O!"to' Fr/E&a&
Proc"&i/i"%to' Loa&
%et Date "renc1 %et Century Hn
O!"to' Fr/E&a&
Proc"&i/i"%to' I%it
comDia 7 CdoI9Date9:: cDia 7 %tr9Day9Date9::, &: ces 7 Cmont19Date9:: c+nno 7 %tr9Vear9Date9::, Q: c"ec1a 7 comDia 8 2 2 8 cDia 8 2 de 2 8 ces 8 2 del 2 8 c+nno 41isform.Caption 7 c"ec1a 41isform.4#t"ecac.%etfocus 41isform.Mefres1
O!"to' $/&Ac")tar
Proc"&i/i"%to' $lic0
d"ecac 7 Ctod941isform.4#t"ecac.!alue: n-dad 7 )nt 99Date9: P d"ecac: > ?*@: 41isform.4#t-dad.!alue 7 %tr9n-dad: 8 2 aSos2 41isform.Mefres1
O!"to' $/&Li/)iar
Proc"&i/i"%to' $lic0
41isform.4#t"ecac.!alue 7 22 41isform.4#t-dad.!alue 7 22 41isform.4#t"ecac.%etfocus 41isform.Mefres1
O!"to' $/&alir
Proc"&i/i"%to' $lic0
Melease41isform
A)licaci*% Nº , -ste ejercicio consiste en elaborar un formulario ue simule el funcionamiento de un reloj despertador digital. La aplicación debe permitir al usuario ingresar la 1ora a la ue desea ser avisado. -l diseSo de la interfaz debe ser similar a la figura siguiente(
$ara el desarrollo de esta aplicación proceder a ubicar los siguientes controles en el formulario( & etiuetas & cajas de te#to
0 cronómetro & botones de comandos -n seguida establezca las propiedades seg/n se indica a continuación(
For/1
ame
"rmMeloj
Caption
Meloj despertador digital
a#5utton
.".P"also
in5utton
.".P"also
La"l1
ame
LblWora
Caption
Wora
La"l+
ame
LblDespertador
Caption
Despertador
ame
4#tWora
"ont5old
.4.P!erdadero
"ont%ize
&Q
ame
4#tDespertador
"ont5old
.4.P!erdadero
"ont%ize
&Q
T"xt1
T"xt+
Ti/"r1
ame
4imer0
-nabled
.4.P!erdadero
)nterval
@''
$o//a%&1
ame
CmdHnHff
Caption
UDesactivar
Default
.4.P!erdadero
$o//a%&+
ame
Cmd4erminar
Cancel
.4.P!erdadero
Caption
U4erminar
na vez establecidas las propiedades, proceda a ingresar el código ue se muestra(
O!"to' Fr/R"lo!
Proc"&i/i"%to' Loa&
$ubliclHnHff
O!"to' Fr/R"lo!
Proc"&i/i"%to' I%it
lHnHff 7 .". 41isform.4#tDespertador.!alue 7 2''(''(''2 41isform.Mefres1
O!"to' Ti/"r1
Proc"&i/i"%to' Ti/"r
)f 41isform.4#tWora.!alue <7 4ime9: 41en 41isform.4#tWora.!alue 7 4ime9: -nd)f )f 941isform.4#tDespertador.!alue 4ime9:: +nd lHnHff 41en E %onido ac/stico 3C1r9R: -nd)f 41isform.Mefres1
O!"to' $/&O%Off
Proc"&i/i"%to' $lic0
)flHnHff41en lHnHff 7 .". 41isform.CmdHnHff.Caption 7 2U+ctivar2 -lse lHnHff 7 .4. 41isform.CmdHnHff.Caption 7 2UDesactivar2 -nd)f 41isform.Mefres1
O!"to' $/&T"r/i%ar
Proc"&i/i"%to' $lic0
Melease41isform
A)licaci*% Nº %e tiene un cajero automático el cual permite manipular cierta cantidad de dinero para lo cual dispone de los siguientes billetes( %>. 0'.'', %>. &'.'', %>. @'.'', %>. 0''.'' y %>. &''.''. -laborar una aplicación ue permita la lectura de la cantidad a retirar la cual debe ser m/ltiplo de 0' 9caso contrario debe solicitar al usuario ue ingrese un valor correcto, no debe aceptar la lectura de valores ue no cumplan esta condición:. La aplicación debe indicar el menor n/mero de billetes a utilizar. -l diseSo de la interfaz debe ser similar a la siguiente figura(
Visual FoxPro
Microsoft GUÍA DE LABORATORIO Nº ,
O!"ti#os Luego de completar este laboratorio, el estudiante será capaz de( • •
anejar las diferentes propiedades y mJtodos del conjunto de formularios.
•
)dentificar y utilizar los controles estándar adicionales.
•
tilizar cajas de diálogo predefinidas para visualizar mensajes.
$o%si&"racio%"s $ara el desarrollo del presente laboratorio d. deberá crear una carpeta $'(Fu%&VFP(La,, para guardar sus trabajos correspondientes a este laboratorio.
A)licaci*% Nº 1 -l ejercicio consiste en crear una aplicación ue permita leer una fracción y de como resultado la fracción simplificada. -sto es, ue 1alle la fracción irreductible euivalente.
$ara el desarrollo de esta aplicación proceda a crear un nuevo formulario y luego vaya al en/ "ormulario y elija la opción Crear conjunto de formularios 9no se preocupe, pues no se apreciará nada en especial:. uevamente vaya al en/ "ormulario y elija la opción +gregar nuevo formulario. -l DiseSador de formularios debe presentar una apariencia similar a la figura mostrada(
+ continuación proceda a ubicar los siguientes controles sobre el primer formulario 9"orm0:( & etiuetas & cajas de te#to & botones de comando %eguidamente debe establecer las propiedades de los objetos seg/n se indica(
For/1
ame
"rm)ngreso
Caption
)ngreso de datos
a#5utton
.".P"also
in5utton
.".P"also
La"l1
ame
Lblumerador
Caption
umerador3
La"l+
ame
LblDenominador
Caption
Denominador3
ame
4#tumerador
!alue
'
ame
4#tDenominador
!alue
'
T"xt1
T"xt+
$o//a%&1
ame
Cmd%implificar
Caption
%implificar
Default
.4.P!erdadero
$o//a%&+
ame
Cmd%alir
Cancel
.4.P!erdadero
Caption
%alir
+ continuación proceda a ingresar el código ue se muestra(
O!"to' $/&i/)lificar
Proc"&i/i"%to' $lic0
numerador 7 41isformset."rm)ngreso.4#tumerador.!alue nDenominador 7 41isformset."rm)ngreso.4#tDenominador.!alue )fnumeradornDenominador41en nC 7 numerador -lse nC 7 nDenominador -nd)f Do B1ile 9numerador = nC <7 ': Hr 9nDenominador = nC <7 ':
nC 7 nC P 0 -ndDo numerador 7 numerador > nC nDenominador 7 nDenominador > nC 41isformset."rm)ngreso.Wide 41isformset."rm%alida.%1oI 41isformset.Mefres1
O!"to' $/&alir
Proc"&i/i"%to' $lic0
Melease41isformset Luego proceda a ubicar los siguientes controles sobre el segundo formulario 9"orm&:( 0 etiueta 0 caja de te#to 0 botón de comando %eguidamente debe establecer las propiedades de los objetos seg/n se indica(
For/+ ame
"rm%alida
Caption
%alida
a#5utton
.".P"also
in5utton
.".P"also
La"l1
ame
Lbl"raccion
Caption
"racción simplificada(
ame
4#t"raccion
+lignment
&PCentro
T"xt1
$o//a%&1
ame
Cmd!olver
Caption
!olver
+ continuación proceda a ingresar el código ue se muestra(
O!"to' Fr/ali&a
Proc"&i/i"%to' Acti#at"
cumerador 7 %tr9numerador: cDenominador 7 %tr9nDenominador: c"raccion 7 cumerador 8 2 > 2 8 cDenominador 41isformset."rm%alida.4#t"raccion.!alue 7 c"raccion 41isformset.Mefres1
O!"to' $/&Vol#"r
Proc"&i/i"%to' $lic0
41isformset."rm%alida.Wide 41isformset."rm)ngreso.%1oI 41isformset.Mefres1 "inalmente proceda a ingresar el código ue se indica a continuación(
O!"to' For/s"t1
Proc"&i/i"%to' Loa&
$ublicnumerador $ublicnDenominador $ublicnC
O!"to' For/s"t1 41isformset."rm%alida.Wide 41isformset.Mefres1
A)licaci*% Nº +
Proc"&i/i"%to' I%it
-ste ejercicio consiste en elaborar una aplicación ue acepte fec1as como tres n/meros 9dd, mm, aaaa: y las visualice del modo usual. + manera de ejemplo considere lo siguiente(
Cuando el usuario 1aga clic; en el botón %alir o en el botón Cerrar de la barra de título del formulario, se debe confirmar si desea terminar la aplicación, tal como se observa en la figura siguiente(
-n caso de ue el usuario elija la opción %i, la aplicación debe terminar. Caso contrario, es decir si el usuario elige la opción o, se debe proseguir con la aplicación. $ara el desarrollo de esta aplicación, proceda a ubicar los siguientes controles en el formulario( Q etiuetas ? controles numJricos 0 caja de te#to ? botones de comando -n seguida proceda a establecer las propiedades seg/n se indica(
For/1
ame
"rm"ec1a
Caption
"ec1a en letras
a#5utton
.".P"also
in5utton
.".P"also
La"l1
ame
LblDia
+uto%ize
.4.P!erdadero
Caption
Día(
La"l+
ame
Lbles
+uto%ize
.4.P!erdadero
Caption
es(
La"l,
ame
Lbl+nno
+uto%ize
.4.P!erdadero
Caption
+So(
La"l
ame
Lbl-nLetras
+uto%ize
.4.P!erdadero
Caption
-n letras(
)i%%"r1
ame
%pnDia
%pinnerWig1!alue
?0
%pinnerLoI!alue
0
)i%%"r+
ame
%pnes
%pinnerWig1!alue
0&
%pinnerLoI!alue
0
)i%%"r,
ame
%pn+nno
%pinnerWig1!alue
FFFF
%pinnerLoI!alue
'
T"xt1
ame
4#t-nLetras
+lignment
&PCentro
$o//a%&1
ame
Cmd+ceptar
Caption
U+ceptar
Default
.4.P!erdadero
$o//a%&+
ame
CmdLimpiar
Caption
ULimpiar
$o//a%&,
ame
Cmd%alir
Cancel
.4.P!erdadero
Caption
U%alir
na vez establecidas las propiedades proceda a ingresar el código ue se indica a continuación(
O!"to' Fr/F"c2a
Proc"&i/i"%to' Loa&
%et Date "renc1 %et Century Hn
O!"to' Fr/F"c2a XD-")- vfpVeso Q XD-")- vfpVes *
Proc"&i/i"%to' 3u"r4U%loa&
XD-")- vfpYuestion ?& )fessage5o#92ZDesea terminar la aplicación32, A vfpYuestion 8 vfpVeso, 2$regunta2: 7 vfpVes 41en Melease 41isform -lse oDefault -nd)f
O!"to' $/&Ac")tar
Proc"&i/i"%to' $lic0
c5arra 7 2>2 c"ec1a 7 41isform.%pnDia.4e#t 8 c5arra 8 41isform.%pnes.4e#t A 8 c5arra 8 41isform.%pn+nno.4e#t d"ec1a 7 Ctod9c"ec1a: comDia 7 CdoI9d"ec1a: cDia 7 %tr9Day9d"ec1a:, &: ces 7 Cmont19d"ec1a: c+nno 7 %tr9Vear9d"ec1a:, Q: c"ec1a 7 comDia 8 2 2 8 cDia 8 2 de 2 8 ces 8 2 de 2 8 c+nno 41isform.4#t-nLetras.!alue 7 c"ec1a 41isform.Mefres1
O!"to' $/&Li/)iar 41isform.%pnDia.!alue 7 ' 41isform.%pnes.!alue 7 ' 41isform.%pn+nno.!alue 7 ' 41isform.4#t-nLetras.!alue 7 22 41isform.%pnDia.%etfocus
Proc"&i/i"%to' $lic0
41isform.Mefres1
O!"to' $/&alir
Proc"&i/i"%to' $lic0
41isform.Yuerynload
A)licaci*% Nº , -ste ejercicio consiste en elaborar un formulario ue permita leer un n/mero entero y visualice su tabla se multiplicar. $ara construir la tabla de multiplicar vamos a utilizar un control cuadro de edición, el cual tiene propiedades similares a un cuadro de te#to, pero permite escribir te#to en líneas diferentes.
$ara el desarrollo de esta aplicación, proceda a ubicar los siguientes controles en el formulario( 0 etiueta 0 caja de te#to 0 cuadro de edición 0 botón de comandos -n seguida proceda a establecer las propiedades seg/n se indica(
For/1
ame
"rm4abla
Caption
4abla de multiplicar
a#5utton
.".P"also
in5utton
.".P"also
La"l1
ame
Lblumero
Caption
)ngrese un n/mero(
ame
4#tumero
+lignment
&PCentro
ame
-dt4abla
%croll5ars
&P!ertical
T"xt1
E&it1
$o//a%&1
ame
CmdLimpiar
Caption
ULimpiar
Default
.4.P!erdadero
na vez diseSada la interfaz, proceda a ingresar el código ue se indica a continuación(
O!"to' TxtNu/"ro
Proc"&i/i"%to' I%t"racti#"$2a%5"
n 7 !al941isform.4#tumero.!alue: c% 7 22 "or n) 7 ' 4o 0& n$ 7 n E n) c% 7 c% 8 %tr9n: 8 2 E 2 8 %tr9n): 8 2 7 2 8 %tr9n$: A 8 C1r90?: e#t 41isform.-dt4abla.!alue 7 c% 41isform.Mefres1
O!"to' $/&Li/)iar
Proc"&i/i"%to' $lic0
41isform.4#tumero.!alue 7 22 41isform.-dt4abla.!alue 7 22 41isform.Mefres1
A)licaci*% Nº -laborar una aplicación ue acepte como entrada la reserva de agua de un depósito y los litros ue se consumen a la semana. La aplicación debe dar como resultado las cantidades de agua ue uedan al final de cada semana. -l proceso finalizará cuando no uede agua suficiente para una semana. tilizar otro formulario para mostrar la salida. -l diseSo de la interfaz debe ser similar a la figura mostrada(
Visual FoxPro
Microsoft GUÍA DE LABORATORIO Nº O!"ti#os
Luego de completar este laboratorio, el estudiante será capaz de( •
•
sar casillas de verificación y botones de opción para alternar entre uno o más valores. -stablecer las principales propiedades y mJtodos de las listas desplegables y cuadros combinados.
$o%si&"racio%"s $ara el desarrollo del presente laboratorio d. deberá crear una carpeta $'(Fu%&VFP(La-, para guardar sus trabajos correspondientes a este laboratorio.
A)licaci*% Nº 1 -ste ejercicio consiste en elaborar una aplicación ue permita cambiar el aspecto de una caja de te#to. -l usuario debe elegir el tipo de fuente a utilizar, el estilo, el color y el tamaSo. -l diseSo de la interfaz debe ser similar a(
$ara el desarrollo de esta aplicación, proceda a ubicar los siguientes controles en el formulario( @ etiuetas 0 caja de te#to 0 cuadro combinado 0 lista ? casillas de verificación 0 grupo de botones de opción 0 botón de comando -n seguida proceda a establecer las propiedades seg/n se indica(
For/1
ame
"rm-ditor
+utoCenter
.4.P!erdadero
Caption
-ditor
a#5utton
.".P"also
in5utton
.".P"also
La"l1
ame
Lbl4e#to
Caption
4e#to
La"l+
ame
Lbl"uente
Caption
"uente
La"l,
ame
Lbl4amaSo
Caption
4amaSo
La"l-
ame
Lbl-stilo
Caption
-stilo
La"l.
ame
LblColor
Caption
Color
$o/o1
ame
Cbo"uente
ame
Lst4amaSo
List1
T"xt1
ame
4#t4e#to
"oreColor
&@@, ', '
$2"c01
ame
C1;egrita
Caption
egrita
"ont5old
.4.P!erdadero
$2"c0+
ame
C1;Cursiva
Caption
Cursiva
"ont)talic
.4.P!erdadero
$2"c0,
ame
C1;%ubrayado
Caption
%ubrayado
"ontnderline
.4.P!erdadero
O)tio%Grou)1
5uttonCount
?
O)tio%1
ame
HptMojo
"oreColor
&@@, ', '
O)tio%+
ame
Hpt!erde
"oreColor
', &@@, '
O)tio%,
ame
Hpt+zul
"oreColor
', ', &@@
$o//a%&1
ame
Cmd%alir
Caption
U%alir
Default
.4.P!erdadero
na vez establecidas las propiedades de la interfaz, proceda a ingresar el código ue se muestra a continuación(
O!"to' Fr/E&itor
Proc"&i/i"%to' I%it
41isform.Cbo"uente.+dd)tem92+rial2: 41isform.Cbo"uente.+dd)tem92+rial 5lac;2: 41isform.Cbo"uente.+dd)tem92Courier eI2: 41isform.Cbo"uente.+dd)tem92Garamond2: 41isform.Cbo"uente.+dd)tem92)mpact2: 41isform.Cbo"uente.+dd)tem92% %ans %erif2: 41isform.Cbo"uente.+dd)tem924ec1nical2: 41isform.Cbo"uente.+dd)tem924imes eI Moman2: "or n) 7 4o &' %tep & 41isform.Lst4amaSo.+dd)tem9+lltrim9%tr9n)::: e#t
O!"to' Fr/E&itor
Proc"&i/i"%to' 3u"r4U%loa&
XD-")- vfpVeso Q XD-")- vfpVes * XD-")- vfpYuestion ?& )fessage5o#92ZDesea terminar la aplicación32, A vfpYuestion 8 vfpVeso, 2$regunta2: 7 vfpVes 41en
Melease 41isform -lse oDefault -nd)f
O!"to' $oFu"%t"
Proc"&i/i"%to' $lic0
41isform.4#t4e#to."ontame 7 41isform.Cbo"uente.!alue 41isform.Mefres1
O!"to' LstTa/a6o
Proc"&i/i"%to' $lic0
n4amaSo 7 !al941isform.Lst4amaSo.!alue: 41isform.4#t4e#to."ont%ize 7 n4amaSo 41isform.Mefres1
O!"to' $20N"5rita
Proc"&i/i"%to' $lic0
)f41isform.C1;egrita.!alue 7 0 41en 41isform.4#t4e#to."ont5old 7 .4. -lse 41isform.4#t4e#to."ont5old 7 .". -nd)f 41isform.Mefres1
O!"to' $20$ursi#a )f41isform.C1;Cursiva.!alue 7 0 41en 41isform.4#t4e#to."ont)talic 7 .4. -lse 41isform.4#t4e#to."ont)talic 7 .". -nd)f
Proc"&i/i"%to' $lic0
41isform.Mefres1
O!"to' $20ura4a&o
Proc"&i/i"%to' $lic0
)f41isform.C1;%ubrayado.!alue 7 0 41en 41isform.4#t4e#to."ontnderline 7 .4. -lse 41isform.4#t4e#to."ontnderline 7 .". -nd)f 41isform.Mefres1
O!"to' O)tRo!o
Proc"&i/i"%to' $lic0
41isform.4#t4e#to."oreColor 7 MG59&@@, ', ': 41isform.Mefres1
O!"to' O)tV"r&"
Proc"&i/i"%to' $lic0
41isform.4#t4e#to."oreColor 7 MG59', &@@, ': 41isform.Mefres1
O!"to' O)tA7ul
Proc"&i/i"%to' $lic0
41isform.4#t4e#to."oreColor 7 MG59', ', &@@: 41isform.Mefres1
O!"to' $/&alir
Proc"&i/i"%to' $lic0
41isform.Yuerynload
A)licaci*% Nº + -ste ejercicio consiste en desarrollar una aplicación ue permita ingresar el nombre de un curso, el cual pasa a formar parte de una lista de espera antes de ser programado para su dictado. Los cursos deben ser seleccionados de la lista de espera y trasladados a la lista de cursos programados y viceversa. -l diseSo de la interfaz debe ser similar a la figura mostrada(
$ara el desarrollo de esta aplicación proceda a ubicar los siguientes controles en el formulario( ? etiuetas 0 cuadro de te#to & listas @ botones de comando -n seguida proceda a establecer las propiedades seg/n se indica(
For/1
ame
"rmCursos
Caption
Cursos
a#5utton
.".P"also
in5utton
.".P"also
La"l1
ame
LblCurso
Caption
)ngrese nuevo curso(
La"l+ ame
Lbl%eleccionar
Caption
%eleccione un curso(
La"l,
ame
Lbl$rogramado
Caption
Curso programado(
ame
4#tCurso
ame
Lst%eleccionar
ame
Lst$rogramado
T"xt1
List1
List+
$o//a%&1
ame
Caption $icture
Cmd+gregar
C(U"und!"$U5itmapsU+dd)tem.5mp
$o//a%&+ ame
Cmd+gregar4odo
Caption $icture
C(U"und!"$U5itmapsU+dd+ll.5mp
$o//a%&,
ame
Caption $icture
CmdYuitar
C(U"und!"$U5itmapsUMemove.5mp
$o//a%&
ame
Caption
CmdYuitar4odo
$icture
C(U"und!"$U5itmapsUMemove+ll.5mp
$o//a%&.
ame
Cmd+nnadir
Caption
U+Sadir
-n seguida proceda a ingresar el código ue se indica(
O!"to' $/&A%%a&ir
Proc"&i/i"%to' $lic0
41isform.Lst%eleccionar.+dditem941isform.4#tCurso.!alue: 41isform.4#tCurso.!alue 7 22 41isform.4#tCurso.%et"ocus
O!"to' Lst"l"ccio%ar
Proc"&i/i"%to' $lic0
)f41isform.Lst%eleccionar.List)nde# <7 ' 41en 41isform.Cmd+gregar.-nabled 7 .4. 41isform.Cmd+gregar4odo.-nabled 7 .4. -nd)f 41isform.Mefres1
O!"to' LstPro5ra/a&o
Proc"&i/i"%to' $lic0
)f41isform.Lst$rogramado.List)nde# <7 ' 41en 41isform.CmdYuitar.-nabled 7 .4. 41isform.CmdYuitar4odo.-nabled 7 .4. -nd)f 41isform.Mefres1
O!"to' $/&A5r"5ar
Proc"&i/i"%to' $lic0
cCurso 7 41isform.Lst%eleccionar.!alue nCurso 7 41isform.Lst%eleccionar.List)nde#
)f41isform.Lst%eleccionar.ListCount6 ' 41en 41isform.Lst$rogramado.+dd)tem9cCurso: 41isform.Lst%eleccionar.Memove)tem9nCurso: 41isform.Lst%eleccionar.List)nde# 7 ' 41isform.Cmd+gregar.-nabled 7 .". 41isform.Cmd+gregar4odo.-nabled 7 .". -nd)f 41isform.Mefres1
O!"to' $/&3uitar
Proc"&i/i"%to' $lic0
cCurso 7 41isform.Lst$rogramado.!alue nCurso 7 41isform.Lst$rogramado.List)nde# )f41isform.Lst$rogramado.ListCount6 ' 41en 41isform.Lst%eleccionar.+dd)tem9cCurso: 41isform.Lst$rogramado.Memove)tem9nCurso: 41isform.Lst$rogramado.List)nde# 7 ' 41isform.CmdYuitar.-nabled 7 .". 41isform.CmdYuitar4odo.-nabled 7 .". -nd)f 41isform.Mefres1
O!"to' $/&A5r"5arTo&o
Proc"&i/i"%to' $lic0
"or n) 7 0 4o 41isform.Lst%eleccionar.ListCount 41isform.Lst$rogramado.+dd)temA 941isform.Lst%eleccionar.List9n):: e#t 41isform.Lst%eleccionar.Clear
41isform.Cmd+gregar.-nabled 7 .". 41isform.Cmd+gregar4odo.-nabled 7 .". 41isform.Mefres1
O!"to' $/&3uitarTo&o
Proc"&i/i"%to' $lic0
"or n) 7 0 4o 41isform.Lst$rogramado.ListCount 41isform.Lst%eleccionar.+dd)temA 941isform.Lst$rogramado.List9n):: e#t 41isform.Lst$rogramado.Clear 41isform.CmdYuitar.-nabled 7 .". 41isform.CmdYuitar4odo.-nabled 7 .". 41isform.Mefres1
O!"to' Fr/$ursos
Proc"&i/i"%to' 3u"r4U%loa&
XD-")- vfpVeso Q XD-")- vfpVes * XD-")- vfpYuestion ?& )fessage5o#92ZDesea terminar la aplicación32, A vfpYuestion 8 vfpVeso, 2$regunta2: 7 vfpVes 41en Melease 41isform -lse oDefault -nd)f
A)licaci*% Nº , -l ejercicio consiste en elaborar una aplicación ue permita leer n/meros de tipo entero, y a continuación los visualice ordenados en forma ascendente o descendente. tilice el mJtodo de la burbuja para realizar la ordenación.
$ara el desarrollo de esta aplicación, proceda a ubicar los siguientes controles en el formulario( ? etiuetas 0 caja de te#to 0 lista 0 grupo de botones de opción ? botones de comando -n seguida proceda a establecer las propiedades seg/n se indica(
For/1
ombre
"rm5urbuja
Caption
Hrdenación por burbuja
a#5utton
.".P"also
in5utton
.".P"also
La"l1
ame
Lblumero
Caption
)ngrese un nuevo n/mero(
La"l+
ame
LblHrden
Caption
Hrden(
La"l,
ame
LblLista
Caption
Lista de n/meros(
ame
4#tumero
!alue
'
ame
Lstumero
T"xt1
List1
O)tio%1 ombre
Hpt+scendente
Caption
+scendente
O)tio%+
ombre
HptDescendente
Caption
Descendente
$o//a%&1
ombre
Cmd+nnadir
Caption
U+Sadir
Default
4rue
$o//a%&+
ombre
CmdHrdenar
Caption
UHrdenar
$o//a%&,
ombre
Cmd%alir
Cancel
.4.P!erdadero
Caption
U%alir
$icture
C(U+rc1ivos de programaUicrosoft !isual %tudioUCommonUGrap1icsU)consU+rroIsU $oint'Q.ico
na vez establecidas las propiedades proceda a ingresar el código ue se indica a continuación(
O!"to' Fr/Buru!a
Proc"&i/i"%to' 3u"r4U%loa&
XD-")- vfpVeso Q XD-")- vfpVes * XD-")- vfpYuestion ?& )fessage5o#92ZDesea terminar la aplicación32, A vfpYuestion 8 vfpVeso, 2$regunta2: 7 vfpVes 41en Melease 41isform -lse oDefault -nd)f
O!"to' $/&A%%a&ir
Proc"&i/i"%to' $lic0
41isform.Lstumero.+dd)tem941isform.4#tumero.!alue: 41isform.4#tumero.!alue 7 22 41isform.4#tumero.%et"ocus
O!"to' $/&Or&"%ar n 7 41isform.Lstumero.ListCount Dimensionn+9n: +s )nteger "orn) 7 0 4on n+9n): 7 41isform.Lstumero.List9n): e#t
Proc"&i/i"%to' $lic0
)f 41isform.HptionGroup0.Hpt+scendente.!alue 7 0 41en "or n) 7 0 4o n P 0 "or nO 7 n) 8 0 4o n )fn+9n): 6n+9nO: 41en n4 7 n+9n): n+9n): 7 n+9nO: n+9nO: 7 n4 -nd)f e#t e#t -nd)f )f 41isform.HptionGroup0.HptDescendente.!alue 7 0 41en "or n) 7 0 4o n P 0 "or nO 7 n) 8 0 4o n )fn+9n): n+9nO: 41en n4 7 n+9n): n+9n): 7 n+9nO: n+9nO: 7 n4 -nd)f e#t e#t -nd)f 41isform.Lstumero.Clear "or n) 7 0 4o n 41isform.Lstumero.List9n): 7 n+9n): e#t
O!"to' $/&alir
Proc"&i/i"%to' $lic0
41isform.Yuerynload
A)licaci*% Nº Desarrollar una aplicación ue 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 9teoría:, el nombre del jefe de práctica 9laboratorio:, así como los 1orarios de teoría y de laboratorio, respectivamente. -l diseSo de la interfaz debe ser similar a la figura ue se muestra(
Microsoft
Visual FoxPro
GUÍA DE LABORATORIO Nº . O!"ti#os Luego de completar este laboratorio, el estudiante será capaz de(
•
Crear mJtodos definidos por el usuario. $asar correctamente los argumentos a un mJtodo.
•
-jecutar mJtodos desde un formulario.
•
)mplementar mJtodos ue devuelvan m/ltiples valores.
•
$o%si&"racio%"s $ara el desarrollo del presente laboratorio d. deberá crear una carpeta $'(Fu%&VFP(La., para guardar sus trabajos correspondientes a este laboratorio.
A)licaci*% Nº 1 -ste primer ejercicio consiste en escribir un mJtodo ue reciba como argumento una cadena de caracteres y la devuelva en forma inversa. $or ejemplo si se ingresa la cadena CHM+NH deberá retornar HN+MHC.
$ara el desarrollo de esta aplicación, proceda a ubicar los siguientes controles en el formulario( & etiuetas & cajas de te#to ? botones de comando -n seguida proceda a establecer las propiedades seg/n se indica(
For/1 ombre
"rm$rueba[Cadena
Caption
Cadena invertida
a#5utton
.".P"also
in5utton
.".P"also
La"l1
ombre
LblCadena
Caption
)ngrese una cadena(
La"l+
ombre
Lbl)nvertida
Caption
Cadena invertida(
ombre
4#tCadena
-nabled
.4.P!erdadero
ombre
4#t)nvertida
-nabled
.".P"also
T"xt1
T"xt+
$o//a%&1
ombre
Cmd+ceptar
Caption
U+ceptar
Default
.4.P!erdadero
$o//a%&+
ombre
CmdLimpiar
Caption
ULimpiar
$o//a%&,
ombre
Cmd%alir
Cancel
.4.P!erdadero
Caption
U%alir
na vez establecidas las propiedades de la interfaz, proceda a crear un nuevo mJtodo, denominado Cad)nvertida. $ara ello vaya al en/ "ormulario y elija la opción Crear nuevo mJtodo. %e debe presentar una ventana similar a la figura siguiente(
)ngrese los datos ue se muestran y a continuación dar clic; en el botón +gregar. Luego, dar doble clic; sobre el formulario y transcriba el siguiente código(
O!"to' Fr/Pru"a8$a&"%a
Proc"&i/i"%to' $a&I%#"rti&a
$arameterscCadena n 7 Len9+lltrim9cCadena:: Dimensionc4emporal9n: "orn) 7 0 4on c4emporal9n): 7 %ub%tr9cCadena, n), 0: e#t cCadena 7 22 "or nO 7 n 4o 0 %tep P0 c)nvertida 7 c)nvertida 8 c4emporal9nO: e#t Meturnc)nvertida
O!"to' $/&Ac")tar
Proc"&i/i"%to' $lic0
cCadena 7 41isform.4#tCadena.!alue 41isform.4#t)nvertida.!alue 7 41isform.Cad)nvertida9cCadena: 41isform.Mefres1
A)licaci*% Nº +
-ste ejercicio consiste en crear un mJtodo ue reciba como argumento los apellidos y nombres de un cliente 9en ese orden: y retorne los nombres y apellidos del mismo.
$ara el desarrollo de esta aplicación proceda a crear un nuevo mJtodo denominado om+pe. Luego transcriba el siguiente código(
O!"to' Fr/Pru"a8No/A)"
Proc"&i/i"%to' No/A)"
$arametersc+peom n 7 Len9+lltrim9c+peom:: Dimensioncom9n: Dimensionc+pe9n: "orn) 7 0 4on )f%ub%tr9c+peom, n), 0: 7 2,2 41en -#it -nd)f e#t c+pe 7 %ub%tr9c+peom, 0, n)P0: com 7 %ub%tr9c+peom, n) 8 0, n P n): com+pe 7 com 8 2 2 8 c+pe Meturncom+pe
A)licaci*% Nº , $ara calcular el porcentaje de 1umedad de una muestra sólida primero se pesa la muestra 9
:, luego se le lleva a la estufa de 0&' a 0@' \C por un tiempo de & 1oras
apro#imadamente. + continuación se deja enfriar la muestra y se pesa nuevamente 9 "inalmente se realiza el siguiente cálculo(
:.
uestro trabajo consiste en crear un mJtodo ue permita realizar el cálculo anterior.
$ara el desarrollo de esta aplicación proceder a cera un nuevo mJtodo denominado Wumedad. Luego ingrese el siguiente código(
O!"to' Fr/Pru"a89u/"&a&
Proc"&i/i"%to' 9u/"&a&
$arameters n0, n& nW 7 0'' E 9n0 P n&: > n0 MeturnnW
O!"to' $/&Ac")tar
Proc"&i/i"%to' $lic0
nasa0 7 !al941isform.4#tasa0.!alue: nasa& 7 !al941isform.4#tasa&.!alue: nWumedad 7 41isform.Wumedad9nasa0, nasa&: 41isform.4#tWumedad.!alue 7 %tr9nWumedad, 0', Q: 41isform.Mefres1
A)licaci*% Nº -scriba un mJtodo ue reciba como parámetro la fec1a de nacimiento del usuario. Debe retornar el signo zodiacal, el día de nacimiento y la cantidad de días vividos 1asta la fec1a actual. tilice un formulario de prueba para verificar la funcionalidad del mJtodo creado.