Вы находитесь на странице: 1из 8

Introducción a la programación con Visual FoxPro

FoxPro es un lenguaje de programación orientado a objetos, que a la vez es un Sistema


Gestor de Bases de datos. El lenguaje de FoxPro es muy fácil de entender, es similar al
lenguaje Basic, pero contiene poderosos comandos para usar bases de datos.

Pantalla Principal

Al inicial Visual FoxPro presenta las siguientes partes:

1. Barra de título
2. Barra de menús
3. Barra de Herramientas
4. Pantalla (Screen)
5. Ventana de comando

Ventana de comando

La ventana de comando es una gran utilidad porque nos permite probar los comandos (u
órdenes) que se van a dar al Visual FoxPro, sin necesidad de tener un programa
guardado.

Mediante el símbolo ? podemos mostrar en el Screen un número, un texto, el resultado de


una operación, el contenido de una variable, etc. Por ejemplo escriba en la ventana de
comandos y oprima enter para que en la pantalla aparezca cada resultado:
? 5+8
? “Buenos días”
? 4^2

Para limpiar la pantalla digite el comando CLEAR.


Variables

Una variable corresponde a un área de la memoria del computador que puede almacenar
un dato cuyo valor puede cambiar durante un programa. Para crear una variable en Visual
FoxPro podemos simplemente escribir el nombre que le vamos a dar a la variable, el
símbolo igual y por último un valor u operación.

Escriba lo siguiente en la ventana de comandos:


cNombre = “Jimena”
nEdad = 12
dFechaNac = {^1995-05-19}

Observe que en la pantalla no aparece nada. Con las anteriores líneas se crearon dos
variables cNombre y nEdad, para ver en la pantalla el contenido de las variables digite:
? cNombre
? nEdad
? dFechaNac

La letra que se antepuso a los nombres de las variables anteriores no es obligatoria, pero
nos sirve para distinguir el tipo de dato o contenido de la variable. cNombre es de tipo
carácter, nEdad es de tipo numérica y dFechaNac es de tipo fecha (date). Observe que
las fechas Visual FoxPro las muestra en formato mm/dd/aa (mes/día/año) en forma
predeterminada, utilice el comando SET DATE DMY para que se muestren en formato
dd/mm/aa (día/mes/año).

Principales Tipos de datos

- Carácter: puede almacenar letras, números, símbolos y espacios. Cuando se


asigna el contenido a estas variables se tiene que encerrar entre comillas “”.
- Numérico: almacena números que se pueden usar en operaciones matemáticas, al
asignar no se debe encerrar entre comillas
- Fecha: almacena fechas válidas para el programa, la forma más segura de asignar
es encerrando la fecha entre corchetes y usando el formato ^aaaa-mm-dd
- Fecha y hora: almacena fechas y horas válidas para el programa. Se asigna de
manera similar a la anterior {^aaaa-mm-dd HH:mm:ss}. Por ejemplo:
hora = {^2009-05-19 15:30}
- Lógico: puede almacenar solo dos valores .T. ó .F. (verdadero ó falso)
Preguntar variables

Para obtener el valor de una variable desde la pantalla podemos utilizar los comandos
ACCEPT para variables de tipo carácter e INPUT para variables de tipo numérico o fecha.
Luego del comando se coloca un mensaje y luego de TO el nombre de la variable:
ACCEPT “ Escriba su nombre “ TO cNombre
INPUT “ Escriba su edad “ TO nEdad

Operadores Aritméticos

Se usan para operar con valores de tipo numérico


- Suma + Ej: ? 8 + nEdad
- Resta – Ej: ? nEdad - 4
- Multiplicación * Ej: ? nEdad * 3
- División / Ej: ? nEdad / 2
- Potencia ^ Ej: ?5^2

Operador de caracter

Se usa para operar con valores de tipo carater.


