You are on page 1of 48

MICROSOFT VISUAL FOXPRO

NIVEL I

INTRODUCCIN A LA PROGRAMACIN
INTRODUCCIN

La presente Gua de Laboratorio, se elabor con la finalidad de complementar la parte terica con la parte prctica del curso. Contiene una gran variedad de ejemplos prcticos . Desde ya les deseo la mejor de las suertes en el aprendizaje de icrosoft !isual "o#$ro. Lima, %etiembre del &''&

Microsoft

Visual FoxPro

GUA 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 programacin clsica. 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(La 1, 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 aplicacin ingresar a icrosoft !isual "o#$ro. -n la !entana de Comandos digite la siguiente orden(

odifyCommand +plica'0

+ continuacin se debe presentar el -ditor de programas. -n dic1a ventana proceda a ingresar el cdigo .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 n ay 7 n+ n en 7 n5 -lse n ay 7 n5 n en 7 n+ -nd)f )f nC 6 n ay 41en nCen 7 n ay n ay 7 nC -lse )f nC 6 n en 41en nCen 7 nC -lse nCen 7 n en n en 7 nC -nd)f -nd)f 3 2 ayor 72 8 %tr9n ay: 3 2Central 72 8 %tr9nCen: 3 2 enor 72 8 %tr9n en:

$ara ejecutar su programa dar clic; en el botn -jecutar 9<: de la 5arra de 1erramientas -stndar. $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

dems casos no se aplica ning/n tipo de descuento. -l ejercicio consiste en elaborar una programa .ue permita determinar el importe a pagar por el consumidor. $ara el desarrollo de la presente aplicacin abrir una nueva ventana de edicin e ingresar el siguiente cdigo(
Close +ll Clear Do B1ile .4. )nput 2Consumo %>.2 4o nConsumo )f 4ype 92nConsumo2: 7 2C2 -#it -nd)f -ndDo Do Case Case nConsumo 67 ?' +nd nConsumo D7 @' n)mporte 7 nConsumo E '.F Case nConsumo6 @' n)mporte 7 nConsumo E '.G Ht1erIise n)mporte 7 nConsumo -ndCase 3 2)mporte a pagar %>.2 8 %tr9n)mporte:

A)licaci*% N , -l ejercicio consiste en escribir un programa .ue lea 2 2 enteros y calcule la suma total, la media aritmJtica, el m#imo y el mnimo de los datos. $ara el desarrollo de la presente aplicacin, de manera anloga .ue para los casos anteriores abrir una nueva ventana de edicin e ingresar el siguiente cdigo(
Close +ll Clear )nput 2)ngrese cantidad de n/meros32 4o nC Declare a!ector9nC: "or n) 7 0 4o nC )nput 2C/mero K2 8 %tr9n): 8 2L32 4o a!ector9n): Ce#t n a# 7 a!ectorK0L n in 7 a!ectorK0L n%uma 7 ' "or n) 7 0 4o nC n%uma 7 n%uma 8 a!ectorKn)L )f a!ectorKn)L 6 n a# 41en n a# 7 a!ectorKn)L -nd)f )f a!ectorKn)L D n in 41en n in 7 a!ectorKn)L -nd)f Ce#t n edia 7 n%uma > nC 3 2%uma 72 8 %tr9n%uma: 3 2 edia 72 8 %tr9n edia, 0', &: 3 2 #imo72 8 %tr9n a#: 3 2 nimo72 8 %tr9n in:

A)licaci*% N -

+ continuacin vamos a escribir una funcin .ue reciba como argumento de entrada una cadena de caracteres y la devuelva en forma inversa, por ejemplo si se ingresa la cadena CHM+NHC deber retornar CHN+MHC. $ara el desarrollo de esta aplicacin proceda de manera similar a los casos anteriores e ingresar el cdigo .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 nC 7 Len9+lltrim9cCadena:: Declare c4emporal9nC: "or n) 7 0 4o nC c4emporal9n): 7 %ub%tr9cCadena, n), 0: Ce#t c)nvertida 7 22 "or nO 7 nC 4o 0 %tep P0 c)nvertida 7 c)nvertida 8 c4emporal9nO: Ce#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? 9 artes &Q de +bril de 0FR?: se debe obtener(
+5M)L D L O ! %

