Sie sind auf Seite 1von 43

CENTRO DE BACHILLERATO TECNOLGICO industrial y de servicios No.

130 MICROSOFT VISUAL FOXPRO

APLICAR LOS PRINCIPIOS DE PROGRAMACIN PARA LA SOLUCIN DE PROBLEMAS

GUA DE PRCTICAS PERIODO No. 3

Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez

Pg. 1

Microsoft
GUA DE LABORATORIO N 1 Objetivos

Visual FoxPro

Luego de completar este laboratorio, el estudiante ser capaz de: Implementar objetos. Manejar las diferentes propiedades y eventos del formulario. Aadir controles a un formulario. Establecer las propiedades de los controles. Trabajar con procedimientos de eventos. Consideraciones Para el desarrollo del presente laboratorio Ud. deber crear una carpeta C:\Unidad3_nl\ para guardar sus trabajos correspondientes a este laboratorio. Prctica N 1 El ejercicio consiste en elaborar una Prctica que permita leer un nmero real de la forma eee.ddd e imprima el mayor valor entre la parte entera y la parte decimal. soluciones mediante programacin orientada a

Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez

Pg. 2

Para el desarrollo de esta Prctica, en primer lugar debe crear un nuevo formulario. Para ello digite lo siguiente en la Ventana de Comandos: Create Form A continuacin seleccione del Men Ver, la opcin Barra de herramientas Controles de Formularios. Se presentar una ventana similar a la siguiente figura:

En seguida de la barra de herramientas mostrada ubicar los siguientes controles al formulario: 2 etiquetas 2 cajas de texto 3 botones de comando Para ubicar un control en el formulario, simplemente dar click en el control deseado y luego dar click en el formulario Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez Pg. 3

en la posicin que se le desea ubicar. Adicionalmente puede utilizar la barra de herramientas Diseo para obtener una mejor presentacin. A continuacin proceda a establecer las propiedades de los objetos segn se indica, para ello dar click derecho sobre el control y del men emergente que se presenta elegir la opcin Propiedades. Form1 Name Caption MaxButton MinButton Label1 Name Caption Label2 Name Caption Text1 Name InputMask Value Text2 Name InputMask Value Command1 Name Caption Default Command2 Name CmdLimpiar Pg. 4 Abel Olivas Martnez Aportacin de: Carlos Castillo Peralta CmdAceptar \<Aceptar .T.-Verdadero TxtMay 999 0 TxtX 999.999 0 LblMay Mayor: LblX Ingrese un real de la forma eee.ddd? FrmAplica01 Mayor valor de un nmero real .F.-Falso .F.-Falso

Caption Command3 Name Cancel Caption

\<Limpiar

CmdSalir .T.-Verdadero \<Salir

A continuacin dar doble click sobre el control CmdAceptar y proceda a ingresar el cdigo que se muestra: Objeto: CmdAceptar nX = Thisform.TxtX.Value nA = Int(Thisform.TxtX.Value) nX = nX - nA nB = 1000 * nX If nA > nB Then nMay = nA Else nMay = nB EndIf Thisform.TxtMay.Value = nMay Thisform.Refresh De manera anloga ingresar el siguiente cdigo para el control CmdLimpiar: Objeto: CmdLimpiar Thisform.TxtX.Value = 0 Thisform.TxtMay.Value = 0 Thisform.TxtX.Setfocus Thisform.Refresh Procedimiento: Click Procedimiento: Click

Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez

Pg. 5

Finalmente proceder a ingresar el siguiente cdigo para el control CmdSalir: Objeto: CmdSalir Release Thisform A continuacin guarde su Prctica como FrmAplica01, luego proceda a ejecutarla. Para ello ingrese lo siguiente en la Ventana de Comandos: Do Form FrmAplica01 Debe funcionar sin problemas. Pruebe ingresando diferentes valores. En caso que falle revise y corrija. Prctica N 2 En calcular este la ejercicio edad de una vamos a crear a un formulario de su para de persona partir fecha Procedimiento: Click