- Concatenar + Ej: ? “Hola “ + cNombre + “, como se encuentra”
La función STR convierte valor de tipo numérico en un valor tipo carácter, para poderlos
concatenar. Esta función deja varios espacios en blanco antes del número, así que es
conveniente utilizar la función ALLTRIM, que quita los espacios antes y después:
? “Hola “ + cNombre + “ su edad es “ + ALLTRIM(STR(nEdad)) + “ años”

Operadores de comparación

Se puede usar con diferentes valores, y se obtiene valores de tipo lógico .T. ó .F.
- Igual a = Ej: ?8=7
- Diferente de <> Ej: ? 8 <> 7
- Mayor que > Ej: ?8>7
- Menor que < Ej: ?8<7
- Mayor o igual >= Ej: ? 8 >= nEdad
- Menor o igual <= Ej: ? 8 <= nEdad

Operadores lógicos

- AND, corresponde a la Y lógica


- OR, corresponde a la O lógica
- NOT, es la negación de una expresión lógica
Programas

Hasta ahora se ha utilizado la línea de comando para obtener los resultados. Pero si se
cierra FoxPro es probable que no se pueda recuperar los comandos utilizados. Para que
estos comandos se guarden y se puedan utilizar se pueden almacenar como programas.
Al ejecutar un programa FoxPro ejecutará cada una de los comandos almacenados en el
orden en que se escribieron.

Para almacenar organizadamente los programas que se crearán a continuación, cree en


el disco duro (C:) una carpeta con su nombre. Vamos a suponer que a esta carpeta se le
colocó el nombre Icam.

Vamos a utilizar en la ventana de comandos MODIFY COMMAND para crear un


programa. Si colocamos un nombre que ya existe se abrirá para modificarlo. Escriba:

MODIFY COMMAND “c:\icam\prueba”

Aparecerá una ventana con el nombre prueba.prg. Allí podemos escribir el programa.

Escriba el siguiente programa:

CLEAR
ACCEPT “ Escriba su nombre “ TO cNombre
INPUT “ Escriba su edad “ TO nEdad
? “Hola “ + cNombre + “ su edad es “ + ALLTRIM(STR(nEdad)) + “ años”

Guarde el programa y ejecútelo para ver como funciona.

Ejercicio 01
- Crear un programa con el nombre ejercicio01a, que pregunte el nombre, edad y fecha
de nacimiento de dos personas y luego que muestre esta información.
- Crear un programa con el nombre ejercicio01b, que pregunte el alto y la base de un
triángulo y como resultado muestre su área (área del triángulo = (alto * base) / 2)
Estructuras de control

Hasta este momento los programas realizados tienen un flujo secuencial, o sea que se
ejecutan los comandos en el orden que se escribieron, uno a continuación del otro.
Las estructuras de control son construcciones que permiten modificar el flujo de ejecución
de los comandos en un programa.

Estructuras condicionales

Ejecutan comandos de acuerdo a si se cumple o no ciertas condiciones. Para las


condiciones, además de poder usar los operadores de comparación y los operadores
lógicos, podemos utilizar funciones como IN, BETWEEN, LIKE, etc.

La función BETWEEN (Entre) se usa para indicar un rango de valores. Por ejemplo para
evaluar si una edad está entre 10 y 20 años escribimos:
BETWEEN(nEdad, 10, 20)
que es equivalente a escribir
nEdad >= 10 AND nEdad <= 20

1. Si condicional (IF)

Evalúa una condición y si se cumple ejecuta los comandos

IF condición THEN
Comandos cuando la condición es V
ENDIF

Se puede complementar con ELSE para indicar los comandos que se deben
realizar cuando la condición no se cumpla

IF condición THEN
Comandos cuando la condición es V
ELSE
Comandos cuando la condición es F
ENDIF

Ejemplo:

CLEAR

ACCEPT " Escriba su nombre " TO nombre


INPUT " Escriba su edad " TO edad

?"Hola " + nombre + " usted tiene " + ALLTRIM(STR(edad)) + " años"

IF edad >= 18 THEN


