BIENVENIDOS A MI BLOG
Translate
martes, 17 de junio de 2014
CALCULADORA VFP
CALCULADORA EN VISUAL FOX PRO 9.0
CALCULADORA
HOY APRENDEREMOS COMO HACER UNA CALCULADORA VIRTUAL EN VISUAL FOXPRO 9.0
CONTENIDO Y DESARROLLO
Antes que nada Debemos Abrir Visual Fox Pro
HOY APRENDEREMOS COMO HACER UNA CALCULADORA VIRTUAL EN VISUAL FOXPRO 9.0
CONTENIDO Y DESARROLLO
Antes que nada Debemos Abrir Visual Fox Pro
Luego una vez en el Entorno de Visual Fox Pro 9.0 Creamos un Nuevo Formulario
(Para ver Las Imágenes grandes solo dale Click)
Luego De Colocar Las herramientas de Control de Formulario , creamos Botones de Formulario con la herramienta Command Button
Y creamos 17 Botones
Luego Cambiamos El texto de cada Botón en la propiedad Caption
Después cambiamos el texto y Ordenamos los Botones ( Que quede Algo así)
Luego Colocamos una caja de Texto
Y Cambiamos el Nombre por cualquiera en este caso pantalla
Empezamos a Programar
Damos doble Click en la parte Vacia o El formulario
Y Declaramos o Publicamos Variables que Utilizaremos Luego
En Este caso estas Tres.
n1= El primer Numero que Ingresemos
n2= El segundo Numero que Ingresemos
opE=La operación que Utilizaremos
opE=La operación que Utilizaremos
Ahora damos doble click en el Botón que dice "1"
Y escribimos esto.
Value indica el valor o los caracteres que tiene dentro del objeto.
Por lo tanto:
thisform.pantalla.Value=thisform.pantalla.value+"1"
Esto significa que el valor del Objeto Pantalla va a ser al mismo valor
del Objeto Pantalla + 1 al ponerlo entre comillas no lo suma sino que lo
acumula.
Repetimos este Proceso con todos Los números incluido el 0.
Luego Vamos al Botón suma o +
y Escribimos esto
n1=VAL(THISFORM.pantalla.Value)
(Significa que la Variable que Declaramos antes n1 va a ser igual al valor que pongamos en la pantalla)
OPE="SUMA"
(Significa que la operación que estamos realizando es una "SUMA" en
este caso SUMA viene a ser un código para la que la computadora pueda
identificar que acción realizar)
THISFORM.pantalla.VALUE=" "
(Significa que el valor que estaba escrito en pantalla va a ser igual a
"" osea a lo que esta dentro de "" Porsupuesto no hay nada esta accion
hace que la pantalla se borre)
Repetimos este Proceso con todas las
operaciones menos Ce o C y el botón calcular o (=) . Solo cambiamos
OPE= por la operacion que vayamos a hacer.
Programamos el botón Salir para que al momento de dar click nos salgo un mensaje de advertencia.
(Al colocar ACF significa que todo este procedimiento va a ser controlado por esta variable en este caso ACF, = messagebox es el código para mostrar un mensaje ponemos ( y comillas para especificar lo que va a ir en el mensaje)
Cerramo comillas y ponemos coma (,) aqui pondremos un numero relacionado con los botones que tendra el mensaje.
En este caso 4 donde solo salen los botones Si y No Yes and No en INGLES.
Al poner coma otra vez y comillas; Escribiremos lo que Ira en el titulo del mensaje.
IF ACF=6 THEN
(Cuando Ponemos IF significa que estamos poniendo una condicion de Si, en este caso Que pasa SI ACF la variable que esta controlando el mensaje es igual a 6 . El 6 viene a ser la Representacion de le botón SI en el mensaje. Si esto Ocurre THEN que es Entonces. el Programa se cierra.)
THISFORM.Release
Cierra el Formulario.
ENDIF
Siempre que Abrimos un If tenemos que Poner un Endif que siginifca CIerre de Condicion.ç
Ahora Vamos a Programar El Botón (=) o Calcular.
n2=VAL(THISFORM.PANTALLA.Value)
(Como Vamos a dar click en calcular después de que hayamos dado click en una operacion , esta va a ser la segunda vez en que pantalla tenga valores por este motivo n2 va a ser igual al nuevo valor que se pondrá despues de Presionar un botón de Operacion. asi 2 + 2 = 4
n1 n2
IF OPE="SUMA" THEN
( Creamos una Condicion que especificará que operacion se ha realizado mediante la varaible OPE)
(En esta caso es SUMA)
RES=n1+n2
( Res es una variable que solo indica el resultado, como Ope fue igual a "SUMA" entonces n1 + n2 = res)
ELSE
( Else significa Cso contrario o el otro lado de la condicion,,¿que pasa si no se cumple esto? ..lo que va a pasar es que hayamos presionado otra operacion)
IF OPE="MENOS" THEN
(La operacion Menos o Resta)
RES=n1-n2
( Especificamos el resultado de una resta)
ELSE
(Caso contrario)
IF OPE="POR" THEN
( Si dimos click en la Multiplicacion *)
RES=n1*n2
(N1 y N2 se van a multiplicar)
ELSE
(Caso contrario)
IF OPE="PARA" THEN
( Si dimos click en la Division /)
RES=n1/n2
(N1 y N2 se van a DIvidir)
ENDIF
ENDIF
ENDIF
ENDIF
( COmo abrimos Muchas COndiciones de Igual manera tenemos que cerrarlas)
THISFORM.PANTALLA.Value=RES
(Al final Visualizamos el Resultado de la varialbe res a la pantalla , la caja de texto)
SI queremos darle un Estilo Mejor Podemos Agregarle una MArquesina
Para esto Creamos UN label
Elegimos El tamaño Letra y Color en las propiedades.
Luego Agregamos un Timer.
Y en la Ventana de Programacion del Formulario
Agregamos 4 variables para Publicar.
Y Escribimos que las variables c y c1 sean igual a Nada pero p=0 y Letras que va a ser la marquesina va a ser igual al texto que queremos Poner entre Comillas y paréntesis.
En EL botón del Timer Agregamos :
P=P+1
(Indicamos que la Variable p va a ser igua al a misma varaible mas 1)
C=SUBSTR(LETRAS,P,1)
( La variable C regresa el numero de caracteres desde una posicion anterior)
(Substr es necesari para realizar la marquesina)
C1=C1+C
(Indicamos que la Variable c va a ser igua al a misma varaible mas 1)
THISFORM.LABEL1.Caption=C1
(Indicamos que la Variable c va a ser igua Al texto que esta escrito en Label1)
IF P=LEN(LETRAS) THEN
(Una condicion donde dice que si ya han pasado todo los caracteres de Letras)
LABEL1=""
(Label1 se borra para empezar de nuevo y asi tener el efecto de una marquesina)
C1=""
(C1 es igual a nada esto significa que volvera a ser label 1 para tomar el efecto de una marquesina)
P=0
(P Volvera a contar desde 0)
ENDIF
(Cerramos la Condición)
Y CAMBIAMOS EL INTERVALO EN LA VENTANA DE PROPIEDADES DE TIMER A 100
Y probamos.
CONCLUSIONES
Este Programa agilita mas las cosas al realizar aplicaciones y es
muy útil en cuanto a la Programación, Teniendo un simple sistema de
referencias para Realizar algoritmos, Es fácil de Usar y
la Aplicación muy Beneficiosa...
sábado, 14 de junio de 2014
PROGRAMA QUE CALCUALA EL AREA CUADRATICA DE UNA FIGURA
***PROGRAMA QUE CALCUALA EL AREA CUADRATICA DE UNA FIGURA
***VISUAL FOXPRO
SET STATUS OFF
SET SCORE OFF
SET TALK OFF
CLEAR
@ 02, 04 say "programa areas cuadraticas"
A=0
B=0
@ 04, 04 say "menu de opciones"
@ 06, 04 say "1. area de un cuadrado"
@ 08, 04 say "2. area de un circulo"
@ 10, 04 say "3. area de un trapecio"
@ 12, 04 say "4. area de un cilindro"
@ 14, 04 say "5. area de un rectangulo"
@ 16, 04 say "6. area de un triangulo"
@ 18, 04 say "elija el numero de la opcion que desea" get A
read
aro=0
aro2=0
if A=1
@ 20, 04 say "escriba el numero de el primer lado" get aro
read
@ 22, 04 say "escriba el numero de el segundo lado" get aro2
read
z=aro*aro2
@ 24, 04 say "el area de el cuadrado es: " +str(z) +"cm²"
endif
circulo=0
if A=2
@ 20, 04 say "escriba el radio de el circulo" get circulo
read
p=circulo*circulo
z=3.141592654*p
@ 22, 04 say "el area de el circulo es: " +str(z) +"cm²"
endif
n=0
m=0
c=0
if A=3
@ 20, 04 say "ingrese la base mayor" get n
read
@ 22, 04 say "ingrese la base menor" get m
read
@ 24, 04 say "ingrese la altura de el trapecio" get c
read
h=n+m
j=(c*h)/2
@ 26, 04 say "el area de el trapecio es de: " +str(m) +"cm²"
endif
g=0
e=0
if A=4
@ 20, 04 say "escriba la altura de el cilindro" get g
read
@ 22, 04 say "ingrese el radio" get e
read
h=2*3.141592654*e*g
@ 24, 04 say "el area de cilindro es: " +str(h) +"cm²"
endif
u=0
t=0
if A=5
@ 20, 04 say "ingrese la base del rectangulo " get u
read
@ 22, 04 say "ingrese la altura del rectangulo" get t
read
d=u*t
@ 24, 04 say "el area de la base del rectangulo es: " +str(d) +"cm²"
read
endif
w=0
h=0
m=0
if A=6
@ 20, 04 say "1. triangulo equilatero"
@ 22, 04 say "2. triangulo isosceles"
@ 24, 04 say "3. triangulo rectangulo"
@ 26, 04 say "ingrese el numero de la opcion que desea" get m
READ
@ 28, 04 say "ingrese la base del triangulo" get w
read
@ 30, 04 say "ingrese la altura del triangulo" get h
read
v=w*h/2
@ 32, 04 say "el area del triangulo es de: " +str(v) +"cm²"
endif
***VISUAL FOXPRO
SET STATUS OFF
SET SCORE OFF
SET TALK OFF
CLEAR
@ 02, 04 say "programa areas cuadraticas"
A=0
B=0
@ 04, 04 say "menu de opciones"
@ 06, 04 say "1. area de un cuadrado"
@ 08, 04 say "2. area de un circulo"
@ 10, 04 say "3. area de un trapecio"
@ 12, 04 say "4. area de un cilindro"
@ 14, 04 say "5. area de un rectangulo"
@ 16, 04 say "6. area de un triangulo"
@ 18, 04 say "elija el numero de la opcion que desea" get A
read
aro=0
aro2=0
if A=1
@ 20, 04 say "escriba el numero de el primer lado" get aro
read
@ 22, 04 say "escriba el numero de el segundo lado" get aro2
read
z=aro*aro2
@ 24, 04 say "el area de el cuadrado es: " +str(z) +"cm²"
endif
circulo=0
if A=2
@ 20, 04 say "escriba el radio de el circulo" get circulo
read
p=circulo*circulo
z=3.141592654*p
@ 22, 04 say "el area de el circulo es: " +str(z) +"cm²"
endif
n=0
m=0
c=0
if A=3
@ 20, 04 say "ingrese la base mayor" get n
read
@ 22, 04 say "ingrese la base menor" get m
read
@ 24, 04 say "ingrese la altura de el trapecio" get c
read
h=n+m
j=(c*h)/2
@ 26, 04 say "el area de el trapecio es de: " +str(m) +"cm²"
endif
g=0
e=0
if A=4
@ 20, 04 say "escriba la altura de el cilindro" get g
read
@ 22, 04 say "ingrese el radio" get e
read
h=2*3.141592654*e*g
@ 24, 04 say "el area de cilindro es: " +str(h) +"cm²"
endif
u=0
t=0
if A=5
@ 20, 04 say "ingrese la base del rectangulo " get u
read
@ 22, 04 say "ingrese la altura del rectangulo" get t
read
d=u*t
@ 24, 04 say "el area de la base del rectangulo es: " +str(d) +"cm²"
read
endif
w=0
h=0
m=0
if A=6
@ 20, 04 say "1. triangulo equilatero"
@ 22, 04 say "2. triangulo isosceles"
@ 24, 04 say "3. triangulo rectangulo"
@ 26, 04 say "ingrese el numero de la opcion que desea" get m
READ
@ 28, 04 say "ingrese la base del triangulo" get w
read
@ 30, 04 say "ingrese la altura del triangulo" get h
read
v=w*h/2
@ 32, 04 say "el area del triangulo es de: " +str(v) +"cm²"
endif
PROGRAMA QUE CALCULA LA EDAD
***PROGRAMA QUE CALCULA LA EDAD
***VISUAL FOXPRO
clear
@1,4 say "PROGRAMA QUE CALCULA LA EDAD"
nombre=space(30)
edad=0
@8,10 say "ingrese su nombre" get nombre
read
@10,10 say "ingrese su edad" get edad
read
if edad<18
@15,10 say "USTED ES MENOR DE EDAD"
ELSE
@15,10 say "USTED ES MAYOR DE EDAD"
ENDIF
***VISUAL FOXPRO
clear
@1,4 say "PROGRAMA QUE CALCULA LA EDAD"
nombre=space(30)
edad=0
@8,10 say "ingrese su nombre" get nombre
read
@10,10 say "ingrese su edad" get edad
read
if edad<18
@15,10 say "USTED ES MENOR DE EDAD"
ELSE
@15,10 say "USTED ES MAYOR DE EDAD"
ENDIF
PROGRAMA QUE CALCULA EL DESCUENTO DEL 7% SI EL PAGO ES MAYOR DE 5000 Y EL 4% SI EL PAGO ES MENOR DE 5000
***PROGRAMA QUE CALCULA EL DESCUENTO DEL 7% SI EL PAGO ES MAYOR DE 5000 Y EL 4% SI EL PAGO ES MENOR DE 5000
***VISUAL FOXPRO 9.0
CLEAR
A=0
@2,10 SAY "INGRESE COMPRA" GET A
READ
B= A*0.07
C= A*0.04
IF A>=5000
@6,10 SAY "SU DESCUENTO ES DE 7%, EQUIVALE A:" +STR(B)
ENDIF
IF A<5000
@6,10 SAY "SU DESCUENTO ES DE 4% EQUIVALE A:" +STR(C)
ENDIF
***VISUAL FOXPRO 9.0
CLEAR
A=0
@2,10 SAY "INGRESE COMPRA" GET A
READ
B= A*0.07
C= A*0.04
IF A>=5000
@6,10 SAY "SU DESCUENTO ES DE 7%, EQUIVALE A:" +STR(B)
ENDIF
IF A<5000
@6,10 SAY "SU DESCUENTO ES DE 4% EQUIVALE A:" +STR(C)
ENDIF
PROGRAMA QUE MUESTRA LAS TABLAS DE MULTIPLICACION
***PROGRAMA QUE MUESTRA LAS TABLAS DE MULTIPLICACION
***VISUAL FOXPRO 9.0
Clear
x= 0
@ 02, 01 Say "Ingrese la tabla" Get x
Read
For I= 1 to 10
@ I, 01 Say Str(x)+ " X " +Str(I) + "=" +Str(I*X)
Next
***VISUAL FOXPRO 9.0
Clear
x= 0
@ 02, 01 Say "Ingrese la tabla" Get x
Read
For I= 1 to 10
@ I, 01 Say Str(x)+ " X " +Str(I) + "=" +Str(I*X)
Next
PROGAMA DE PROCESO DE CALCULADORA
***PROGAMA DE PROCESO DE CALCULADORA
***VISUAL FOXPRO 9.0
SET SCORE OFF
SET STATUS OFF
SET TALK OFF
DO WHILE .T.
CLEAR
A=0
B=0
OP=0
OP2=SPACE(1)
CLEAR
@2,30 SAY "PROCESO DE CALCULADORA "FONT"",18 COLOR RGB(0,0,225)
@5,15 SAY "INGRESE LOS NUMEROS A CALCULAR "FONT"",16
@8,10 SAY "INGRSE EL PRIMER NUMERO" GET A COLOR RGB(0,0,225)
@10,10 SAY "INGRESE EL SEGUNDO NUMERO" GET B COLOR RGB(0,0,225)
READ
@14,10 SAY "MENU DE OPCIONES "FONT"",16
@16,10 SAY "1.SUMAR" COLOR RGB(0,0,225)
@18,10 SAY "2.RESTAR" COLOR RGB(0,0,225)
@20,10 SAY "3.DIVIDIR" COLOR RGB(0,0,225)
@22,10 SAY "4.MULTIPLICAR" COLOR RGB(0,0,225)
@24,10 SAY "ELIJA SU OPCION A REALIZAR" GET OP COLOR RGB(0,0,225)
READ
C= A+B
D= A-B
E= A/B
F= A*B
IF OP=1
@28,10 SAY "EL RESULTADO ES ==>" +STR(C) COLOR RGB(0,0,225)
ELSE
IF OP=2
@28,10 SAY "EL RESULTADO ES ==>" +STR(D) COLOR RGB(0,0,225)
ELSE
IF OP=3
@28,10 SAY "EL RESULTADO ES ==>" +STR(E) COLOR RGB(0,0,225)
ELSE
IF OP=4
@28,10 SAY "EL RESULTADO ES ==>" +STR(F) COLOR RGB(0,0,225)
ENDIF
ENDIF
ENDIF
ENDIF
READ
@34,10 SAY "DESEA CONTINUAR CALCULANDO S/N: "FONT"",14 COLOR RGB(0,0,225) GET OP2 PICT "!"FONT"",12
READ
IF OP2="S"
LOOP
ELSE
EXIT
ENDIF
ENDDO
***VISUAL FOXPRO 9.0
SET SCORE OFF
SET STATUS OFF
SET TALK OFF
DO WHILE .T.
CLEAR
A=0
B=0
OP=0
OP2=SPACE(1)
CLEAR
@2,30 SAY "PROCESO DE CALCULADORA "FONT"",18 COLOR RGB(0,0,225)
@5,15 SAY "INGRESE LOS NUMEROS A CALCULAR "FONT"",16
@8,10 SAY "INGRSE EL PRIMER NUMERO" GET A COLOR RGB(0,0,225)
@10,10 SAY "INGRESE EL SEGUNDO NUMERO" GET B COLOR RGB(0,0,225)
READ
@14,10 SAY "MENU DE OPCIONES "FONT"",16
@16,10 SAY "1.SUMAR" COLOR RGB(0,0,225)
@18,10 SAY "2.RESTAR" COLOR RGB(0,0,225)
@20,10 SAY "3.DIVIDIR" COLOR RGB(0,0,225)
@22,10 SAY "4.MULTIPLICAR" COLOR RGB(0,0,225)
@24,10 SAY "ELIJA SU OPCION A REALIZAR" GET OP COLOR RGB(0,0,225)
READ
C= A+B
D= A-B
E= A/B
F= A*B
IF OP=1
@28,10 SAY "EL RESULTADO ES ==>" +STR(C) COLOR RGB(0,0,225)
ELSE
IF OP=2
@28,10 SAY "EL RESULTADO ES ==>" +STR(D) COLOR RGB(0,0,225)
ELSE
IF OP=3
@28,10 SAY "EL RESULTADO ES ==>" +STR(E) COLOR RGB(0,0,225)
ELSE
IF OP=4
@28,10 SAY "EL RESULTADO ES ==>" +STR(F) COLOR RGB(0,0,225)
ENDIF
ENDIF
ENDIF
ENDIF
READ
@34,10 SAY "DESEA CONTINUAR CALCULANDO S/N: "FONT"",14 COLOR RGB(0,0,225) GET OP2 PICT "!"FONT"",12
READ
IF OP2="S"
LOOP
ELSE
EXIT
ENDIF
ENDDO
PROGRAMA QUE TIENES QUE ADIVINAR EL NUMERO PARA GANAR
***PROGRAMA QUE TIENES QUE ADIVINAR EL NUMERO PARA GANAR
***VISUAL FOXPRO
numero = 0
generado = 0
contador = 0
opcion = ""
SET COLOR TO W+/N
generado = INT(10*RAND())
CLEAR
DO while contador < 3
@ 5,5 say "¿CUAL ES EL NUMERO?" get numero
@ 3,5 say "JUEGA INGRESANDO UN NUMRO TIENES 3 INTENTOS, ADIVINA CUAL ES"
READ
DO case
CASE numero = generado
@ 7,5 say "ADIVINASTE"
contador = 5
CASE numero < generado
@ 8,5 say "EL NUMERO ES MAYOR"
CASE numero > generado
@ 9,5 say "EL NUMERO ES MENOR"
ENDCASE
contador = contador + 1
ENDDO
IF contador = 6
@ 10,5 say "¡FELICIDADES!"
ELSE
@ 10,5 SAY "PERDISTE"
@ 11,5 say "EL NUMERO ERA:" get generado
ENDIF
@ 12,5 say "DESEA VOLVER A INTERNTAR S(SI) N(NO)?" get opcion pict "!" valid opcion$ "S/N"
READ
IF opcion = "S"
ELSE
quit
endif
***VISUAL FOXPRO
numero = 0
generado = 0
contador = 0
opcion = ""
SET COLOR TO W+/N
generado = INT(10*RAND())
CLEAR
DO while contador < 3
@ 5,5 say "¿CUAL ES EL NUMERO?" get numero
@ 3,5 say "JUEGA INGRESANDO UN NUMRO TIENES 3 INTENTOS, ADIVINA CUAL ES"
READ
DO case
CASE numero = generado
@ 7,5 say "ADIVINASTE"
contador = 5
CASE numero < generado
@ 8,5 say "EL NUMERO ES MAYOR"
CASE numero > generado
@ 9,5 say "EL NUMERO ES MENOR"
ENDCASE
contador = contador + 1
ENDDO
IF contador = 6
@ 10,5 say "¡FELICIDADES!"
ELSE
@ 10,5 SAY "PERDISTE"
@ 11,5 say "EL NUMERO ERA:" get generado
ENDIF
@ 12,5 say "DESEA VOLVER A INTERNTAR S(SI) N(NO)?" get opcion pict "!" valid opcion$ "S/N"
READ
IF opcion = "S"
ELSE
quit
endif
Suscribirse a:
Entradas (Atom)