nacimiento.

Para el desarrollo de esta Prctica, proceda a ubicar los siguientes controles en el formulario: 2 etiquetas 2 cajas de texto Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez Pg. 6

3 botones de comando Luego, Form1 Name Caption MaxButton MinButton Label1 Name Caption Label2 Name Caption Text1 Name Enabled Text2 Name Enabled Command1 Name Caption Command2 Name Caption CmdLimpiar \<Limpiar CmdAceptar \<Aceptar TxtEdad .F.-Falso TxtFecNac .T.-Verdadero LblEdad Su edad es: LblFecNac Fecha de nacimiento: FrmEdad .F.-Falso .F.-Falso proceda a establecer las propiedades segn se

indica a continuacin:

Command3 Name CmdSalir Caption \<Salir Luego de establecidas las propiedades de los controles, proceda a ingresar el siguiente cdigo: Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez Pg. 7

Objeto: FrmEdad Set Date French Set Century On Objeto: FrmEdad cNomDia = Cdow(Date()) cDia = Str(Day(Date()), 2) cMes = Cmonth(Date()) cAnno = Str(Year(Date()), 4)

Procedimiento: Load

Procedimiento: Init

cFecha = cNomDia + + cDia + de + cMes + del + cAnno Thisform.Caption = cFecha Thisform.TxtFecNac.Setfocus Thisform.Refresh Objeto: CmdAceptar Procedimiento: Click

dFecNac = Ctod(Thisform.TxtFecNac.Value) nEdad = Int ((Date() - dFecNac) / 365) Thisform.TxtEdad.Value = Str(nEdad) + aos Thisform.Refresh Objeto: CmdLimpiar Thisform.TxtFecNac.Value = Thisform.TxtEdad.Value = Thisform.TxtFecNac.Setfocus Thisform.Refresh Objeto: CmdSalir Release Thisform Prctica N 3 Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez Pg. 8 Procedimiento: Click Procedimiento: Click

Se tiene un cajero automtico el cual permite manipular cierta cantidad de dinero para lo cual dispone de los siguientes billetes: $10.00, $20.00, $50.00, $100.00 y $200.00. Elaborar una Prctica que permita la lectura de la cantidad a retirar la cual debe ser mltiplo de 10 (caso contrario debe solicitar al usuario que ingrese un valor correcto, no debe aceptar la lectura de valores que no cumplan esta condicin). La Prctica debe indicar el menor nmero de billetes a utilizar. El diseo de la interfaz debe siguiente figura: ser similar a la

Microsoft
GUA DE LABORATORIO N 2

Visual FoxPro
Pg. 9

Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez

Objetivos Luego de completar este laboratorio, el estudiante ser capaz de: Manejar las diferentes propiedades y mtodos del conjunto de formularios. Identificar y utilizar los controles estndar adicionales. Utilizar mensajes. Consideraciones Para el desarrollo del presente laboratorio Ud. deber crear una carpeta C:\Unidad3_nl, para guardar sus trabajos correspondientes a este laboratorio. cajas de dilogo predefinidas para visualizar

Prctica N 4 El ejercicio consiste en crear una Prctica que permita leer una fraccin y de como resultado la fraccin simplificada. Esto es, que halle la fraccin irreductible equivalente. Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez Pg. 10

Para el desarrollo de esta Prctica proceda a crear un nuevo formulario y luego vaya al Men Formulario y elija la opcin Crear conjunto de formularios (no se preocupe, pues no se apreciar y nada elija en la especial). opcin Nuevamente nuevo vaya al Men El Formulario Agregar formulario.

Diseador de formularios debe presentar una apariencia similar a la figura mostrada:

A continuacin proceda a ubicar los siguientes controles sobre el primer formulario (Form1): 2 etiquetas Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez Pg. 11

2 cajas de texto 2 botones de comando Seguidamente Form1 Name Caption MaxButton MinButton Label1 Name Caption Label2 Name Caption Text1 Name Value Text2 Name Value TxtDenominador 0 TxtNumerador 0 LblDenominador Denominador? LblNumerador Numerador? FrmIngreso Ingreso de datos .F.-Falso .F.-Falso debe establecer las propiedades de los