0 G 0@ && &F

& F 0* &? ?'

? 0' 0R &Q

Q 00 0G &@

@ 0& 0F &*

* 0? &' &R

R 0Q &0 &G

Creo .ue a estas alturas ,d. ya entendi como funciona esto. $or ello, esta aplicacin se deja como ejercicio para el estudiante.

Microsoft GUA DE LABORATORIO N + O !"ti#os

Visual FoxPro

Luego de completar este laboratorio, el estudiante ser capaz de(


)mplementar soluciones mediante programacin 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 aplicacin .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 aplicacin, en primer lugar debe crear un nuevo formulario. $ara ello digite lo siguiente en la !entana de Comandos( Create "orm + continuacin seleccione del en/ !er, la opcin 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( & eti.uetas & 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 posicin .ue se le desea ubicar. +dicionalmente puede utilizar la barra de 1erramientas DiseSo para obtener una mejor presentacin. + continuacin 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 opcin $ropiedades. For/1
Came Caption a#5utton in5utton "rm+plica'0 ayor valor de un n/mero real .".P"also .".P"also

La "l1
Came Caption LblT )ngrese un real de la forma eee.ddd3

La "l+
Came Caption Lbl ay ayor(

T"xt1
Came 4#tT

)nput as; !alue

FFF.FFF '

T"xt+
Came )nput as; !alue 4#t ay FFF '

$o//a%&1
Came Caption Default Cmd+ceptar UD+ceptar .4.P!erdadero

$o//a%&+
Came Caption CmdLimpiar UDLimpiar

$o//a%&,
Came Cancel Caption Cmd%alir .4.P!erdadero UD%alir

+ continuacin dar doble clic; sobre el control Cmd+ceptar y proceda a ingresar el cdigo .ue se muestra(
O !"to' $/&Ac")tar Proc"&i/i"%to' $lic0

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 n ay 7 n+

-lse n ay 7 n5 -nd)f 41isform.4#t ay.!alue 7 n ay 41isform.Mefres1 De manera anloga ingresar el siguiente cdigo para el control CmdLimpiar(
O !"to' $/&Li/)iar Proc"&i/i"%to' $lic0

41isform.4#tT.!alue 7 ' 41isform.4#t ay.!alue 7 ' 41isform.4#tT.%etfocus 41isform.Mefres1 "inalmente proceder a ingresar el siguiente cdigo para el control Cmd%alir(
O !"to' $/&1alir Proc"&i/i"%to' $lic0

