Beruflich Dokumente
Kultur Dokumente
Visual FoxPro
GUA DE LABORATORIO 01
Objetivos
Luego de completar este laboratorio, el estudiante ser
capaz de:
Identificar
los
elementos
del
entorno
integrado
de
una
carpeta
C:\Lab1,
para
guardar
sus
trabajos
= + Str(nMay)
? Central = + Str(nCen)
? Menor
= + Str(nMen)
C$300.00
C$500.00;
un
descuento
del
20%
para
nImporte = nConsumo
EndCase
? Importe a pagar: + Str(nImporte)
Aplicacin N 3
n
El ejercicio consiste en escribir un programa que lea
enteros y calcule la suma total, la media aritmtica, el
mximo y el mnimo de los datos.
Para el desarrollo de la presente aplicacin, de manera
anloga que para los casos anteriores abrir una nueva ventana
de edicin e ingresar el siguiente cdigo:
Close All
Clear
Input Ingrese cantidad de nmeros? To nN
Declare aVector(nN)
For nI = 1 To nN
Input Nmero [ + Str(nI) + ]? To aVector(nI)
Next
nMax = aVector[1]
nMin = aVector[1]
nSuma = 0
For nI = 1 To nN
nSuma = nSuma + aVector[nI]
If aVector[nI] > nMax Then
nMax = aVector[nI]
EndIf
If aVector[nI] < nMin Then
nMin = aVector[nI]
EndIf
Next
nMedia = nSuma / nN
? Suma
= + Str(nSuma)
argumento
devuelva
en
de
forma
entrada
una
inversa,
por
cadena
de
ejemplo
caracteres
si
se
la
ingresa
la
Microsoft
Visual FoxPro
GUA DE LABORATORIO N 2
Objetivos
Luego de completar este laboratorio, el estudiante ser
capaz de:
Implementar
soluciones
mediante
programacin
orientada
objetos.
Manejar
las
diferentes
propiedades
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:\Lab2,
para
guardar
sus
trabajos
en
el
formulario
en
control
la
deseado
posicin
luego
que
se
dar
le
click
desea
en
el
ubicar.
FrmAplica01
Mayor valor de un nmero real
.F.-Falso
.F.-Falso
Label1
Name
Caption
LblX
Ingrese un real de la forma eee.ddd?
Label2
Name
Caption
LblMay
Mayor:
Name
InputMask
Value
TxtX
999.999
0
Name
InputMask
Value
TxtMay
999
0
Text1
Text2
Command1
Name
Caption
Default
CmdAceptar
\<Aceptar
.T.-Verdadero
Command2
Name
Caption
CmdLimpiar
\<Limpiar
Command3
Name
Cancel
Caption
CmdSalir
.T.-Verdadero
\<Salir
dar
continuacin
doble
click
sobre
el
control
Procedimiento: Click
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
Release Thisform
A continuacin guarde su aplicacin 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
este
ejercicio
vamos
crear
un
formulario
para
3 botones de comando
Luego, proceda a establecer las propiedades segn se
indica a continuacin:
Form1
Name
Caption
MaxButton
MinButton
FrmEdad
.F.-Falso
.F.-Falso
Label1
Name
Caption
LblFecNac
Fecha de nacimiento:
Label2
Name
Caption
LblEdad
Su edad es:
Name
Enabled
TxtFecNac
.T.-Verdadero
Name
Enabled
TxtEdad
.F.-Falso
Text1
Text2
Command1
Name
Caption
CmdAceptar
\<Aceptar
Command2
Name
Caption
CmdLimpiar
\<Limpiar
Command3
Name
CmdSalir
Caption
\<Salir
Luego de establecidas las propiedades de los controles,
proceda a ingresar el siguiente cdigo:
Objeto: FrmEdad
Procedimiento: Load
Procedimiento: Init
cNomDia = Cdow(Date())
cDia = Str(Day(Date()), 2)
cMes = Cmonth(Date())
cAnno = Str(Year(Date()), 4)
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
Procedimiento: Click
Thisform.TxtFecNac.Value =
Thisform.TxtEdad.Value =
Thisform.TxtFecNac.Setfocus
Thisform.Refresh
Objeto: CmdSalir
Release Thisform
Aplicacin N 3
Procedimiento: Click
FrmReloj
Reloj despertador digital
.F.-Falso
.F.-Falso
LblHora
Caption
Hora
Label2
Name
Caption
LblDespertador
Despertador
Name
FontBold
FontSize
TxtHora
.T.-Verdadero
24
Name
FontBold
FontSize
TxtDespertador
.T.-Verdadero
24
Text1
Text2
Timer1
Name
Enabled
Interval
Timer1
.T.-Verdadero
500
Command1
Name
Caption
Default
CmdOnOff
\<Desactivar
.T.-Verdadero
Command2
Name
Cancel
Caption
CmdTerminar
.T.-Verdadero
\<Terminar
Procedimiento: Load
Public lOnOff
Objeto: FrmReloj
lOnOff = .F.
Procedimiento: Init
Thisform.TxtDespertador.Value = 00:00:00
Thisform.Refresh
Objeto: Timer1
Procedimiento: Timer
Procedimiento: Click
If lOnOff Then
lOnOff = .F.
Thisform.CmdOnOff.Caption = \<Activar
Else
lOnOff = .T.
Thisform.CmdOnOff.Caption = \<Desactivar
EndIf
Thisform.Refresh
Objeto: CmdTerminar
Release Thisform
Procedimiento: Click
Microsoft
Visual FoxPro
GUA DE LABORATORIO N 3
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
cajas
de
dilogo
predefinidas
para
visualizar
mensajes.
Consideraciones
Para el desarrollo del presente laboratorio Ud. deber
crear
una
carpeta
C:Lab3,
para
guardar
sus
trabajos
El
ejercicio
consiste
en
crear
una
aplicacin
que
apreciar
nada
en
especial).
Nuevamente
vaya
al
Men
de
formularios
debe
presentar
una
apariencia
debe
establecer
las
FrmIngreso
Ingreso de datos
.F.-Falso
.F.-Falso
Label1
Name
Caption
LblNumerador
Numerador?
propiedades
de
los
Label2
Name
Caption
LblDenominador
Denominador?
Name
Value
TxtNumerador
0
Name
Value
TxtDenominador
0
Text1
Text2
Command1
Name
Caption
Default
CmdSimplificar
Simplificar
.T.-Verdadero
Command2
Name
Cancel
Caption
A
continuacin
CmdSalir
.T.-Verdadero
Salir
proceda
ingresar
el
cdigo
que
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
se
nNumerador = nNumerador / nC
nDenominador = nDenominador / nC
Thisformset.FrmIngreso.Hide
Thisformset.FrmSalida.Show
Thisformset.Refresh
Objeto: CmdSalir
Procedimiento: Click
Release Thisformset
Luego proceda a ubicar los siguientes controles sobre el
segundo formulario (Form2):
1 etiqueta
1 caja de texto
1 botn de comando
Seguidamente
debe
establecer
las
propiedades
FrmSalida
Salida
.F.-Falso
.F.-Falso
Label1
Name
Caption
LblFraccion
Fraccin simplificada:
Name
Alignment
TxtFraccion
2-Centro
Text1
Command1
Name
Caption
CmdVolver
Volver
de
los
continuacin
proceda
ingresar
el
cdigo
que
se
muestra:
Objeto: FrmSalida
Procedimiento: Activate
cNumerador = Str(nNumerador)
cDenominador = Str(nDenominador)
cFraccion = cNumerador + / + cDenominador
Thisformset.FrmSalida.TxtFraccion.Value = cFraccion
Thisformset.Refresh
Objeto: CmdVolver
Procedimiento: Click
Thisformset.FrmSalida.Hide
Thisformset.FrmIngreso.Show
Thisformset.Refresh
Finalmente proceda a ingresar el cdigo que se indica a
continuacin:
Objeto: Formset1
Procedimiento: Load
Public nNumerador
Public nDenominador
Public nC
Objeto: Formset1
Procedimiento: Init
Thisformset.FrmSalida.Hide
Thisformset.Refresh
Aplicacin N 2
Este ejercicio consiste en elaborar una aplicacin que
acepte
fechas
como
tres
nmeros
(dd,
mm,
aaaa)
las
si
desea
terminar
la
aplicacin,
tal
como
se
Si,
la
En
caso
de
que
el
usuario
elija
la
opcin
elige
la
opcin
No,
se
debe
proseguir
con
la
aplicacin.
Para el desarrollo de esta aplicacin, proceda a ubicar
los siguientes controles en el formulario:
4 etiquetas
3 controles numricos
1 caja de texto
3 botones de comando
En seguida proceda a establecer las propiedades segn se
indica:
Form1
Name
Caption
MaxButton
MinButton
FrmFecha
Fecha en letras
.F.-Falso
.F.-Falso
Label1
Name
AutoSize
Caption
LblDia
.T.-Verdadero
Da:
Label2
Name
AutoSize
Caption
LblMes
.T.-Verdadero
Mes:
Label3
Name
AutoSize
Caption
LblAnno
.T.-Verdadero
Ao:
Label4
Name
AutoSize
Caption
LblEnLetras
.T.-Verdadero
En letras:
Spinner1
Name
SpinnerHighValue
SpinnerLowValue
SpnDia
31
1
Spinner2
Name
SpinnerHighValue
SpinnerLowValue
SpnMes
12
1
Spinner3
Name
SpinnerHighValue
SpinnerLowValue
SpnAnno
9999
0
Text1
Name
Alignment
Command1
TxtEnLetras
2-Centro
Name
Caption
Default
CmdAceptar
\<Aceptar
.T.-Verdadero
Command2
Name
Caption
CmdLimpiar
\<Limpiar
Command3
Name
Cancel
Caption
CmdSalir
.T.-Verdadero
\<Salir
Procedimiento: Load
Procedimiento: QueryUnload
#DEFINE vfpYesNo
#DEFINE vfpYes
#DEFINE vfpQuestion 32
If MessageBox(Desea terminar la aplicacin?, ;
vfpQuestion + vfpYesNo, Pregunta) = vfpYes Then
Release Thisform
Else
NoDefault
EndIf
Objeto: CmdAceptar
Procedimiento: Click
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
Procedimiento: Click
Thisform.SpnDia.Value = 0
Thisform.SpnMes.Value = 0
Thisform.SpnAnno.Value = 0
Thisform.TxtEnLetras.Value =
Thisform.SpnDia.Setfocus
Thisform.Refresh
Objeto: CmdSalir
Thisform.QueryUnload
Aplicacin N 3
Procedimiento: Click
leer
un
nmero
entero
visualice
su
tabla
se
un
control
cuadro
de
edicin,
el
cual
tiene
FrmTabla
Tabla de multiplicar
.F.-Falso
.F.-Falso
Label1
Name
Caption
LblNumero
Ingrese un nmero:
Name
Alignment
TxtNumero
2-Centro
Name
ScrollBars
EdtTabla
2-Vertical
Text1
Edit1
Command1
Name
Caption
Default
Una
vez
CmdLimpiar
\<Limpiar
.T.-Verdadero
diseada
la
interfaz,
proceda
ingresar
el
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 =
Procedimiento: Click
Thisform.Refresh
Microsoft
Visual FoxPro
GUA DE LABORATORIO N 4
Objetivos
Luego de completar este laboratorio, el estudiante ser
capaz de:
Usar
casillas de
verificacin y
botones de
opcin para
una
carpeta
C:\Lab4,
para
guardar
sus
trabajos
Form1
Name
AutoCenter
Caption
MaxButton
MinButton
FrmEditor
.T.-Verdadero
Editor
.F.-Falso
.F.-Falso
Label1
Name
Caption
LblTexto
Texto
Label2
Name
Caption
LblFuente
Fuente
Label3
Name
Caption
Label4
LblTamao
Tamao
Name
Caption
LblEstilo
Estilo
Label5
Name
Caption
LblColor
Color
Combo1
Name
CboFuente
Name
LstTamao
Name
ForeColor
TxtTexto
255, 0, 0
List1
Text1
Check1
Name
Caption
ChkNegrita
Negrita
FontBold
.T.-Verdadero
Check2
Name
Caption
FontItalic
ChkCursiva
Cursiva
.T.-Verdadero
Check3
Name
Caption
FontUnderline
ChkSubrayado
Subrayado
.T.-Verdadero
OptionGroup1
ButtonCount
Option1
Name
ForeColor
OptRojo
255, 0, 0
Option2
Name
ForeColor
OptVerde
0, 255, 0
Option3
Name
ForeColor
OptAzul
0, 0, 255
Command1
Name
Caption
Default
CmdSalir
\<Salir
.T.-Verdadero
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
Procedimiento: QueryUnload
#DEFINE vfpYesNo
#DEFINE vfpYes
#DEFINE vfpQuestion 32
If MessageBox(Desea terminar la aplicacin?, ;
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)
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
Procedimiento: Click
Procedimiento: Click
Objeto: CmdSalir
Procedimiento: Click
Thisform.QueryUnload
Aplicacin N 2
Este ejercicio consiste en desarrollar una aplicacin
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
trasladados
la
lista
de
cursos
5 botones de comando
En seguida proceda a establecer las propiedades segn se
indica:
Form1
Name
Caption
MaxButton
MinButton
FrmCursos
Cursos
.F.-Falso
.F.-Falso
Label1
Name
Caption
LblCurso
Ingrese nuevo curso:
Label2
Name
Caption
LblSeleccionar
Seleccione un curso:
Label3
Name
Caption
LblProgramado
Curso programado:
Name
TxtCurso
Name
LstSeleccionar
Name
LstProgramado
Text1
List1
List2
Command1
Name
Caption
Picture
CmdAgregar
C:\FundVFP\Bitmaps\AddItem.Bmp
Command2
Name
Caption
Picture
CmdAgregarTodo
C:\FundVFP\Bitmaps\AddAll.Bmp
Command3
Name
Caption
Picture
CmdQuitar
C:\FundVFP\Bitmaps\Remove.Bmp
Command4
Name
Caption
Picture
CmdQuitarTodo
C:\FundVFP\Bitmaps\RemoveAll.Bmp
Command5
Name
Caption
CmdAnnadir
\<Aadir
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.
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
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
Procedimiento: QueryUnload
#DEFINE vfpYesNo
#DEFINE vfpYes
#DEFINE vfpQuestion 32
If MessageBox(Desea terminar la aplicacin?, ;
vfpQuestion + vfpYesNo, Pregunta) = vfpYes Then
Release Thisform
Else
NoDefault
EndIf
Aplicacin N 3
El ejercicio consiste en elaborar una aplicacin que
n
permita leer
visualice
ordenados
en
forma
ascendente
descendente.
FrmBurbuja
Ordenacin por burbuja
.F.-Falso
.F.-Falso
Label1
Name
Caption
LblNumero
Ingrese un nuevo nmero:
Label2
Name
Caption
LblOrden
Orden:
Label3
Name
Caption
LblLista
Lista de nmeros:
Name
Value
TxtNumero
0
Name
LstNumero
Text1
List1
Option1
Nombre
Caption
OptAscendente
Ascendente
Option2
Nombre
Caption
OptDescendente
Descendente
Command1
Nombre
Caption
Default
CmdAnnadir
\<Aadir
True
Command2
Nombre
Caption
CmdOrdenar
\<Ordenar
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
Procedimiento: QueryUnload
#DEFINE vfpYesNo
#DEFINE vfpYes
#DEFINE vfpQuestion 32
If MessageBox(Desea terminar la aplicacin?, ;
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
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
Procedimiento: Click
Thisform.QueryUnload
Microsoft
Visual FoxPro
GUA DE LABORATORIO N 5
Objetivos
una
carpeta
C:\Lab5,
para
guardar
sus
trabajos
Aplicacin N 1
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.
2 cajas de texto
3 botones de comando
En seguida proceda a establecer las propiedades segn se
indica:
Form1
Nombre
Caption
MaxButton
MinButton
FrmPrueba_Cadena
Cadena invertida
.F.-Falso
.F.-Falso
Label1
Nombre
Caption
LblCadena
Ingrese una cadena:
Label2
Nombre
Caption
LblInvertida
Cadena invertida:
Nombre
Enabled
TxtCadena
.T.-Verdadero
Nombre
Enabled
TxtInvertida
.F.-Falso
Text1
Text2
Command1
Nombre
Caption
Default
CmdAceptar
\<Aceptar
.T.-Verdadero
Command2
Nombre
Caption
CmdLimpiar
\<Limpiar
Command3
Nombre
Cancel
Caption
CmdSalir
.T.-Verdadero
\<Salir
Procedimiento: CadInvertida
Parameters cCadena
nN = Len(Alltrim(cCadena))
Dimension cTemporal(nN)
For nI = 1 To nN
cTemporal(nI) = SubStr(cCadena, nI, 1)
Next
cCadena =
For nJ = nN To 1 Step -1
Procedimiento: Click
cCadena = Thisform.TxtCadena.Value
Thisform.TxtInvertida.Value = Thisform.CadInvertida(cCadena)
Thisform.Refresh
Aplicacin N 2
Este ejercicio consiste en crear un mtodo que reciba
como argumento los apellidos y nombres de un cliente (en ese
orden) y retorne los nombres y apellidos del mismo.
Procedimiento: NomApe
m1
slida primero se pesa la muestra (
la
estufa
de
120
150
por
), luego se le lleva a
un
tiempo
de
horas
m2
se pesa nuevamente (
clculo:
m1 m2
m1
% Humedad 100
Procedimiento: Humedad
Procedimiento: Click
nMasa1 = Val(Thisform.TxtMasa1.Value)
nMasa2 = Val(Thisform.TxtMasa2.Value)
nHumedad = Thisform.Humedad(nMasa1, nMasa2)
Thisform.TxtHumedad.Value = Str(nHumedad, 10, 4)
Thisform.Refresh