objetos segn se indica:

Command1 Name Caption Default Command2 Name Cancel Caption CmdSalir .T.-Verdadero Salir Pg. 12 CmdSimplificar Simplificar .T.-Verdadero

Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez

continuacin

proceda

ingresar

el

cdigo

que

se

muestra: Objeto: CmdSimplificar Procedimiento: Click

nNumerador = Thisformset.FrmIngreso.TxtNumerador.Value nDenominador = Thisformset.FrmIngreso.TxtDenominador.Value If nNumerador < nDenominador Then nC = nNumerador Else nC = nDenominador EndIf Do While (nNumerador % nC != 0) Or (nDenominador % nC != 0) nC = nC - 1 EndDo nNumerador = nNumerador / nC nDenominador = nDenominador / nC Thisformset.FrmIngreso.Hide Thisformset.FrmSalida.Show Thisformset.Refresh

Objeto: CmdSalir Release Thisformset

Procedimiento: Click

Luego proceda a ubicar los siguientes controles sobre el segundo formulario (Form2): 1 etiqueta 1 caja de texto 1 botn de comando Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez Pg. 13

Seguidamente

debe

establecer

las

propiedades

de

los

objetos segn se indica: Form2 Name Caption MaxButton MinButton Label1 Name Caption Text1 Name Alignment Command1 Name Caption A continuacin CmdVolver Volver proceda a ingresar el cdigo que se TxtFraccion 2-Centro LblFraccion Fraccin simplificada: FrmSalida Salida .F.-Falso .F.-Falso

muestra: Objeto: FrmSalida cNumerador = Str(nNumerador) cDenominador = Str(nDenominador) cFraccion = cNumerador + / + cDenominador Thisformset.FrmSalida.TxtFraccion.Value = cFraccion Thisformset.Refresh Objeto: CmdVolver Thisformset.FrmSalida.Hide Thisformset.FrmIngreso.Show Thisformset.Refresh Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez Pg. 14 Procedimiento: Click Procedimiento: Activate

Finalmente proceda a ingresar el cdigo que se indica a continuacin: Objeto: Formset1 Public nNumerador Public nDenominador Public nC Objeto: Formset1 Thisformset.FrmSalida.Hide Thisformset.Refresh Procedimiento: Init Procedimiento: Load

Prctica N 5 Este ejercicio consiste en elaborar una Prctica que acepte fechas como tres nmeros (dd, mm, aaaa) y las visualice del modo usual. A manera de ejemplo considere lo siguiente:

Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez

Pg. 15

Cuando el usuario haga click en el botn Salir o en el botn Cerrar de la barra de ttulo del formulario, se debe confirmar si desea terminar la Prctica, tal como se observa en la figura siguiente:

En caso de que el usuario elija la opcin Si, la Prctica debe terminar. Caso contrario, es decir si el usuario elige la opcin No, se debe proseguir con la Prctica. Para el desarrollo de esta Prctica, proceda a ubicar los siguientes controles en el formulario: 4 etiquetas 3 controles numricos 1 caja de texto 3 botones de comando Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez Pg. 16

En seguida proceda a establecer las propiedades segn se indica: Form1 Name Caption MaxButton MinButton Label1 Name AutoSize Caption Label2 Name AutoSize Caption Label3 Name AutoSize Caption Label4 Name AutoSize Caption Spinner1 Name SpinnerHighValue SpinnerLowValue Spinner2 Name SpinnerHighValue SpinnerLowValue Spinner3 Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez Pg. 17 SpnMes 12 1 SpnDia 31 1 LblEnLetras .T.-Verdadero En letras: LblAnno .T.-Verdadero Ao: LblMes .T.-Verdadero Mes: LblDia .T.-Verdadero Da: FrmFecha Fecha en letras .F.-Falso .F.-Falso