Melease41isform + continuacin guarde su aplicacin 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 aplicacin, proceda a ubicar los siguientes controles en el formulario( & eti.uetas & cajas de te#to ? botones de comando Luego, proceda a establecer las propiedades seg/n se indica a continuacin( For/1
Came Caption a#5utton in5utton .".P"also .".P"also "rm-dad

La "l1
Came Caption Lbl"ecCac "ec1a de nacimiento(

La "l+
Came Caption Lbl-dad %u edad es(

T"xt1
Came -nabled 4#t"ecCac .4.P!erdadero

T"xt+

Came -nabled

4#t-dad .".P"also

$o//a%&1
Came Caption Cmd+ceptar UD+ceptar

$o//a%&+
Came Caption CmdLimpiar UDLimpiar

$o//a%&,
Came Caption Cmd%alir UD%alir

Luego de establecidas las propiedades de los controles, proceda a ingresar el siguiente cdigo(
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

cComDia 7 CdoI9Date9:: cDia 7 %tr9Day9Date9::, &: c es 7 Cmont19Date9:: c+nno 7 %tr9Vear9Date9::, Q: c"ec1a 7 cComDia 8 2 2 8 cDia 8 2 de 2 8 c es 8 2 del 2 8 c+nno 41isform.Caption 7 c"ec1a 41isform.4#t"ecCac.%etfocus 41isform.Mefres1

O !"to' $/&Ac")tar

Proc"&i/i"%to' $lic0

d"ecCac 7 Ctod941isform.4#t"ecCac.!alue: n-dad 7 )nt 99Date9: P d"ecCac: > ?*@: 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"ecCac.!alue 7 22 41isform.4#t-dad.!alue 7 22 41isform.4#t"ecCac.%etfocus 41isform.Mefres1


O !"to' $/&1alir 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 aplicacin 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 aplicacin proceder a ubicar los siguientes controles en el formulario( & eti.uetas & cajas de te#to

0 cronmetro & botones de comandos -n seguida establezca las propiedades seg/n se indica a continuacin( For/1
Came Caption a#5utton in5utton "rmMeloj Meloj despertador digital .".P"also .".P"also

La "l1
Came Caption LblWora Wora

La "l+
Came Caption LblDespertador Despertador

T"xt1
Came "ont5old "ont%ize 4#tWora .4.P!erdadero &Q

T"xt+
Came "ont5old "ont%ize 4#tDespertador .4.P!erdadero &Q

Ti/"r1
Came -nabled )nterval 4imer0 .4.P!erdadero @''

$o//a%&1
Came Caption Default CmdHnHff UDDesactivar .4.P!erdadero

$o//a%&+
Came Cancel Caption Cmd4erminar .4.P!erdadero UD4erminar

,na vez establecidas las propiedades, proceda a ingresar el cdigo .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 D 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 2UD+ctivar2 -lse lHnHff 7 .4. 41isform.CmdHnHff.Caption 7 2UDDesactivar2 -nd)f 41isform.Mefres1
O !"to' $/&T"r/i%ar Proc"&i/i"%to' $lic0

Melease41isform A)licaci*% N %e tiene un cajero automtico el cual permite manipular cierta cantidad de dinero para lo cual dispone de los siguientes billetes( %>. 0'.'', %>. &'.'', %>. @'.'', %>. 0''.'' y %>. &''.''. -laborar una aplicacin .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 condicin:. La aplicacin debe indicar el menor n/mero de billetes a utilizar. -l diseSo de la interfaz debe ser similar a la siguiente figura(

Microsoft GUA DE LABORATORIO N ,

Visual FoxPro

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 estndar adicionales. ,tilizar cajas de dilogo 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 aplicacin .ue permita leer una fraccin y de como resultado la fraccin simplificada. -sto es, .ue 1alle la fraccin irreductible e.uivalente.

$ara el desarrollo de esta aplicacin proceda a crear un nuevo formulario y luego vaya al en/ "ormulario y elija la opcin Crear conjunto de formularios 9no se preocupe, pues no se apreciar nada en especial:. Cuevamente vaya al en/ "ormulario y elija la opcin +gregar nuevo formulario. -l DiseSador de formularios debe presentar una apariencia similar a la figura mostrada(

+ continuacin proceda a ubicar los siguientes controles sobre el primer formulario 9"orm0:( & eti.uetas & cajas de te#to & botones de comando %eguidamente debe establecer las propiedades de los objetos seg/n se indica( For/1
Came Caption a#5utton in5utton "rm)ngreso )ngreso de datos .".P"also .".P"also

La "l1
Came Caption LblCumerador Cumerador3

La "l+
Came LblDenominador

Caption

Denominador3

T"xt1
Came !alue 4#tCumerador '

T"xt+
Came !alue 4#tDenominador '

$o//a%&1
Came Caption Default Cmd%implificar %implificar .4.P!erdadero

$o//a%&+
Came Cancel Caption Cmd%alir .4.P!erdadero %alir

+ continuacin proceda a ingresar el cdigo .ue se muestra(


O !"to' $/&1i/)lificar Proc"&i/i"%to' $lic0

nCumerador 7 41isformset."rm)ngreso.4#tCumerador.!alue nDenominador 7 41isformset."rm)ngreso.4#tDenominador.!alue )fnCumeradorDnDenominador41en nC 7 nCumerador -lse nC 7 nDenominador -nd)f Do B1ile 9nCumerador = nC <7 ': Hr 9nDenominador = nC <7 ':

nC 7 nC P 0 -ndDo nCumerador 7 nCumerador > nC nDenominador 7 nDenominador > nC 41isformset."rm)ngreso.Wide 41isformset."rm%alida.%1oI 41isformset.Mefres1
O !"to' $/&1alir Proc"&i/i"%to' $lic0

Melease41isformset Luego proceda a ubicar los siguientes controles sobre el segundo formulario 9"orm&:( 0 eti.ueta 0 caja de te#to 0 botn de comando %eguidamente debe establecer las propiedades de los objetos seg/n se indica( For/+
Came Caption a#5utton in5utton "rm%alida %alida .".P"also .".P"also

La "l1
Came Caption Lbl"raccion "raccin simplificada(

T"xt1
Came +lignment 4#t"raccion &PCentro

$o//a%&1
Came Caption Cmd!olver !olver

+ continuacin proceda a ingresar el cdigo .ue se muestra(


O !"to' Fr/1ali&a Proc"&i/i"%to' Acti#at"

cCumerador 7 %tr9nCumerador: cDenominador 7 %tr9nDenominador: c"raccion 7 cCumerador 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 cdigo .ue se indica a continuacin(
O !"to' For/s"t1 Proc"&i/i"%to' Loa&

$ublicnCumerador $ublicnDenominador $ublicnC


O !"to' For/s"t1 Proc"&i/i"%to' I%it

41isformset."rm%alida.Wide 41isformset.Mefres1 A)licaci*% N +

-ste ejercicio consiste en elaborar una aplicacin .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 botn %alir o en el botn Cerrar de la barra de ttulo del formulario, se debe confirmar si desea terminar la aplicacin, tal como se observa en la figura siguiente(

-n caso de .ue el usuario elija la opcin %i, la aplicacin debe terminar. Caso contrario, es decir si el usuario elige la opcin Co, se debe proseguir con la aplicacin. $ara el desarrollo de esta aplicacin, proceda a ubicar los siguientes controles en el formulario( Q eti.uetas ? controles numJricos 0 caja de te#to ? botones de comando -n seguida proceda a establecer las propiedades seg/n se indica( For/1
Came Caption "rm"ec1a "ec1a en letras

a#5utton in5utton

.".P"also .".P"also

La "l1
Came +uto%ize Caption LblDia .4.P!erdadero Da(

La "l+
Came +uto%ize Caption Lbl es .4.P!erdadero es(

La "l,
Came +uto%ize Caption Lbl+nno .4.P!erdadero +So(

La "lCame +uto%ize Caption Lbl-nLetras .4.P!erdadero -n letras(

1)i%%"r1
Came %pinnerWig1!alue %pinnerLoI!alue %pnDia ?0 0

1)i%%"r+
Came %pinnerWig1!alue %pinnerLoI!alue %pn es 0& 0

1)i%%"r,
Came %pinnerWig1!alue %pinnerLoI!alue %pn+nno FFFF '

T"xt1
Came +lignment 4#t-nLetras &PCentro

$o//a%&1
Came Caption Default Cmd+ceptar UD+ceptar .4.P!erdadero

$o//a%&+
Came Caption CmdLimpiar UDLimpiar

$o//a%&,
Came Cancel Caption Cmd%alir .4.P!erdadero UD%alir

,na vez establecidas las propiedades proceda a ingresar el cdigo .ue se indica a continuacin(
O !"to' Fr/F"c2a Proc"&i/i"%to' Loa&

%et Date "renc1 %et Century Hn


O !"to' Fr/F"c2a Proc"&i/i"%to' 3u"r4U%loa&

XD-")C- vfpVesCo Q XD-")C- vfpVes *

XD-")C- vfpYuestion ?& )f essage5o#92ZDesea terminar la aplicacin32, A vfpYuestion 8 vfpVesCo, 2$regunta2: 7 vfpVes 41en Melease 41isform -lse CoDefault -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.%pn es.4e#t A 8 c5arra 8 41isform.%pn+nno.4e#t d"ec1a 7 Ctod9c"ec1a: cComDia 7 CdoI9d"ec1a: cDia 7 %tr9Day9d"ec1a:, &: c es 7 Cmont19d"ec1a: c+nno 7 %tr9Vear9d"ec1a:, Q: c"ec1a 7 cComDia 8 2 2 8 cDia 8 2 de 2 8 c es 8 2 de 2 8 c+nno 41isform.4#t-nLetras.!alue 7 c"ec1a 41isform.Mefres1
O !"to' $/&Li/)iar Proc"&i/i"%to' $lic0

41isform.%pnDia.!alue 7 ' 41isform.%pn es.!alue 7 ' 41isform.%pn+nno.!alue 7 ' 41isform.4#t-nLetras.!alue 7 22 41isform.%pnDia.%etfocus

41isform.Mefres1
O !"to' $/&1alir Proc"&i/i"%to' $lic0

41isform.Yuery,nload 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 edicin, el cual tiene propiedades similares a un cuadro de te#to, pero permite escribir te#to en lneas diferentes.

$ara el desarrollo de esta aplicacin, proceda a ubicar los siguientes controles en el formulario( 0 eti.ueta 0 caja de te#to 0 cuadro de edicin 0 botn de comandos -n seguida proceda a establecer las propiedades seg/n se indica( For/1
Came Caption a#5utton in5utton "rm4abla 4abla de multiplicar .".P"also .".P"also

La "l1
Came Caption LblCumero )ngrese un n/mero(

T"xt1
Came +lignment 4#tCumero &PCentro

E&it1
Came %croll5ars -dt4abla &P!ertical

$o//a%&1
Came Caption Default CmdLimpiar UDLimpiar .4.P!erdadero

,na vez diseSada la interfaz, proceda a ingresar el cdigo .ue se indica a continuacin(
O !"to' TxtNu/"ro Proc"&i/i"%to' I%t"racti#"$2a%5"

nC 7 !al941isform.4#tCumero.!alue: c% 7 22 "or n) 7 ' 4o 0& n$ 7 nC E n) c% 7 c% 8 %tr9nC: 8 2 E 2 8 %tr9n): 8 2 7 2 8 %tr9n$: A 8 C1r90?: Ce#t 41isform.-dt4abla.!alue 7 c% 41isform.Mefres1

O !"to' $/&Li/)iar

Proc"&i/i"%to' $lic0

41isform.4#tCumero.!alue 7 22 41isform.-dt4abla.!alue 7 22 41isform.Mefres1 A)licaci*% N -laborar una aplicacin .ue acepte como entrada la reserva de agua de un depsito y los litros .ue se consumen a la semana. La aplicacin 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(

Microsoft GUA DE LABORATORIO N O !"ti#os

Visual FoxPro

Luego de completar este laboratorio, el estudiante ser capaz de(


,sar casillas de verificacin y botones de opcin para alternar entre uno o ms 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 aplicacin .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 aplicacin, proceda a ubicar los siguientes controles en el formulario( @ eti.uetas 0 caja de te#to 0 cuadro combinado 0 lista ? casillas de verificacin 0 grupo de botones de opcin 0 botn de comando -n seguida proceda a establecer las propiedades seg/n se indica( For/1

Came +utoCenter Caption a#5utton in5utton

"rm-ditor .4.P!erdadero -ditor .".P"also .".P"also

La "l1
Came Caption Lbl4e#to 4e#to

La "l+
Came Caption Lbl"uente "uente

La "l,
Came Caption Lbl4amaSo 4amaSo

La "lCame Caption Lbl-stilo -stilo

La "l.
Came Caption LblColor Color

$o/ o1
Came Cbo"uente

List1
Came Lst4amaSo

T"xt1

Came "oreColor

4#t4e#to &@@, ', '

$2"c01
Came Caption "ont5old C1;Cegrita Cegrita .4.P!erdadero

$2"c0+
Came Caption "ont)talic C1;Cursiva Cursiva .4.P!erdadero

$2"c0,
Came Caption "ont,nderline C1;%ubrayado %ubrayado .4.P!erdadero

O)tio%Grou)1
5uttonCount ?

O)tio%1
Came "oreColor HptMojo &@@, ', '

O)tio%+
Came "oreColor Hpt!erde ', &@@, '

O)tio%,
Came Hpt+zul

"oreColor

', ', &@@

$o//a%&1
Came Caption Default Cmd%alir UD%alir .4.P!erdadero

,na vez establecidas las propiedades de la interfaz, proceda a ingresar el cdigo .ue se muestra a continuacin(
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 CeI2: 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 CeI Moman2: "or n) 7 G 4o &' %tep & 41isform.Lst4amaSo.+dd)tem9+lltrim9%tr9n)::: Ce#t
O !"to' Fr/E&itor Proc"&i/i"%to' 3u"r4U%loa&

XD-")C- vfpVesCo Q XD-")C- vfpVes * XD-")C- vfpYuestion ?& )f essage5o#92ZDesea terminar la aplicacin32, A vfpYuestion 8 vfpVesCo, 2$regunta2: 7 vfpVes 41en

Melease 41isform -lse CoDefault -nd)f


O !"to' $ oFu"%t" Proc"&i/i"%to' $lic0

41isform.4#t4e#to."ontCame 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;Cegrita.!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 Proc"&i/i"%to' $lic0

)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

41isform.Mefres1
O !"to' $201u ra4a&o Proc"&i/i"%to' $lic0

)f41isform.C1;%ubrayado.!alue 7 0 41en 41isform.4#t4e#to."ont,nderline 7 .4. -lse 41isform.4#t4e#to."ont,nderline 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' $/&1alir Proc"&i/i"%to' $lic0

41isform.Yuery,nload A)licaci*% N + -ste ejercicio consiste en desarrollar una aplicacin .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 aplicacin proceda a ubicar los siguientes controles en el formulario( ? eti.uetas 0 cuadro de te#to & listas @ botones de comando -n seguida proceda a establecer las propiedades seg/n se indica( For/1
Came Caption a#5utton in5utton "rmCursos Cursos .".P"also .".P"also

La "l1
Came Caption LblCurso )ngrese nuevo curso(

La "l+
Came Caption Lbl%eleccionar %eleccione un curso(

La "l,
Came Caption Lbl$rogramado Curso programado(

T"xt1
Came 4#tCurso

List1
Came Lst%eleccionar

List+
Came Lst$rogramado

$o//a%&1
Came Caption $icture C(U"und!"$U5itmapsU+dd)tem.5mp Cmd+gregar

$o//a%&+
Came Caption $icture C(U"und!"$U5itmapsU+dd+ll.5mp Cmd+gregar4odo

$o//a%&,
Came Caption $icture C(U"und!"$U5itmapsUMemove.5mp CmdYuitar

$o//a%&Came Caption CmdYuitar4odo

$icture

C(U"und!"$U5itmapsUMemove+ll.5mp

$o//a%&.
Came Caption Cmd+nnadir UD+Sadir

-n seguida proceda a ingresar el cdigo .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' Lst1"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):: Ce#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):: Ce#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-")C- vfpVesCo Q XD-")C- vfpVes * XD-")C- vfpYuestion ?& )f essage5o#92ZDesea terminar la aplicacin32, A vfpYuestion 8 vfpVesCo, 2$regunta2: 7 vfpVes 41en Melease 41isform -lse CoDefault -nd)f A)licaci*% N , -l ejercicio consiste en elaborar una aplicacin .ue permita leer n/meros de tipo entero, y a continuacin los visualice ordenados en forma ascendente o descendente. ,tilice el mJtodo de la burbuja para realizar la ordenacin.

$ara el desarrollo de esta aplicacin, proceda a ubicar los siguientes controles en el formulario( ? eti.uetas 0 caja de te#to 0 lista 0 grupo de botones de opcin ? botones de comando -n seguida proceda a establecer las propiedades seg/n se indica( For/1
Combre Caption a#5utton in5utton "rm5urbuja Hrdenacin por burbuja .".P"also .".P"also

La "l1
Came Caption LblCumero )ngrese un nuevo n/mero(

La "l+
Came Caption LblHrden Hrden(

La "l,
Came Caption LblLista Lista de n/meros(

T"xt1
Came !alue 4#tCumero '

List1
Came LstCumero

O)tio%1
Combre Caption Hpt+scendente +scendente

O)tio%+
Combre Caption HptDescendente Descendente

$o//a%&1
Combre Caption Default Cmd+nnadir UD+Sadir 4rue

$o//a%&+
Combre Caption CmdHrdenar UDHrdenar

$o//a%&,
Combre Cancel Caption Cmd%alir .4.P!erdadero UD%alir

$icture

C(U+rc1ivos de programaU icrosoft !isual %tudioUCommonUGrap1icsU)consU+rroIsU $oint'Q.ico

,na vez establecidas las propiedades proceda a ingresar el cdigo .ue se indica a continuacin(
O !"to' Fr/Bur u!a Proc"&i/i"%to' 3u"r4U%loa&

XD-")C- vfpVesCo Q XD-")C- vfpVes * XD-")C- vfpYuestion ?& )f essage5o#92ZDesea terminar la aplicacin32, A vfpYuestion 8 vfpVesCo, 2$regunta2: 7 vfpVes 41en Melease 41isform -lse CoDefault -nd)f
O !"to' $/&A%%a&ir Proc"&i/i"%to' $lic0

41isform.LstCumero.+dd)tem941isform.4#tCumero.!alue: 41isform.4#tCumero.!alue 7 22 41isform.4#tCumero.%et"ocus


O !"to' $/&Or&"%ar Proc"&i/i"%to' $lic0

nC 7 41isform.LstCumero.ListCount Dimensionn+9nC: +s )nteger "orn) 7 0 4onC n+9n): 7 41isform.LstCumero.List9n): Ce#t

)f 41isform.HptionGroup0.Hpt+scendente.!alue 7 0 41en "or n) 7 0 4o nC P 0 "or nO 7 n) 8 0 4o nC )fn+9n): 6n+9nO: 41en n4 7 n+9n): n+9n): 7 n+9nO: n+9nO: 7 n4 -nd)f Ce#t Ce#t -nd)f )f 41isform.HptionGroup0.HptDescendente.!alue 7 0 41en "or n) 7 0 4o nC P 0 "or nO 7 n) 8 0 4o nC )fn+9n): Dn+9nO: 41en n4 7 n+9n): n+9n): 7 n+9nO: n+9nO: 7 n4 -nd)f Ce#t Ce#t -nd)f 41isform.LstCumero.Clear "or n) 7 0 4o nC 41isform.LstCumero.List9n): 7 n+9n): Ce#t

