Está en la página 1de 9

Visual Foxpro

Visual FoxPro es un lenguaje de programacin procedural, orientado a objetos que posee un Sistema Gestor de Bases de datos o Database Management System (DBMS) y Sistema administrador de bases de datos relacionales, producido por Microsoft. Visual FoxPro ofrece a los desarrolladores un conjunto de herramientas para crear aplicaciones de bases de datos para el escritorio, entornos cliente/servidor, tablet PC o para la Web. En 2009, se descubri que todas la empresas que utilizaban este programa, tenian problemas con otro software que no fuese de microsoft. Por ataques de dicha empresa.

Formularios
Los Formularios son objetos de Visual FoxPro que proveen formas de visualizar, entrar y editar la informacin almacenada en las bases de datos. Los campos, registros de las tablas y vistas se muestran en los formularios, cuyos controles permiten cambiar de un registro a otro. A diferencia de Visual Basic, los formularios de Visual Foxpro no requieren modificaciones para crear documentos activos. Es suficiente con iniciar la aplicacin desde una clase basada en la clase base ActiveDoc. La clase base ActiveDoc aporta las propiedades, eventos y mtodos para un Documento Activo y de esta forma interactuar con el host.

Declaracion de variables
Variables pblicas Las variables pblicas, tambin conocido como variables globales son variables que se pueden utilizar y modificadas por cualquier programa de FoxPro y cualquiera de sus sub-programs para la duracin de la sesin de FoxPro o hasta que se borra la variable de la memoria. Las variables pblicas se declaran en una de estas dos maneras: 1. Cree una variable en la ventana comando. Automticamente cualquier variable creada en la ventana de comandos se ha declarado pblica. Por ejemplo, desde la ventana comando, escriba 1000 = X. La variable X es ahora pblica a todas las aplicaciones.

2. Dentro de un programa, declare una variable como pblica mediante el comando PUBLIC. En todos los programas, debe declarar la variable como pblico antes de asignarle un valor, como en este ejemplo de cdigo: PUBLIC var1 var1=1000

Variables privadas Variables privadas se declaran en programas o los procedimientos y pueden ser utilizadas y manipuladas dentro de ese programa o un procedimiento y cualquiera de sus sub-programs. Se declaran variables privadas de tres maneras: 1. Crear una variable dentro de un programa o procedimiento sin declarar es como pblico. A continuacin, la variable en privado para el programa o procedimiento en el que se declara. Por ejemplo, en el programa MYPRG.PRG, declarar var2 como privado con este comando: var2=2500

ahora var2 se declara como privado para MYPRG.PRG. Est disponible para todos los procedimientos llamados por MYPRG.PRG. 2. Incluir la variable en una instruccin PARAMETERS. Esto hace que automticamente la variable sea privada para ese programa o el procedimiento. 3. Utilice el comando PRIVATE en las variables declaradas anteriormente. Esto permite la variable declarada anteriormente y su contenido oculto. Se convierte en la nueva variable privada privada para el programa actual o el procedimiento. El comando PRIVATE no declara inicialmente nada, ya debe existir una variable PRIVATE para poder utilizar en l correctamente. Variables ocultas Variables no se puede declarar ocultas, pero pueden convertirse en ocultos variables que anteriormente se han declarado como Public o Private. Ocultando las variables creadas en programas superiores, puede habilitar las variables del mismo nombre para manipularse en el programa actual sin afectar a los valores de variables ocultas.

Una vez que el programa o procedimiento que contiene las variables privadas finaliza la ejecucin, todas las variables de memoria y matrices que estaban ocultas posteriormente nuevo estn disponibles. Las variables estn ocultos en una de estas dos maneras: 1. Si ya se ha declarado una variable, utilice el comando PRIVATE seguido del nombre de variable para ocultar la variable existente y crear una nueva variable PRIVATE. 2. Utilizar una variable del mismo nombre en una instruccin PARAMETERS. Si una variable declarada recientemente comparte el mismo nombre que declarado una variable anteriormente, se oculta la variable declarada previamente y se crea una nueva variable privada para el programa actual o el procedimiento. Para comprobar el estado de una variable, utilice el comando Mostrar memoria. Mostrar memoria proporciona informacin sobre las variables definidas por el usuario--si estn pblica, privada o oculto, y dnde (qu programa o procedimiento) se hubieran declarado.

Operadores
Operadores relacionales < > = <>, #, != <= >= == Menor que 23 < 54 Mayor que 1>2 Igual que cVar1 = cVar Distinto de .T. <> .F. Menor o igual que {^1998/02/16} <= {^1998/02/16} Mayor o igual que 32 >= nHisAge Comparacin de cadenas de caracteres status == "Open"

Operadores logicos () NOT, AND OR Grupos de expresiones Lgico negative AND lgico OR lgico inclusivo cVar AND (cVar2 AND cVAR3) IF NOT cVarA = cVarB IF ! nVar1 = nVar2 lVar0 AND lVar9 lVarX OR lVarY

Operadores Aritmeticos () Subexpresiones de grupo **, ^ Potenciacin *, / Multiplicacin y divisin % Mdulo (resto)

(4-3) * (12/nVar2) 3 ** 2 ? 3 ^ 2 2 * 7 ? 14 / 7 15 % 4