Name SpinnerHighValue SpinnerLowValue Text1 Name Alignment Command1 Name Caption Default Command2 Name Caption Command3 Name Cancel Caption

SpnAnno 9999 0

TxtEnLetras 2-Centro CmdAceptar \<Aceptar .T.-Verdadero

CmdLimpiar \<Limpiar

CmdSalir .T.-Verdadero \<Salir

Una vez establecidas las propiedades proceda a ingresar el cdigo que se indica a continuacin: Objeto: FrmFecha Set Date French Set Century On Objeto: FrmFecha #DEFINE vfpYesNo #DEFINE vfpYes 4 6 Procedimiento: QueryUnload Procedimiento: Load

#DEFINE vfpQuestion 32 If MessageBox(Desea terminar la Prctica?, ; vfpQuestion + vfpYesNo, Pregunta) = vfpYes Then Release Thisform Else Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez Pg. 18

NoDefault EndIf Objeto: CmdAceptar cBarra = / cFecha = Thisform.SpnDia.Text + cBarra + Thisform.SpnMes.Text ; + cBarra + Thisform.SpnAnno.Text dFecha = Ctod(cFecha) cNomDia = Cdow(dFecha) cDia = Str(Day(dFecha), 2) cMes = Cmonth(dFecha) cAnno = Str(Year(dFecha), 4) cFecha = cNomDia + + cDia + de + cMes + de + cAnno Thisform.TxtEnLetras.Value = cFecha Thisform.Refresh Objeto: CmdLimpiar Thisform.SpnDia.Value = 0 Thisform.SpnMes.Value = 0 Thisform.SpnAnno.Value = 0 Thisform.TxtEnLetras.Value = Thisform.SpnDia.Setfocus Thisform.Refresh Objeto: CmdSalir Thisform.QueryUnload Procedimiento: Click Procedimiento: Click Procedimiento: Click

Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez

Pg. 19

Prctica N 6 Este permita utilizar ejercicio leer un un consiste en elaborar y un formulario su tabla que se nmero entero de cuadro visualice edicin, de el

multiplicar. Para construir la tabla de multiplicar vamos a control similares cuadro a un cual pero tiene permite propiedades texto,

escribir texto en lneas diferentes.

Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez

Pg. 20

Para el desarrollo de esta Prctica, proceda a ubicar los siguientes controles en el formulario: 1 etiqueta 1 caja de texto 1 cuadro de edicin 1 botn de comandos En seguida proceda a establecer las propiedades segn se indica: Form1 Name Caption MaxButton MinButton Label1 Name Caption Text1 Name Alignment Edit1 Name EdtTabla Pg. 21 Abel Olivas Martnez Aportacin de: Carlos Castillo Peralta TxtNumero 2-Centro FrmTabla Tabla de multiplicar .F.-Falso .F.-Falso LblNumero Ingrese un nmero:

ScrollBars Command1 Name Caption Default

2-Vertical CmdLimpiar \<Limpiar .T.-Verdadero

Una vez diseada la interfaz, proceda a ingresar el cdigo que se indica a continuacin: Objeto: TxtNumero Procedimiento: InteractiveChange nN = Val(Thisform.TxtNumero.Value) cS = For nI = 0 To 12 nP = nN * nI cS = cS + Str(nN) + * + Str(nI) + = + Str(nP) ; + Chr(13) Next Thisform.EdtTabla.Value = cS Thisform.Refresh

Objeto: CmdLimpiar Thisform.TxtNumero.Value = Thisform.EdtTabla.Value = Thisform.Refresh Prctica N 7

Procedimiento: Click

Elaborar una Prctica que acepte como entrada la reserva de agua de un depsito y los litros que se consumen a la semana. La Prctica debe dar como resultado las cantidades de agua que quedan al final de cada semana. El proceso finalizar cuando no quede agua suficiente para una semana. Utilizar otro Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez Pg. 22

formulario para mostrar la salida. El diseo de la interfaz debe ser similar a la figura mostrada:

Microsoft
GUA DE LABORATORIO N 3 Objetivos