O !"to' $/&1alir

Proc"&i/i"%to' $lic0

41isform.Yuery,nload A)licaci*% N Desarrollar una aplicacin .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 9teora:, el nombre del jefe de prctica 9laboratorio:, as como los 1orarios de teora y de laboratorio, respectivamente. -l diseSo de la interfaz debe ser similar a la figura .ue se muestra(

Microsoft GUA DE LABORATORIO N . O !"ti#os

Visual FoxPro

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+NHC deber retornar CHN+MHC.

$ara el desarrollo de esta aplicacin, proceda a ubicar los siguientes controles en el formulario( & eti.uetas & cajas de te#to ? botones de comando -n seguida proceda a establecer las propiedades seg/n se indica( For/1
Combre Caption a#5utton in5utton "rm$rueba[Cadena Cadena invertida .".P"also .".P"also

La "l1
Combre Caption LblCadena )ngrese una cadena(

La "l+

Combre Caption

Lbl)nvertida Cadena invertida(

T"xt1
Combre -nabled 4#tCadena .4.P!erdadero

T"xt+
Combre -nabled 4#t)nvertida .".P"also

$o//a%&1
Combre Caption Default Cmd+ceptar UD+ceptar .4.P!erdadero

$o//a%&+
Combre Caption CmdLimpiar UDLimpiar

$o//a%&,
Combre Cancel Caption Cmd%alir .4.P!erdadero UD%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 opcin Crear nuevo mJtodo. %e debe presentar una ventana similar a la figura siguiente(

)ngrese los datos .ue se muestran y a continuacin dar clic; en el botn +gregar. Luego, dar doble clic; sobre el formulario y transcriba el siguiente cdigo(
O !"to' Fr/Pru" a8$a&"%a Proc"&i/i"%to' $a&I%#"rti&a

$arameterscCadena nC 7 Len9+lltrim9cCadena:: Dimensionc4emporal9nC: "orn) 7 0 4onC c4emporal9n): 7 %ub%tr9cCadena, n), 0: Ce#t cCadena 7 22 "or nO 7 nC 4o 0 %tep P0 c)nvertida 7 c)nvertida 8 c4emporal9nO: Ce#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 aplicacin proceda a crear un nuevo mJtodo denominado Com+pe. Luego transcriba el siguiente cdigo(
O !"to' Fr/Pru" a8No/A)" Proc"&i/i"%to' No/A)"