+, -

Suma y resta

4 + 15

Condiciones.
If Else En foxpro el comando que permite establecer condiciones es el If- Else Endif, en el cual si la condicin verificada es cierta; se ejecutan las rdenes ubicadas despus del If; si es falsa va a ejecutar las instrucciones ubicadas despus del Else. Formato: If [Condicin] Instrucciones Else Instrucciones Endif El Endif establece el final de las instrucciones que se ejecutan dependiendo de la condicin que se est verificando. Ejemplo: @ 10,20 say Introduzca el sueldo del empleado get Suel Read If Suel > 50000 Comision = Suel * 4 /100 Vacacion = Suel / 30 * 45 else Comision = Suel * 10 /100 Vacacion = Suel / 30 * 90

Endif Case Do Case - Endcase: El Do case - Endcase es un comando de seleccin mltiple, esto es, que verifica multiples condiciones (2 o ms) y dependiendo de aquella que se cumpla ejecutar una serie de instrucciones. Formato: Do case Case [Condicin 1] Instrucciones Case [Condicin 2] Instrucciones Case [Condicin N] Instrucciones Otherwise Instrucciones Endcase El Otherwise es una instruccin que se ejecuta cuando ninguna de las opciones establecidas se cumple. Cumple similar funcin que el Else en el If. En el Do Case se debe colocar Endcase una sola vez. Ejemplo: Clear Nm=0 @ 10,10 say Introduzca el N del mes: get nm pict 99 range 1,12 Read Do case

Case nm=1 @ 12,20 say Enero Case nm=2 @ 12,20 say Febrero Case nm=3 @ 12,20 say Marzo : Case nm=12 @ 12,20 say Diciembre Endcase

Ciclos
For For Next: El for-next permite al usuario repetir una serie de instrucciones mientras que el valor indicado como final, no sea excedido por el valor de la variable de control. Al momento en que la variable de control exceda el valor final especificado, la ejecucin del programa pasa a la siguiente instruccin despus del next. Formato: For <VC> = VI to VF [step Inc] Instrucciones Next <VC> En donde:
y y

VC: Representa la variable de control del ciclo. VI: Identifica el valor inicial que se asigna a la variable de control

y y

VF: Representa el mayor valor que toma la variable de control Step Inc: Indica el incremento, el valor en que aumenta la variable de control cada vez que pasa la ejecucin del computador por el ciclo. Cuando no se especifica la clusula Step, el For se incrementa por defecto de 1 en 1. Nota: Todo For debe tener su next asociado.

Ejemplo 1. Numero=0 Contador=1 For Numero=1 to 20 @ Contador,10 say Nmero: @ Contador,20 say Numero pict 99 Contador= Contador+1 Next Numero While Do While - Enddo: Permite repetir una serie de instrucciones mientras la condicin que se est verificando es cierta. Al momento de dejarse de cumplir la condicin, el control del programa pasa a la siguiente instruccin despus del Enddo. En caso de que se tengan que verificar dos o ms condiciones se deben utilizar los operadores lgicos. Formato: Do While <Condicin> (And / or) <Condicin> Instrucciones Enddo Ejemplos: * Programa que calcula la suma de los 10 primeros nmeros naturales Set talk off

Set bell off Set stat off Suma=0 Contador=1 Do While Contador <=10 Suma=Suma+Contador Contador=Contador+1 Enddo Ejemplo for Ejemplo 1. Numero=0 Contador=1 For Numero=1 to 20 @ Contador,10 say Nmero: @ Contador,20 say Numero pict 99 Contador= Contador+1 Next Numero En el ejemplo anterior por medio del For, se imprimen los 20 primeros nmeros naturales. La variable Contador tiene la funcin de sustituir el N de fila donde se imprimen los datos. Esto se denomina contador de lneas. Tambin se observa que la variable nmero no sufre ningn incremento por medio de instruccin, sino que se hace en forma automtica. La ejecucin del programa pasa a la siguiente instruccin despus del next, cuando la variable Nmero llega al valor de 21 que excede el valor final especificado. Ejemplo while * Programa que pide el sueldo de 20 empleados y calcula el total de sueldos y el *sueldo promedio

Tsueldo=0 Contador=1 Do While Contador <=20 Sueldo=0 Clear @ 5,20 say Empleado N @ 5, 32 say Contador pict 99 @ 8,20 say Introduzca el sueldo del empleado get Sueldo Pict 99999 range 120000,500000 read Tsueldo=Tsueldo+sueldo Contador=Contador+1 Enddo Sueldop=Tsueldo / 20 Clear @ 10,20 say El total de los sueldos es: @ 10,40 say Tsueldo pict 9999999 @ 12,20 say El sueldo promedio es: @ 12,40 say Sueldop pict 9999999 En el ejemplo anterior por medio del Do while se ha desarrollado un proceso que permite pedir el sueldo de 20 empleados y posteriormente hallar el total de los sueldos (por medio de un acumulador), mientras que la variable contador controla la cantidad de empleados ledos. Al tener el total de los sueldos, se puede obtener tambin el sueldo promedio al dividir el acumulador entre el nmero de empleados que es de 20.