Visual FoxPro

Luego de completar este laboratorio, el estudiante ser capaz de: Usar casillas las de verificacin y botones y de opcin de para las

alternar entre uno o ms valores. Establecer principales propiedades mtodos listas desplegables y cuadros combinados. Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez

Pg. 23

Consideraciones Para el desarrollo del presente laboratorio Ud. deber crear una carpeta C:\Unidad3_nl, para guardar sus trabajos correspondientes a este laboratorio. Prctica N 8 Este ejercicio consiste en elaborar una Prctica que permita cambiar el aspecto de una caja de texto. El usuario debe elegir el tipo de fuente a utilizar, el estilo, el color y el tamao. El diseo de la interfaz debe ser similar a:

Para el desarrollo de esta Prctica, proceda a ubicar los siguientes controles en el formulario: 5 etiquetas 1 caja de texto 1 cuadro combinado 1 lista 3 casillas de verificacin 1 grupo de botones de opcin 1 botn de comando

Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez

Pg. 24

En seguida proceda a establecer las propiedades segn se indica: Form1 Name AutoCenter Caption MaxButton MinButton Label1 Name Caption Label2 Name Caption Label3 Name Caption Label4 Name Caption Label5 Name Caption Combo1 Name List1 Name Text1 Name ForeColor TxtTexto 255, 0, 0 Pg. 25 LstTamao CboFuente LblColor Color LblTamao Tamao LblEstilo Estilo LblFuente Fuente LblTexto Texto FrmEditor .T.-Verdadero Editor .F.-Falso .F.-Falso

Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez

Check1 Name Caption FontBold Check2 Name Caption FontItalic Check3 Name Caption FontUnderline ChkSubrayado Subrayado .T.-Verdadero ChkCursiva Cursiva .T.-Verdadero ChkNegrita Negrita .T.-Verdadero

OptionGroup1 ButtonCount Option1 Name ForeColor Option2 Name ForeColor Option3 Name ForeColor Command1 Name Caption Default Una vez CmdSalir \<Salir .T.-Verdadero establecidas las propiedades de la interfaz, OptAzul 0, 0, 255 OptVerde 0, 255, 0 OptRojo 255, 0, 0 3

proceda a ingresar el cdigo que se muestra a continuacin: Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez Pg. 26

Objeto: FrmEditor

Procedimiento: Init

Thisform.CboFuente.AddItem(Arial) Thisform.CboFuente.AddItem(Arial Black) Thisform.CboFuente.AddItem(Courier New) Thisform.CboFuente.AddItem(Garamond) Thisform.CboFuente.AddItem(Impact) Thisform.CboFuente.AddItem(MS Sans Serif) Thisform.CboFuente.AddItem(Technical) Thisform.CboFuente.AddItem(Times New Roman) For nI = 8 To 20 Step 2 Thisform.LstTamao.AddItem(Alltrim(Str(nI))) Next Objeto: FrmEditor #DEFINE vfpYesNo #DEFINE vfpYes 4 6 Procedimiento: QueryUnload

#DEFINE vfpQuestion 32 If MessageBox(Desea terminar la Prctica?, ; vfpQuestion + vfpYesNo, Pregunta) = vfpYes Then Release Thisform Else NoDefault EndIf Objeto: CboFuente Procedimiento: Click

Thisform.TxtTexto.FontName = Thisform.CboFuente.Value Thisform.Refresh Objeto: LstTamao Procedimiento: Click

nTamao = Val(Thisform.LstTamao.Value) Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez Pg. 27

Thisform.TxtTexto.FontSize = nTamao Thisform.Refresh Objeto: ChkNegrita Procedimiento: Click

If Thisform.ChkNegrita.Value = 1 Then Thisform.TxtTexto.FontBold = .T. Else Thisform.TxtTexto.FontBold = .F. EndIf Thisform.Refresh Objeto: ChkCursiva Procedimiento: Click