$arametersc+peCom nC 7 Len9+lltrim9c+peCom:: DimensioncCom9nC: Dimensionc+pe9nC: "orn) 7 0 4onC )f%ub%tr9c+peCom, n), 0: 7 2,2 41en -#it -nd)f Ce#t c+pe 7 %ub%tr9c+peCom, 0, n)P0: cCom 7 %ub%tr9c+peCom, n) 8 0, nC P n): cCom+pe 7 cCom 8 2 2 8 c+pe MeturncCom+pe A)licaci*% N , $ara calcular el porcentaje de 1umedad de una muestra slida 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. + continuacin se deja enfriar la muestra y se pesa nuevamente 9 "inalmente se realiza el siguiente clculo(

:.

Cuestro trabajo consiste en crear un mJtodo .ue permita realizar el clculo anterior.

$ara el desarrollo de esta aplicacin proceder a cera un nuevo mJtodo denominado Wumedad. Luego ingrese el siguiente cdigo(
O !"to' Fr/Pru" a89u/"&a& Proc"&i/i"%to' 9u/"&a&

$arameters n 0, n & nW 7 0'' E 9n 0 P n &: > n 0 MeturnnW


O !"to' $/&Ac")tar Proc"&i/i"%to' $lic0

n asa0 7 !al941isform.4#t asa0.!alue: n asa& 7 !al941isform.4#t asa&.!alue: nWumedad 7 41isform.Wumedad9n asa0, n asa&: 41isform.4#tWumedad.!alue 7 %tr9nWumedad, 0', Q: 41isform.Mefres1 A)licaci*% N -scriba un mJtodo .ue reciba como parmetro la fec1a de nacimiento del usuario. Debe retornar el signo zodiacal, el da de nacimiento y la cantidad de das vividos 1asta la fec1a actual. ,tilice un formulario de prueba para verificar la funcionalidad del mJtodo creado.

1u5"r"%cia Metorne un /nico valor como una cadena de caracteres, en la cual estJn incluidos los valores .ue se piden. + manera de ejemplo considere lo siguiente( cMpta 7 cNodiaco 8 cDiaCacimiento 8 cDias!ividos 8 c"ec1aWoy MeturncMpta

Fi% &"l Ni#"l I

You might also like