Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Visual FoxPro Laboratorio II
Visual FoxPro Laboratorio II
Características
Historia
Microsoft compró Fox Software en junio de 1992 por 173 millones de dólares.
En el momento de la compra el desarrollo de FoxPro 2.5 estaba casi terminado,
añadiéndole la capacidad de generar ejecutables para Windows. Las versiones
de FoxPro 2.6 para Windows, Mac y Unix se consideran las últimas versiones
de FoxPro.
Más adelante aparecerá Visual FoxPro 3.0b3 que aporta soporte a los
lenguajes de doble byte (Double Byte Character Set, como el chino o el
japonés) y mejoras en el soporte de ODBC. Además el logotipo para de utilizar
una fuente serif a una sans-serif bold, que utilizará en adelante.
En marzo de 2007, Microsoft anunció que no habrá VFP 10, 7 con lo que VFP9
es la última versión comercial de Visual FoxPro. Su soporte está garantizado
hasta 2015 y se han publicado dos Service Packs, el 8 de diciembre de 2005 y
el 11 de octubre de 2007. Se trata del soporte más largo para un producto de
Microsoft.
Sedna
Información de Versiones
2 etiquetas
2 cajas de texto
3 botones de comando
Luego, proceda a establecer las propiedades según se
indica a continuación:
Form1
Name FrmEdad
Caption
MaxButton .F.-Falso
MinButton .F.-Falso
Label1
Name LblFecNac
Label2
Name LblEdad
Text1
Name TxtFecNac
Enabled .T.-Verdadero
Text2
Name TxtEdad
Enabled .F.-Falso
Command1
Name CmdAceptar
Caption \<Aceptar
Command2
Name CmdLimpiar
Caption \<Limpiar
Command3
Name CmdSalir
Caption \<Salir
Set Century On
cDia = Str(Day(Date()), 2)
cMes = Cmonth(Date())
cAnno = Str(Year(Date()), 4)
Thisform.Caption = cFecha
Thisform.TxtFecNac.Setfocus
Thisform.Refresh
dFecNac = Ctod(Thisform.TxtFecNac.Value)
Thisform.Refresh
Thisform.TxtFecNac.Value = “”
Thisform.TxtEdad.Value = “”
Thisform.TxtFecNac.Setfocus
Thisform.Refresh
Objeto: CmdSalir Procedimiento: Click
Release Thisform
Práctica Nº 4
2 etiquetas
2 cajas de texto
2 botones de comando
Form1
Name FrmIngreso
MaxButton .F.-Falso
MinButton .F.-Falso
Label1
Name LblNumerador
Caption Numerador?
Label2
Name LblDenominador
Caption Denominador?
Text1
Name TxtNumerador
Value 0
Text2
Name TxtDenominador
Value 0
Command1
Name CmdSimplificar
Caption Simplificar
Default .T.-Verdadero
Command2
Name CmdSalir
Cancel .T.-Verdadero
Caption Salir
nNumerador = Thisformset.FrmIngreso.TxtNumerador.Value
nDenominador = Thisformset.FrmIngreso.TxtDenominador.Value
nC = nNumerador
Else
nC = nDenominador
EndIf
nC = nC - 1
EndDo
nNumerador = nNumerador / nC
nDenominador = nDenominador / nC
Thisformset.FrmIngreso.Hide
Thisformset.FrmSalida.Show
Thisformset.Refresh
Objeto: CmdSalir Procedimiento: Click
Release Thisformset
1 etiqueta
1 caja de texto
1 botón de comando
Form2
Name FrmSalida
Caption Salida
MaxButton .F.-Falso
MinButton .F.-Falso
Label1
Name LblFraccion
Text1
Name TxtFraccion
Alignment 2-Centro
Command1
Name CmdVolver
Caption Volver
cNumerador = Str(nNumerador)
cDenominador = Str(nDenominador)
Thisformset.FrmSalida.TxtFraccion.Value = cFraccion
Thisformset.Refresh
Thisformset.FrmIngreso.Show
Thisformset.Refresh
Public nNumerador
Public nDenominador
Public nC
Thisformset.FrmSalida.Hide
Thisformset.Refresh
Ejemplo de Calculadora
Programación
Formulario
Esta parte nos servirá para la programación de la marquesina.
Form1 Activate
PUBLIC c,c1,p,letras
c1=""
p=0
c=""
letras="Calculadora"
Esto es para validar la marquesina, es decir, para que las letras del label se
muevan.
Timer
p=p+1
c=SUBSTR(letras,p,1)
c1=c1+c
thisform.label1.Caption=c1
IF p=LEN(letras) then
label1=""
c1=""
p=0
ENDIF
Numeración:
Para ello necesitaremos 10 botones que correspondan a la numeración, es
decir, botones del 0 al 9
y los programaremos de la siguiente manera:
thisform.txt.Value=thisform.txt.Value+"0"
thisform.txt.Value=thisform.txt.Value+"1"
thisform.txt.Value=thisform.txt.Value+"2"
thisform.txt.Value=thisform.txt.Value+"4"
thisform.txt.Value=thisform.txt.Value+"5"
thisform.txt.Value=thisform.txt.Value+"6"
thisform.txt.Value=thisform.txt.Value+"7"
thisform.txt.Value=thisform.txt.Value+"8"
thisform.txt.Value=thisform.txt.Value+"9"
thisform.txt.Value=thisform.txt.Value+"."
Cada numero en cada botón. Y también para la coma decimal.
Operaciones:
Suma
n1=VAL(thisform.txt.Value)
operacion="suma"
thisform.txt.Value=""
Resta
n1=VAL(thisform.txt.Value)
operacion="resta"
thisform.txt.Value=""
Multiplicación
n1=VAL(thisform.txt.Value)
operacion="multiplicacion"
thisform.txt.Value=""
División
n1=VAL(thisform.txt.Value)
operacion="division"
thisform.txt.Value=""
Raíz Cuadrada
n1=VAL(THISFORM.txt.Value)
operacion="raiz cuadrada"
THISFORM.txt.VALUE=""
Exponente cuadrado
n1=VAL(THISFORM.txt.Value)
operacion="cuadrado"
THISFORM.txt.VALUE=""
Exponente
n1=VAL(THISFORM.txt.Value)
operacion="exponente"
THISFORM.txt.VALUE=""
Botón Igual:
n2=VAL(thisform.txt.Value)
IF operacion="suma" then
respuesta=n1+n2
ELSE
IF operacion="resta" then
respuesta=n1-n2
ELSE
IF operacion="multiplicacion" then
respuesta=n1*n2
ELSE
IF operacion="division" then
respuesta=n1/n2
ELSE
IF operacion="raiz cuadrada" THEN
respuesta=SQRT (n1)
ELSE
IF operacion="exponente" THEN
respuesta=(n1^n2)
ELSE
IF operacion="cuadrado" THEN
respuesta=(n1^2)
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
thisform.txt.Value=respuesta
Aquí les dijo como programar el salir pero con condición, para que nos de
la opción si desea
o no salir, y si el caso es no continuar en el programa.
Botón Salir:
men=MESSAGEBOX("desea salir?",4,"aviso")
IF men=6 then
thisform.Release
ELSE
MESSAGEBOX("continuamos")
Endif