If Thisform.ChkCursiva.Value = 1 Then Thisform.TxtTexto.FontItalic = .T. Else Thisform.TxtTexto.FontItalic = .F. EndIf Thisform.Refresh Objeto: ChkSubrayado Procedimiento: Click

If Thisform.ChkSubrayado.Value = 1 Then Thisform.TxtTexto.FontUnderline = .T. Else Thisform.TxtTexto.FontUnderline = .F. EndIf Thisform.Refresh Objeto: OptRojo Procedimiento: Click

Thisform.TxtTexto.ForeColor = RGB(255, 0, 0) Thisform.Refresh Objeto: OptVerde Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez Procedimiento: Click Pg. 28

Thisform.TxtTexto.ForeColor = RGB(0, 255, 0) Thisform.Refresh Objeto: OptAzul Procedimiento: Click

Thisform.TxtTexto.ForeColor = RGB(0, 0, 255) Thisform.Refresh Objeto: CmdSalir Thisform.QueryUnload Prctica N 9 Este ejercicio consiste en desarrollar una Prctica que 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. El diseo de la interfaz debe ser similar a la figura mostrada: Procedimiento: Click

Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez

Pg. 29

Para el desarrollo de esta Prctica proceda a ubicar los siguientes controles en el formulario: 3 etiquetas 1 cuadro de texto 2 listas 5 botones de comando En seguida proceda a establecer las propiedades segn se indica: Form1 Name Caption MaxButton MinButton Label1 Name Caption Label2 Name Caption Label3 Name Caption Text1 Name List1 Name List2 Name LstProgramado Pg. 30 LstSeleccionar TxtCurso LblProgramado Curso programado: LblSeleccionar Seleccione un curso: LblCurso Ingrese nuevo curso: FrmCursos Cursos .F.-Falso .F.-Falso

Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez

Command1 Name Caption Picture CmdAgregar C:\Unidad3_nl\Bitmaps\AddItem.Bm p Command2 Name Caption Picture Command3 Name Caption Picture Command4 Name Caption Picture CmdQuitarTodo C:\Unidad3_nl\Bitmaps\RemoveAll. Bmp Command5 Name Caption CmdAnnadir \<Aadir CmdQuitar C:\Unidad3_nl\Bitmaps\Remove.Bmp CmdAgregarTodo C:\Unidad3_nl\Bitmaps\AddAll.Bmp

En seguida proceda a ingresar el cdigo que se indica: Objeto: CmdAnnadir Procedimiento: Click

Thisform.LstSeleccionar.Additem(Thisform.TxtCurso.Value) Thisform.TxtCurso.Value = Thisform.TxtCurso.SetFocus Objeto: LstSeleccionar Procedimiento: Click

If Thisform.LstSeleccionar.ListIndex != 0 Then Thisform.CmdAgregar.Enabled = .T. Thisform.CmdAgregarTodo.Enabled = .T. Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez Pg. 31

EndIf Thisform.Refresh Objeto: LstProgramado Procedimiento: Click

If Thisform.LstProgramado.ListIndex != 0 Then Thisform.CmdQuitar.Enabled = .T. Thisform.CmdQuitarTodo.Enabled = .T. EndIf Thisform.Refresh Objeto: CmdAgregar Procedimiento: Click

cCurso = Thisform.LstSeleccionar.Value nCurso = Thisform.LstSeleccionar.ListIndex If Thisform.LstSeleccionar.ListCount > 0 Then Thisform.LstProgramado.AddItem(cCurso) Thisform.LstSeleccionar.RemoveItem(nCurso) Thisform.LstSeleccionar.ListIndex = 0 Thisform.CmdAgregar.Enabled = .F. Thisform.CmdAgregarTodo.Enabled = .F. EndIf Thisform.Refresh Objeto: CmdQuitar Procedimiento: Click

cCurso = Thisform.LstProgramado.Value nCurso = Thisform.LstProgramado.ListIndex If Thisform.LstProgramado.ListCount > 0 Then Thisform.LstSeleccionar.AddItem(cCurso) Thisform.LstProgramado.RemoveItem(nCurso) Thisform.LstProgramado.ListIndex = 0 Thisform.CmdQuitar.Enabled = .F. Thisform.CmdQuitarTodo.Enabled = .F. EndIf Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez Pg. 32

