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

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

No hay comentarios:

Publicar un comentario