? "Es mayor de edad"
ELSE
? "Es menor de edad"
ENDIF
Ejercicio 02
- Crear un programa que pregunte dos números y que muestre cual es el mayor de los
dos.
- Crear un programa que pregunte el nombre y la edad de dos personas y como
respuesta nos informe cual es la de mayor edad.

2. Varias condiciones o casos (CASE)

DO CASE
CASE condición1
Comandos cuando la condición1 es V
CASE condición2
Comandos cuando la condición2 es V
….
OTHERWISE
Comandos cuando ninguna condición es V
ENDCASE

Ejemplo:

CLEAR

ACCEPT " Escriba su nombre " TO nombre


INPUT " Escriba su edad " TO edad

?"Hola " + nombre + " usted tiene " + ALLTRIM(STR(edad)) + " años"

DO CASE
CASE edad < 0
? "Edad incorrecta"
CASE BETWEEN(edad, 0, 5)
? "Eres un pollito"
CASE BETWEEN(edad, 6, 15)
? "Estas joven todavia"
CASE BETWEEN(edad, 16, 25)
? "En proceso de maduración"
CASE BETWEEN(edad, 26, 40)
? "En la edad perfecta"
CASE BETWEEN(edad, 41, 50)
? "Ya se está pasando"
OTHERWISE
? "Está capando tumba"
ENDCASE

Ejercicio 03
- Crear un programa que pregunte el valor de la compra e indique el valor del descuento
y el valor a pagar, teniendo en cuenta que se aplica
5% de descuento a compras entre $5.000 a $20.000
10% de descuento a compras entre $20.000 y $50.000
15% a compras superiores a $50.000
Para compras menores a $5.000 no hay descuento.
Estructuras ciclicas

Permiten realizar comandos repetidas veces. En FoxPro podemos crear ciclos que se
repiten un número determinado de veces con la estructura FOR, y ciclos que se repiten
hasta que una condición deja de cumplirse con la estructura WHILE.

1. Ciclo FOR

Repite comandos un número determinado de veces

FOR variable = valor inicial TO valor final STEP valor cambio


Comandos que se repiten
ENDFOR

El valor de la variable cambia desde el valor inicial hasta el valor final, sumando el
valor de cambio. Si se omite el valor de cambio FoxPro asume que es 1. Para cada
cambio se repiten los comandos en la estructura.

Ejemplos:

Para mostrar los números desde 0 hasta 20


CLEAR
FOR i = 0 TO 20
? i
ENDFOR

Para mostrar los números desde 0 hasta 20 de dos en dos


CLEAR
FOR i = 0 TO 20 STEP 2
? i
ENDFOR

Para mostrar los números desde 20 hasta 0


CLEAR
FOR i = 20 TO 0 STEP -1
? i
ENDFOR

Para mostrar la tabla del 12 entre 0 y 20


CLEAR
FOR num = 0 TO 20
? str(num) + " x 12 = " + str(num * 12)
ENDFOR

Ejercicio 04
- Crear un programa que muestre los números desde 100 hasta 0 restando 10.
- Crear un programa que pregunte un número y muestre la tabla entre 0 y 20 de este
número.
2. Ciclo WHILE

DO WHILE condición
Comandos que se repiten
ENDDO

Este ciclo repite los comandos mientras la condición sea .T. (verdadera). Hay que
ser cuidadosos de que se modifique la condición en el ciclo y en algún momento de
.F. porque sino al ejecutar el programa quedará encerrado en un ciclo sin fin. En
caso de ocurrir esto se debe detener la ejecución oprimiendo la tecla ESC.

Ejemplos:

Para mostrar los números de1 0 al 20


CLEAR
i = 0
DO WHILE i <= 20
? i
i = i + 1
ENDDO

Para mostrar la tabla del 12 entre 0 y 20


CLEAR
num = 0
DO WHILE num <= 20
? str(num) + " x 12 = " + str(num * 12)
num = num + 1
ENDDO

Ejercicio 05
- Usando la estructura WHILE, cree programas similares a los del ejercicio 04.

Вам также может понравиться