Thisform.Refresh Objeto: CmdAgregarTodo Procedimiento: Click

For nI = 1 To Thisform.LstSeleccionar.ListCount Thisform.LstProgramado.AddItem; (Thisform.LstSeleccionar.List(nI)) Next Thisform.LstSeleccionar.Clear Thisform.CmdAgregar.Enabled = .F. Thisform.CmdAgregarTodo.Enabled = .F. Thisform.Refresh Objeto: CmdQuitarTodo Procedimiento: Click

For nI = 1 To Thisform.LstProgramado.ListCount Thisform.LstSeleccionar.AddItem; (Thisform.LstProgramado.List(nI)) Next Thisform.LstProgramado.Clear Thisform.CmdQuitar.Enabled = .F. Thisform.CmdQuitarTodo.Enabled = .F. Thisform.Refresh Objeto: FrmCursos #DEFINE vfpYesNo #DEFINE vfpYes 4 6 Procedimiento: QueryUnload

#DEFINE vfpQuestion 32 If MessageBox(Desea terminar la Prctica?, ; vfpQuestion + vfpYesNo, Pregunta) = vfpYes Then Release Thisform Else NoDefault Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez Pg. 33

EndIf Prctica N 10 El ejercicio consiste en elaborar una Prctica que permita leer n nmeros de tipo entero, y a continuacin los visualice ordenados en forma ascendente o descendente. Utilice el mtodo de la burbuja para realizar la ordenacin.

Para el desarrollo de esta Prctica, proceda a ubicar los siguientes controles en el formulario: 3 etiquetas 1 caja de texto 1 lista 1 grupo de botones de opcin 3 botones de comando En seguida proceda a establecer las propiedades segn se indica: Form1 Nombre Caption MaxButton MinButton FrmBurbuja Ordenacin por burbuja .F.-Falso .F.-Falso Pg. 34

Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez

Label1 Name Caption Label2 Name Caption Label3 Name Caption Text1 Name Value List1 Name Option1 Nombre Caption Option2 Nombre Caption OptDescendente Descendente OptAscendente Ascendente LstNumero TxtNumero 0 LblLista Lista de nmeros: LblOrden Orden: LblNumero Ingrese un nuevo nmero:

Command1 Nombre Caption Default CmdAnnadir \<Aadir True Pg. 35

Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez

Command2 Nombre Caption Command3 Nombre Cancel Caption Picture CmdSalir .T.-Verdadero \<Salir C:\Archivos de programa\Microsoft Visual Studio\Common\Graphics\Icons\Arrows\ Point04.ico Una vez establecidas las propiedades proceda a ingresar el cdigo que se indica a continuacin: Objeto: FrmBurbuja #DEFINE vfpYesNo #DEFINE vfpYes 4 6 Procedimiento: QueryUnload CmdOrdenar \<Ordenar

#DEFINE vfpQuestion 32 If MessageBox(Desea terminar la Prctica?, ; vfpQuestion + vfpYesNo, Pregunta) = vfpYes Then Release Thisform Else NoDefault EndIf Objeto: CmdAnnadir Procedimiento: Click

Thisform.LstNumero.AddItem(Thisform.TxtNumero.Value) Thisform.TxtNumero.Value = Thisform.TxtNumero.SetFocus Objeto: CmdOrdenar Procedimiento: Click

nN = Thisform.LstNumero.ListCount Dimension nA(nN) As Integer Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez Pg. 36

