BIENVENIDOS A MI BLOG

Translate

martes, 17 de junio de 2014

calculadora video

***calculadora realizada en visual foxpro

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

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
Ahora damos doble click en el Botón que dice "1"
Y escribimos esto.

Thisform indica que estamos utilizando un Objeto de Este Formulario. Siempre hay que Anteponerlo cuando mencionemos a un objeto del formulario.
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.


En el botón CE que será el que va a borrar la pantalla realizamos la acción de ="" que es borrar.
Programamos el botón Salir para que al momento de dar click nos salgo un mensaje de advertencia.
 ACF=MESSAGEBOX("DESEA SALIR...SEGURO??",4,"ALERTA  ALERTA !!!")

(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.

Y cerramos Comillas y Paréntesis.


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
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

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

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

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

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 

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