Manual Visual FoxPro


Pantalla principal de Visual FoxPro: 




Programación:



En Visual FoxPro funcionan juntas la programación por procedimientos y la programación orientada a objetos para permitirle crear aplicaciones potentes y flexibles. Conceptualmente, puede imaginarse que la programación consiste en escribir una secuencia de instrucciones con el fin de realizar tareas específicas. A nivel estructural, la programación de Visual FoxPro precisa la manipulación de los datos almacenados.

Usualmente se agrupa el código fuente en archivos de programa. Un archivo de programa esta compuesto de varias sentencias, que incluyen comandos, funciones y estructuras de control de flujo.
El compilador traduce el contenido de estos archivos de texto ASCII a código interpretado. En cuanto el compilador ha traducido el código fuente crea un archivo con extensión .FXP que es el que va a utilizar a partir de ese momento. Cada vez que el programador introduce algún cambio en el archivo .PRG el compilador compara la fecha de ambos archivos y crea una nueva versión compilada del programa.
Haciendo el código legible:
  • Espacios en blanco: Significan áreas vacías dentro del código de programa, también espacios, tabulaciones o líneas vacías.
  • Sangrado: Sangrar es la mejor manera de optimizar el código. Es una práctica común sangrar dentro de comandos pares anidados, por ejemplo:
                  DO… ENDDO
                  IF… ENDIF
                  SCAN..ENDSCAN
                  DOCASE...ENDCASE
                  WITH…ENDWITH
  • Mayúsculas y minúsculas: Muchos programadores utilizan mayúsculas y minúsculas para distinguir entre los elementos del programa; mayúsculas para los comandos y minúsculas para las variables.
  • Comentarios: Los comentarios pueden existir en una línea precedidos por un asterisco y después de una línea de código, si están separados de && consecutivos.
  • Continuar líneas largas de código: Puede continuar líneas largas de código en la siguiente línea insertando un ";" al final de la línea.


Una de las técnicas más útiles en la programación son los encabezados de programa, por ejemplo:
* Nombre del programa : nombre
* Autor : Juan Diego López
* Propósito : Dibujar cuadros en la pantalla
* Fecha : 12/12/2001


Comandos de Asignación
Para crear variables de memoria y darles valores al mismo tiempo, escriba lo siguiente:
  X=3
 STORE "lunes" TO día
Para solamente crearlas:
 PUBLIC a, b, c
 PRIVATE x, y, z
 LOCAL nombre, trabaja
 DIMENSION nombres(3)


Declaración de Variables
Las variables temporales se pueden declarar utilizando los comandos anteriores, únicamente, hay que tomar en cuenta la forma en que se van a declarar o escribir, como ejemplo: Nom_Empleado; NomEmpleado, si son variables de memoria se le puede anteponer una ‘m ó x’ de la forma siguiente, mNom_Empleado; xNom_Empleado, también se pueden declarar variables haciendo saber el tipo de datos que maneja por ejemplo: cNom_Empleado, nSueldo_Empleado; dFecha_Ingreso, etc.


Operadores
Los operadores + y – son, por supuesto, usados para añadir y substraer números, pero también se pueden usar en campos de caracteres. El operador más eslabona dos expresiones de caracteres, campos o variables de memoria, de forma que Fred + Smith; producirá: FredSmith. El operador menos quita espacio rezagado.


OPERADORES CÍCLICOS Y RAMIFICADORES
Las operaciones cíclicas y de ramificación son los mecanismos para crear la lógica de un programa, ejemplo:
  FOR I=1 TO 10
  ? I && Imprime los números del 1 al 10
ENDFOR
SELECT clientes
  SCAN
  ? Clientes.nombre&&Lee un archivo desde el inicio hasta el final
ENDSCAN
SELECT clientes
  GO TOP
  DO WHILE NOT EOF()
? Clientes.nombre&& Lee un archivo desde el inicio hasta el final
SKIP
ENNDO
Puede salir de estas construcciones cíclicas en cualquier momento mediante el comando: EXIT.
La ramificación en VF es controlada con la construcción IF.. ENDIF, por ejemplo:
IF I >10
? [El contador excedió 10]
ENDIF
Los contadores se utilizan a menudo para salir de operaciones cíclicas:

L=1                                                         
DO WHILE L=LEN(nombrelista)
IF [CRUZ]$ nombrelista(L)
SEEK nombrelista(L)
IF nombre= [John]
DO prgnombre
LOOP
ENDIF
ENDIF
ENDDO

No hay comentarios:

Publicar un comentario