For nI = 1 To nN nA(nI) = Thisform.LstNumero.List(nI) Next If Thisform.OptionGroup1.OptAscendente.Value = 1 Then For nI = 1 To nN - 1 For nJ = nI + 1 To nN If nA(nI) > nA(nJ) Then nT = nA(nI) nA(nI) = nA(nJ) nA(nJ) = nT EndIf Next Next EndIf If Thisform.OptionGroup1.OptDescendente.Value = 1 Then For nI = 1 To nN - 1 For nJ = nI + 1 To nN If nA(nI) < nA(nJ) Then nT = nA(nI) nA(nI) = nA(nJ) nA(nJ) = nT EndIf Next Next EndIf Thisform.LstNumero.Clear For nI = 1 To nN Thisform.LstNumero.List(nI) = nA(nI) Next Objeto: CmdSalir Thisform.QueryUnload Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez Pg. 37 Procedimiento: Click

Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez

Pg. 38

Microsoft
GUA DE LABORATORIO N 4 Objetivos

Visual FoxPro

Luego de completar este laboratorio, el estudiante ser capaz de: Crear mtodos definidos por el usuario. Pasar correctamente los argumentos a un mtodo. Ejecutar mtodos desde un formulario. Implementar mtodos que devuelvan mltiples valores. Consideraciones Para el desarrollo del presente laboratorio Ud. deber crear una carpeta C:\Unidad3_nl, para guardar sus trabajos correspondientes a este laboratorio. Prctica N 11 Este primer ejercicio consiste en escribir un mtodo que reciba como argumento una cadena de caracteres y la devuelva en forma inversa. Por ejemplo si se ingresa la cadena CORAZON deber retornar NOZAROC.

Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez

Pg. 39

Para el desarrollo de esta Prctica, proceda a ubicar los siguientes controles en el formulario: 2 etiquetas 2 cajas de texto 3 botones de comando En seguida proceda a establecer las propiedades segn se indica: Form1 Nombre Caption MaxButton MinButton Label1 Nombre Caption Label2 Nombre Caption Text1 Nombre Enabled Text2 Nombre Enabled Command1 Nombre Caption Default CmdAceptar \<Aceptar .T.-Verdadero Pg. 40 TxtInvertida .F.-Falso TxtCadena .T.-Verdadero LblInvertida Cadena invertida: LblCadena Ingrese una cadena: FrmPrueba_Cadena Cadena invertida .F.-Falso .F.-Falso

Command2 Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez

Nombre Caption Command3 Nombre Cancel Caption Una vez

CmdLimpiar \<Limpiar

CmdSalir .T.-Verdadero \<Salir establecidas las propiedades de la interfaz,

proceda a crear un nuevo mtodo, denominado CadInvertida. Para ello vaya al Men Formulario y elija la opcin Crear nuevo mtodo. Se debe presentar una ventana similar a la figura siguiente:

Ingrese los datos que se muestran y a continuacin dar click en el botn Agregar. Luego, dar doble click sobre el formulario y transcriba el siguiente cdigo: Objeto: FrmPrueba_Cadena Parameters cCadena nN = Len(Alltrim(cCadena)) Dimension cTemporal(nN) For nI = 1 To nN cTemporal(nI) = SubStr(cCadena, nI, 1) Next Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez Pg. 41 Procedimiento: CadInvertida

cCadena = For nJ = nN To 1 Step -1 cInvertida = cInvertida + cTemporal(nJ) Next Return cInvertida Objeto: CmdAceptar Procedimiento: Click

cCadena = Thisform.TxtCadena.Value Thisform.TxtInvertida.Value = Thisform.CadInvertida(cCadena) Thisform.Refresh

Prctica N 12 Escriba un mtodo que reciba como parmetro la fecha de nacimiento del usuario. Debe retornar el signo zodiacal, el da de nacimiento y la cantidad de das vividos hasta la fecha actual. Utilice un formulario de prueba para verificar la funcionalidad del mtodo creado. Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez Pg. 42

Sugerencia Retorne un nico valor como una cadena de caracteres, en la cual estn incluidos los valores que se piden. A manera de ejemplo considere lo siguiente: cRpta = cZodiaco + cDiaNacimiento + cDiasVividos + cFechaHoy Return cRpta

Aportacin de: Carlos Castillo Peralta Abel Olivas Martnez

Pg. 43

Das könnte Ihnen auch gefallen