2. INTRODUCCIÓN AL
VISUAL FOX PRO
Saludos, bienvenido(a) a este nuevo e
interesante tema de programación basado
en Visual FoxPro, una herramienta
novedosa y muy potente. En este nivel
seguramente estarás interesado en
involucrarte de una manera mucho más
intensa en el mundo de la programación y
en el desarrollo de aplicaciones o
soluciones que permitan manejar
eficientemente la información, cualquiera
sea el entorno donde puedas involucrarte.
El mundo tecnológico avanza a una alta
velocidad, por lo tanto es muy importante
estar lo más actualizado posible, en este
aspecto estarás trabajando sobre un
lenguaje de programación muy actual y de
moda, se considera uno de los lenguajes
denominado de alto nivel, ya que ofrece
grandes facilidades para el desarrollo de
aplicaciones a través de asistentes que
generan códigos o instrucciones que de
otra manera serían de mayor complejidad
para su generación.
3. PROGRAMACIÓNVISUAL FOX PRO
IDEAS, LÓGICA, CREATIVIDAD Y
ENTUSIASMO
El desarrollo de un programa requiere
además de paciencia, mucha
creatividad, escuchar con atención
las ideas de los futuros usuarios,
organizar y enfrentar con optimismo y
entusiasmo las diferentes tareas que
te encontrarás a lo largo del
desarrollo.
4. DEFINICIONES PREVIAS
Ventajas de Visual FoxPro: Eventos :
Visual FoxPro es una aplicación que permite gestionar y Es cualquier suceso que implique un llamado a un objeto.
manipular información organizada en una base de datos.
Métodos :
Puede elaborar consultas, informes, pantallas, menús y
proyectos sobre una o varias tablas. Son Procedimientos o programas vinculados a los
objetos y solicitados por los eventos asociados a los
Desarrolla aplicaciones en un ambiente orientado a Objetos.
objetos con características cliente/servidor.
Características de la Programación orientada a objetos:
Que es un Lenguaje Visual:
- La programación orientada a objetos es un
Es una potente herramienta orientada a objetos para la entorno de desarrollo de sistemas.
creación y administración de bases de datos y para el
desarrollo de aplicaciones profesionales. Ofrece todo lo - Puede llevar a un desarrollo más rápido y eficaz y
necesario para organizar la información en tablas, realizar a prototipos más precisos.
consultas, crear bases de datos relacionales, programar - Desarrollo más rápido y menor probabilidad de
aplicaciones, informes, y tros. que se produzcan errores.
Programación Orientada a Objetos - Facilidad de modificar objetos.
La programación orientada a objetos es un entorno de - Objetos reutilizables: Una vez que se ha desarrollado y
desarrollo de sistemas. Ayuda el diseñador a reducir , depurado una clase, ésta puede añadirse a otras
reutilizar y reciclar código y objetos. Por eso la aplicaciones sin necesidad de modificarla más.
programación orientada a objetos puede llevar a un
desarrollo más rápido y eficaz y a prototipos más precisos. - Se pueden combinar objetos para crear objetos
nuevos y dinámicos.
Clases :
Se denomina clase a la estructura de definición de un
objeto. La cual tiene propiedades , métodos y eventos.
Objetos :
Un Objeto es simplemente una clase basada en si
misma o una colección de clases que realizan una función
específica. Todos los objetos son creados a partir de una
clase. Los Objetos tienen los siguientes elementos :
Propiedades :
Son los Atributos que forman parte de un Objeto .
Ejemplo : Color , Tamaño , Nombre , etc.
5. PROGRAMACIÓN
Entre los pasos básicos de la programación A continuación se enumeran algunos aspectos que
deberás tener presentes al empezar a
cabe citar los siguientes: programar:
• Definir el problema. • Define claramente el problema antes de
intentar resolverlo. Si no lo haces, acabarás
• Desglosar el problema en elementos por realizar numerosos cambios, desecharás
discretos o manejables. códigos, tendrás que empezar de nuevo o bien
terminarás con un resultado que no es
• Construir los elementos. realmente lo que deseabas.
• Comprobar y perfeccionar los • Desglosa el problema en pasos manejables,
elementos. en lugar de intentar resolver todo el problema
de una sola vez.
• Ensamblar los elementos. • Prueba y depura secciones de código a
medida que desarrollas el programa.
• Comprobar el programa en su Comprueba que el código hace lo que quieres
conjunto. que haga. La depuración es el proceso de
encontrar y solucionar problemas que impiden
que el código se ejecute correctamente.
• Perfecciona los datos y el almacenamiento de
datos para facilitar la manipulación de estos
datos a través del código del programa. Esto
suele implicar estructurar las tablas de forma
adecuada.
6. TIPOS DE DATOS Y CAMPOS
Todos los datos de Visual Para agregar un campo de un tipo
FoxPro tienen un tipo, como específico a una tabla mediante
una descripción de los valores programación, coloca el tipo de campo
permitidos, y el intervalo y
tamaño de los valores. Cuando con una letra.
hayas especificado el tipo de Puedes especificar el tipo de datos
datos que estás usando, Visual que se almacena en cada campo de
FoxPro puede almacenar y
manipular los datos de forma una tabla cuando creas la tabla. El tipo
eficaz. de datos de una variable o un
Las variables y las matrices elemento de matriz está determinado
contienen un subconjunto de por el valor almacenado en la variable
los tipos de datos disponibles o elemento de matriz. La tabla
de Visual FoxPro. Los tipos de
datos adicionales sólo están siguiente muestra los tipos de datos
disponibles para campos de la de Visual FoxPro.
tabla.
7. TIPOS DE DATOS Y CAMPOS
Tipo de datos Descripción Tamaño Intervalo
Character Cualquier texto 1 byte por carácter hasta Cualquier carácter
254
Currency Cantidades monetarias 8 bytes -922337203685477,5807 a 922337203685477,5807
Date Datos cronológicos formados por mes, año y día 8 bytes Al usar formatos de fecha estrictos, {^0001-01-01}, 1
de enero, 1 d.C. a {^9999-12-31}, 31 de diciembre,
9999 d.C.
DateTime Datos cronológicos formados por mes, año, día y hora 8 bytes Al usar formatos de fecha estrictos, {^0001-01-01}, 1
de enero, 1 d.C. a {^9999-12-31}, 31 de diciembre,
9999 d.C., más 00:00:00 a.m. a 11:59:59 p.m.
Logical Valor booleano verdadero o falso 1 byte Verdadero (.T.) o Falso (.F.)
Numeric Enteros o fracciones 8 bytes en la memoria;1 a
20 bytes en una tabla -.9999999999E+19 a 999999999E+20
Variant Una variable de tipo Variant puedes contener cualquier tipo de datos de Definido por el
Visual FoxPro y el valor Null. Una vez que se almacena un valor en una programador. Definido por el programador.
variable del tipo Variant, ésta asume el tipo de los datos que contiene.
Las variables tipo Variant se designan con el prefijo e en la sintaxis del
lenguaje.
8. DATOS Y CAMPOS
DATOS Y CAMPOS
Los datos y los campos son tan esenciales
en las aplicaciones, como en una biblioteca
es esencial la clasificación de los libros, por
autor, título, editorial y fecha.
Además, Visual FoxPro proporciona tipos de datos que se aplican únicamente a campos de tablas.
Tipos de campos de Visual FoxPro
Tipo de campo Descripción Tamaño Intervalo
Double Número de signo flotante de 8 bytes +/-4,94065645841247E-324 a
precisión doble +/-8,9884656743115E307
Float Igual que Numeric 8 bytes en memoria;1 a 20 bytes - .9999999999E+19 a
en una tabla .9999999999E+20
General Referencia a un objeto OLE 4 bytes en una tabla Limitado por la memoria
disponible
Integer Valores enteros 4 bytes -2147483647 a 2147483647
Memo Referencia a un bloque de datos 4 bytes en una tabla Limitado por la memoria
disponible
Character Datos de tipo Character que 1 byte por carácter hasta 254 Cualquier carácter
(Binario) quiere mantener sin modificación
en páginas de códigos
Memo Datos de campo Memo que 4 bytes en una tabla Limitado por la memoria
(Binario) quiere mantener sin modificación disponible
en páginas de códigos
9. OPERADORES PARA EL TIPO NUMÉRICO
La siguiente tabla muestra los operadores para el tipo Numeric en orden de preferencia.
Operador Acción Ejemplo de Código
() Agrupación de valores (4-3) * (12/nVar2)
**, ^ Exponenciación, potencia ? 3 ** 2
?3^2
*, / Multiplicación y división ?2*7
? 14 / 7
% Módulo (resto) ? 15 % 4
+, - Suma y resta ? 4 + 15
Operadores para caracteres
La siguiente tabla muestra los operadores de expresión de caracteres en orden de preferencia.
Operador Acción Ejemplo de Código
+ Concatenación. Combina dos ? „Buenos „ + „días‟
cadenas, una cadena y un campo, o
una cadena y una variable.
- Concatenación. Quita los espacios ? customer.first - customer.last
finales del elemento anterior al
operador y luego combina dos
elementos.
$ Comparación. Busca una expresión ? „padre‟ $ „padres‟
de caracteres dentro de otra. ? „Principal‟ $ customer.address
10. Operadores para el tipo Logical
Estos operadores devuelven un valor lógico. La siguiente tabla muestra los operadores para el tipo
Logical en orden de preferencia.
Operador Acción Ejemplo de Código
() Grupos de expresiones cVar AND (cVar2 AND cVAR3)
NOT, ! Lógico negativo IF NOT cVarA = cVarB
IF ! nVar1 = nVar2
AND AND lógico lVar0 AND lVar9
OR OR lógico inclusivo lVarX OR lVarY
Operadores relacionales
Los operadores relacionales funcionan con todos los tipos de datos y devuelven un valor Lógico.
La siguiente tabla muestra los operadores relacionales.
Operador Acción Ejemplo de Código
< 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 >= nEdad
== Comparación de cadenas de caracteres ? status == “Abrir”
11. Revisa con frecuencia las actividades
APLICACIONES comunes que la aplicación debe facilitar
a los usuarios, ya que debes pensar en
el rendimiento de tu aplicación al
manejar gran cantidad de datos. Una
aplicación se diseña con la idea de
facilitar las tareas o actividades de los
usuarios en el manejo de la información.
Una aplicación de Visual FoxPro El proceso de crear aplicaciones es
normalmente está estructurada por repetitivo, probablemente definirás
una base de datos, un programa prototipos y refinarás algunos
principal que configura todo el componentes varias veces hasta obtener
sistema, una interfaz de usuario el producto final; las expectativas de los
compuesta por formularios, barras de usuarios también pueden cambiar o
herramientas y menús, las consultas pueden generarse a lo largo de la
y los informes o reportes que genera creación requerimientos novedosos que
el sistema. harán interminable tu aplicación si no
defines correctamente el alcance de la
Diseño de la aplicación misma. Además ya adquiriste un gran
Es necesario antes de comenzar a compromiso con el proceso de
involucrarse con FoxPro, realizar un depuración, pruebas y rediseño.
diseño apropiado de la aplicación.
Para el éxito de este diseño es vital
incorporar a los usuarios, recabando
completamente la información
requerida. Es preferible pensar desde
el inicio que tu aplicación será usada
por múltiples usuarios y que deberá
soportar una importante cantidad de
datos.
12. ADMINISTRADOR DE PROYECTOS
Un proyecto es un conjunto de formularios, menús, informes, vistas, base de datos que forman
parte del sistema que estás desarrollando, este conjunto de objetos se guardan como un archivo
con extensión “pjx”
La siguiente figura muestra la ventana principal o entorno de desarrollo de Visual FoxPro:
13. Administrador de Proyectos
La ventana de comandos sirve para manipular comandos de forma interactiva, para efectuar tareas de
revisión o mantenimiento, representa una gran ventaja ya que permite hacer más fluida las tareas de
revisión o mantenimiento. Si no se encuentra visible se puede activar con las teclas “Control + F2”.
Como la ventana Comandos es una ventana de edición, puedes modificar comandos con las
herramientas disponibles en Visual FoxPro. Puedes modificar, insertar, eliminar, cortar, copiar o pegar
texto en la ventana Comandos.
La ventaja de escribir código en la ventana Comandos radica en el hecho de que las instrucciones se
ejecutan de inmediato. No es necesario guardar un archivo y ejecutarlo como un programa.
Además, las opciones que eliges en los menús y los cuadros de diálogo aparecen en la ventana
Comandos como comandos. Puedes copiar y pegar estos comandos en un programa de Visual FoxPro
y a continuación ejecutar el programa repetidamente, lo cual facilita la ejecución de miles de comandos,
una y otra vez
14. Administrador de Proyectos
La siguiente figura muestra el administrador de proyectos:
El Administrador de proyectos permite compilar la aplicación completa. En la fase de
programación de la aplicación, el Administrador de proyectos facilita el diseño, la
modificación y la ejecución de los componentes individuales de su aplicación.
Con el Administrador de proyectos, podrás:
• Modificar y ejecutar partes de tu aplicación (formularios, menús, programas) con tan sólo
algunos clics.
• Arrastrar clases, tablas y campos desde el Administrador de proyectos hasta el Diseñador
de formularios o el Diseñador de clases.
• Arrastrar clases entre bibliotecas de clases.
• Ver y modificar fácilmente sus tablas y bases de datos.
• Agregar descripciones para los componentes de la aplicación.
• Arrastrar y colocar elementos entre proyectos.
15. BASE DE DATOS
Conjunto o contenedores de tablas que guardan gran cantidad
de información de una manera ordenada. Su acceso y
consulta se realiza de una forma rápida y práctica.
Crear una base de datos con el Asistente para bases de datos
1. En el Administrador de proyectos, selecciona la opción Datos y, a continuación, selecciona
Bases de datos.
2. Selecciona Nuevo.
3. Selecciona el botón Asistente para bases de datos.
4. Sigue las instrucciones que aparecen en la pantalla del asistente.
También puedes tener acceso al asistente para bases de datos desde el menú si eliges Nuevo en el
menú Archivo, selecciona Base de datos y, a continuación, selecciona la opción Asistente para bases
de datos.
El asistente proporciona plantillas para tablas y vistas, índices, claves principales y relaciones que
puedes elegir o modificar.
16. Crear una nueva base de datos
1. En el Administrador de proyectos, selecciona Bases de datos.
2. Selecciona Nuevo.
Luego deberás colocar un nombre a la base de datos cuando aparezca
la siguiente ventana.
17. PROGRAMACIÓN
EN VISUAL FOXPRO
Crear programas Administrador de proyectos, el programa se agregará al
proyecto.
Un programa de Visual FoxPro es un archivo de texto
que contiene una serie de comandos. Los comandos Si intentas guardar un programa al que todavía no has
se pueden utilizar en un programa o en la ventana de asignado un nombre, se abrirá el cuadro de diálogo
comandos. Puedes crear un programa en Visual Guardar como, en el que podrás especificar el
FoxPro de la siguiente manera: nombre del programa.
• En el Administrador de proyectos, selecciona Programas Después de guardar el programa, podrás ejecutarlo o
en la opción Código. modificarlo. En primer lugar, abre el programa de la
siguiente manera:
• Selecciona Nuevo.
Si el programa forma parte de un proyecto, selecciónalo
O también en el Administrador de proyectos y señala
Modificar.
• En el menú Archivo, selecciona Nuevo.
O bien
• En el cuadro de diálogo Nuevo, selecciona Programa.
En el menú Archivo, selecciona Abrir. Aparecerá un
• Selecciona Nuevo archivo. cuadro de diálogo que muestra una lista de los
Otra forma podría ser archivos disponibles. En la lista Archivos de tipo,
selecciona Programa. En la lista de archivos, indica
• En la ventana Comandos, Escribe: MODIFY COMMAND. el programa que deseas modificar y selecciona
Visual FoxPro abrirá una nueva ventana denominada Abrir.
Programa1. Podrás entonces escribir tu programa en También lo puedes hacer
esta ventana.
En la ventana Comandos, Escribe el nombre del
Una vez creado un programa, asegúrate de guardarlo de la programa que deseas modificar:
siguiente manera:
MODIFY COMMAND miprograma
• En el menú Archivo, selecciona Guardar.
O bien
Si intentas cerrar un programa sin antes guardarlo,
aparecerá un cuadro de diálogo que te preguntará si En la ventana Comandos, Escribe:
deseas guardar o descartar los cambios realizados en MODIFY COMMAND ?
el mismo.
Cuando aparezca la lista de archivos, selecciona el
Si guardas un programa creado a partir del programa que deseas modificar y a continuación
selecciona Abrir.
18. PROGRAMACIÓN
Después de abrir el programa, podrás realizar cambios Puedes imprimir caracteres en mayúsculas, pero no
en el mismo. Cuando hayas terminado de introducir los puedes imprimir números en mayúsculas.
cambios, asegúrate de guardar el programa.
Los contenedores de datos te permiten realizar las
Luego de crear un programa, podrás ejecutarlo. mismas operaciones con varios datos. Por ejemplo,
Si el programa forma parte de un proyecto, Selecciónalo sumar las horas que ha trabajado un empleado,
en el Administrador de proyectos y señala Ejecutar. multiplicarlas por el salario por hora y restar los
impuestos para determinar el sueldo que ha percibido
O bien, en el menú Programa, selecciona Ejecutar. el empleado. Deberás realizar estas operaciones
Cuando aparezca la lista de programas, selecciona el
para cada empleado y para cada período de pago. Si
programa que desea ejecutar y a continuación
almacenas esta información en contenedores y
selecciona Ejecutar.
realizas las operaciones sobre éstos, bastará con
También en la ventana Comandos, Escribe DO y el sustituir los datos antiguos por los nuevos datos y
nombre del programa que desea ejecutar. volver a ejecutar el mismo programa. Los
Conceptos básicos de programación contenedores que maneja Visual FoxPro son los
registros, matrices y variables.
Cuando programamos, se almacenan y manipulan datos
mediante una serie de instrucciones. Los datos y los Los operadores se utilizan para vincular los datos,
contenedores en los que se almacenan los datos clasificados en numéricos, lógicos, de carácter y
constituyen la materia prima de la programación. Las relacionales.
herramientas utilizadas para manipular esta materia
Comandos de Visual FoxPro
prima son comandos, funciones y operadores.
Un comando hace que se realice una determinada
Los datos con los que trabajas probablemente incluyen
acción. Cada comando dispone de una sintaxis
períodos de tiempo, dinero y elementos contables, así
como fechas, nombres, descripciones. Cada dato específica que indica lo que debes incluir con el fin
corresponde a un determinado tipo, es decir, pertenece que se ejecute correctamente el comando. Hay
a una categoría de datos que se manipula de manera también cláusulas opcionales asociadas a los
similar. Visual FoxPro aporta numerosos contenedores comandos que permiten especificar de forma más
de almacenamiento con el fin de ampliar su capacidad detallada la acción que se deseas realizar.
para manipular fácilmente los datos. Por ejemplo, el comando USE permite abrir y cerrar
Los tipos de datos determinan la manera en que se tablas:
almacenan los datos y la forma en que se pueden utilizar
tales datos. Por ejemplo puedes multiplicar dos
números, pero no puedes multiplicar caracteres.
19. Sintaxis de USE Descripción
USE Cierra la tabla que aparece en el área de trabajo actual.
(sin indicar un nombre de tabla)
USE Clientes Abre la tabla Clientes en el área de trabajo actual y cierra cualquier
tabla que ya esté abierta en el área de trabajo.
USE Clientes IN 0 Abre la tabla Clientes en la siguiente área de trabajo disponible.
USE Clientes IN 0 ; Abre la tabla Clientes en la siguiente área de trabajo disponible y
ALIAS miCliente asigna al área de trabajo el alias miCliente.
A continuación se muestran algunos comandos utilizados
Comando Descripción
DELETE Selecciona registros especificados de una tabla para su eliminación.
REPLACE Sustituye el valor almacenado en el campo del registro por un nuevo valor.
GO Coloca el apuntador de registro en una posición específica de la tabla, ejemplo:
GO 20
GO TOP Ir al primer registro de la tabla.
GO BOTTOM Ir al último registro de la tabla.
SET DEFAULT TO Ruta Cambiar de directorio de trabajo, ejemplo:
SET DEFAULT TO C: SistemasClientes
CLEAR Limpiar la pantalla
DIR Mostrar los archivos del directorio, ejemplo:
DIR C: SistemasClientes
SET DATE TO Cambiar el formato de fecha.
QUIT Salir de Visual FoxPro
CANCEL Cancelar la ejecución de un programa
OPEN DATABASE Abrir base de datos, ejemplo OPEN DATABASE Ventas
CLOSE DATABASE Cerrar base de datos
CLOSE TABLES Cerrar todas las tablas
APPEND BLANK Agregar un registro en blanco
DELETE Eliminar registros, ejemplo:
DELETE ALL, borrar todos.
RECALL Recuperar registros marcados como borrados, ejemplo:
RECALL ALL, recuperar todos.
PACK Eliminar registros marcados como borrados.
ZAP Eliminar todos los registros sin poder recuperarlos.
SKIP Brincar o saltar registros.
SELECT Cambiar de área de trabajo, ejemplo:
SELECT Clientes
SELECT Abrir una o varias tablas, ejemplo:
USE SELECT A
USE Clientes
SELECT B
USE Ventas
SET ORDER TO Establecer el índice de trabajo.
20. INSTRUCCIONES DE CONTROL
Bucles Utiliza FOR cuando sepas cuántas veces
Un bucle te permite ejecutar una o más debes ejecutar la sección de código.
líneas de código tantas veces como sea Ejemplo:
necesario. En Visual FoxPro hay tres FOR Contador = 1 TO 10
comandos que permiten realizar bucles:
Instrucciones a procesar
SCAN ... ENDSCAN
NEXT Contador
FOR ... ENDFOR
DO WHILE ... ENDDO ENDFOR
DO WHILE
SCAN
Utiliza SCAN cuando realizas una serie de Utiliza DO WHILE cuando desees ejecutar una
sección de código mientras cumpla una
acciones para cada uno de los registros de determinada condición. Tal vez no sepas
una tabla. El bucle SCAN permite escribir cuántas veces debe ejecutarse el código,
el código una vez y ejecutarlo para cada pero sí sabes cuándo debe detenerse la
registro a medida que el puntero de ejecución. Por ejemplo, supongamos que
registro se desplaza por la tabla. dispones de una tabla en la que figuran los
Ejemplo: nombres y las iniciales de una serie de
SCAN FOR UPPER(Ciudad) = „CARACAS‟ personas y deseas utilizar las iniciales para
consultar los nombres de las personas.
? Contacto, Compañía, Ciudad Surgiría un problema la primera vez que
ENDSCAN FOR intentes agregar una persona cuyas
iniciales fuesen las mismas que las de
otras
21. INSTRUCCIONES DE CONTROL
personas contenida en la tabla. WHILE hasta llegar al final del
Para resolver este problema, archivo (EOF). Se sale del bucle
podrías agregar un número a las DO WHILE y se muestra el total.
iniciales. Por ejemplo, el código DO WHILE .T. && Comienza el
de identificación de Miguel bucle.
Suárez podría ser MS. La
siguiente persona cuyas iniciales IF EOF( )
fuesen las mismas, Margarita EXIT
Sánchez, sería MS1. Si a ENDIF
continuación agregas María
Sanz a la tabla, su código de IF precio_unidad < 2000
identificación sería MS2. Un SKIP
bucle DO WHILE Te permite
localizar el número correcto que LOOP
debes adjuntar a las iniciales. ENDIF
En el ejemplo siguiente se StockTot = StockTot +
calcula el número total de en_existencias
productos en existencias cuyo SKIP
precio supera los 2000 Bolívares
en el bucle DO ENDDO && Termina el bucle.
22. ACTIVIDADES:
1. Crea una instrucción
de control de la
ventana de comandos,
donde sume un valor
hasta 5 veces.
23. DECISIONES / CONDICIONALES
Tenemos dos instrucciones
verdaderamente importantes al
momento de ejecutar una condición, la
instrucción IF y la instrucción DO CASE.
DECISIONES / CONDICIONALES
Recordando la célebre canción de
Rubén Blades, “Decisiones”, las
instrucciones condicionales sirven para
tomar “Decisiones” sobre una o varias
preguntas, y determinarán una acción
en el programa.
24. PROGRAMACIÓN
IF DO CASE
Ejecuta condicionalmente un Pregunta por varios posibles
conjunto de comandos valores para una variable o
dependiendo del resultado de campo, sustituye el uso continuo
una expresión lógica. de IF THEN.
Ejemplo: Ejemplo:
IF Edad < 18 THEN DO CASE
WAIT WINDOW “Alumno menor de CASE Edad<12
edad” WAIT WINDOW “Alumno menor de
ELSE edad”
WAIT WINDOW “Alumno mayor de CASE Edad>12 .and. Edad<18
edad” WAIT WINDOW “Alumno
ENDIF adolescente”
CASE Edad>18
WAIT WINDOW “Alumno adulto”
ENDCASE
25. ACTIVIDADES
1. Crea una instrucción
condicional en la ventana
de comandos, donde
compare dos valores e
indique el valor mayor.
2. A modo de lecturas
complementarias; lee
temas relacionados con
lógica de programación y
el uso de condiciones y
controles.
26. COMPILAR
ES SIMILAR A REUNIR O AGRUPAR TODAS LAS IDEAS DE UN GRUPO SOBRE UN TEMA Y
ESTABLECER UN CRITERIO ÚNICO DE TRABAJO PARA EL DESARROLLO DEL MISMO.
Una aplicación típica de base de Todos los componentes que has realizado de
datos consta de estructuras de alguna u otra manera están vinculados, por lo
datos, una interfaz de usuario, tanto tendrás que establecer un punto inicial
opciones de consulta y funciones para la aplicación con un archivo principal. El
de generación de informes. Una archivo principal sirve como punto de partida
aplicación ensamblada de Visual para la ejecución de tu aplicación y puede
FoxPro suele presentar al usuario constar de un programa o formulario. Cuando
los usuarios ejecuten la aplicación, Visual
un menú y uno o más formularios FoxPro inicia el archivo principal de la
para introducir o mostrar datos. aplicación que, a su vez, ejecuta todos los
Para ofrecer determinada demás componentes a medida que se vayan
funcionalidad, mantener la necesitando. Todas las aplicaciones deben
integridad y la seguridad de los tener un archivo principal. La mejor elección
datos se le agrega código a suele ser crear un programa principal en la
determinados eventos. Las aplicación. Sin embargo, puedes combinar las
consultas y los informes permiten funciones del programa principal y la interfaz
que los usuarios extraigan inicial de usuario si usas un formulario como
información de la base de datos. programa principal.
Si utilizas un Asistente para crear la aplicación,
puedes permitir que el asistente cree un
programa de archivo principal de forma
automática. No es necesario que especifiques
un archivo principal a menos que desees
cambiarlo una vez finalizadas las acciones del
asistente.
27. COMPILAR
Para establecer un archivo principal dentro de Siempre es conveniente guardar los
una aplicación, en el administrador de valores iniciales del entorno y configurar un
proyectos haz lo siguiente: entorno específico para la aplicación en un
1. Selecciona Todos. programa propio.
2. Selecciona Código.
3. Selecciona Programas.
4. Presiona el botón Nuevo.
5. Guarda el archivo con el nombre Principal.
6. Presiona el botón derecho del ratón sobre el
archivo y activa la opción “Establecer
Principal”.
Cuando hayas creado un archivo principal,
utilízalo para configurar el entorno de tu
aplicación. Puede que el entorno de
desarrollo predeterminado de Visual
FoxPro no sea el entorno más adecuado
para la aplicación. El entorno
predeterminado establece determinados
valores para los comandos SET y las
variables de sistema en el momento de
abrir Visual FoxPro.
28. COMPILAR
Puedes capturar los comandos del entorno actual y SET LOGERRORS ON
llevarlos a la ventana de comandos realizando lo
siguiente: SET KEYCOMP TO WINDOWS
• En el menú selecciona Herramientas SET CARRY OFF
• Selecciona Opciones SET CONFIRM OFF
• Presiona la tecla Mayúscula (Shift) y presiona Aceptar Es útil guardar los valores predeterminados en
• Luego podrás copiar y pegar la información a otro variables públicas, en una clase personalizada
programa. o como propiedades de un objeto Application
para que puedas restaurar estos valores al
Podrás ver los comandos SET de configuración, salir de la aplicación
algunos se activan o no colocándole al lado ON /
OFF, ejemplo: En un entorno específico de la aplicación o dentro
del archivo Principal, podrías incluir código
SET TALK ON para:
SET NOTIFY ON
• Inicializar variables.
SET CLOCK OFF
• Establecer una ruta predeterminada. Por ejemplo
SET COMPATIBLE OFF si los archivos que se van a utilizar se
SET PALETTE ON encuentran en el directorio
C:programastransmisióndatos, escribiremos
SET BELL ON el comando SET de la siguiente forma: SET
SET BELL TO „‟, 1 DEFAULT TO C:programastransmisióndatos.
SET SAFETY ON • Abrir las bases de datos, las tablas libres y los
SET ESCAPE ON índices necesarios. Si la aplicación requiere
acceso a datos remotos, también se puede
solicitar al usuario la información de inicio de
sesión necesaria en la rutina de inicialización.
29. COMPILAR
• Hacer referencia a archivos • Cuando el entorno esté
externos de biblioteca y configurado y se muestre la
procedimientos. interfaz de usuario inicial, podrás
• La interfaz inicial de usuario establecer un bucle de eventos
puede ser un menú, un para esperar la interacción del
formulario o cualquier otro usuario.
componente de usuario. • Para controlar el bucle de
Normalmente una aplicación eventos.
mostrará una pantalla de inicio • Ejecuta un comando READ
de sesión o un cuadro de diálogo EVENTS, que hace que Visual
de inicio antes de mostrar el FoxPro comience a procesar los
menú o formulario inicial. eventos de usuario, como los
• Para iniciar la interfaz de usuario clics del ratón y las pulsaciones
en el programa principal puedes de teclas.
usar un comando DO para
ejecutar un menú o un comando
DO FORM para ejecutar un
formulario.
30. COMPILAR
Es importante situar correctamente el
comando READ EVENTS en el archivo
principal, porque todo el proceso de
este archivo se suspende desde el
momento en que se ejecuta el comando
READ EVENTS hasta que se ejecuta un
comando CLEAR EVENTS. Por
ejemplo, podrías ejecutar un comando
READ EVENTS como el último
comando de un procedimiento de
inicialización, que se ejecutaría después
de inicializar el entorno y mostrar la
interfaz de usuario. Si no incluyes el
comando READ EVENTS, la aplicación
volverá al sistema operativo después de
la ejecución.
Una vez iniciado el bucle de eventos, la
aplicación está bajo el control del último
elemento mostrado de la interfaz de
usuario.
También debes proporcionar una forma
de terminar el bucle de eventos
ejecutando un comando CLEAR
EVENTS.
31. COMPILAR
Normalmente el comando CLEAR EVENTS se ejecuta desde un menú o botón de un
formulario.
El comando CLEAR EVENTS suspende el proceso del evento en Visual FoxPro y
devuelve el control al programa que ejecutó el comando READ EVENTS e inició el
bucle de eventos.
Por ejemplo, tu programa principal podría ser similar al siguiente:
Código Comentarios
DO CENTORNO.PRG Llama al programa para configurar el entorno (almacena los
valores en variables públicas)
DO MENUPRINCIPAL.MPR Muestra la interfaz inicial de usuario
READ EVENTS Establece el bucle de eventos. Un programa diferente al
MENUPRINCIPAL.mpr debe ejecutar el comando CLEAR
EVENTS
DO RECUPERAENTORNO.PRG Llama al programa que restaura el entorno antes de salir. En
este programa debes incluir todas las variables iniciales de
entorno que copiaste previamente
32. GENERAR ARCHIVO EJECUTABLE DE LA APLICACIÓN
• En el Administrador de proyectos, elige Generar.
• Elige la opción para Generar ejecutable para generar un archivo .exe.
• Marca la casilla Volver a compilar todos los archivos.
• Haz clic en el botón Aceptar.
33. GENERAR ARCHIVO EJECUTABLE DE LA APLICACIÓN
En la opción Guardar como, Deberás escribir el nombre del archivo
ejecutable y presionar el botón Guardar
Ahora FoxPro empezará a mostrar el proceso de compilación de la aplicación.
Cuando encuentre errores responderá con mensajes de error. Haz clic en el botón
Ignorar de este cuadro y FoxPro continuará con el proceso de compilación. Si
existieron errores durante el proceso de compilación, FoxPro generará un archivo con
el mismo nombre de la aplicación y la extensión .ERR.
Una vez terminado el proceso, puedes verificar en el disco duro que el programa
ejecutable con el nombre que definiste, existe con la extensión .EXE. Este archivo
puede ser ejecutado en la memoria de tu computador.
34. CREAR DISCOS DE DISTRIBUCIÓN
Una vez definido el archivo ejecutable, el siguiente paso es crear los discos de instalación o distribución. Los pasos
para hacerlo son los siguientes:
Crea una carpeta en el directorio raíz del disco duro y denomínala con el mismo nombre de tu aplicación pero con
extensión .EXE. Por ejemplo, para la aplicación guía Proy1, la nueva carpeta se llamará Proy1.EXE. Esta carpeta se
utilizará para mantener una copia de la aplicación sin el código fuente.
Si se generan los discos de instalación con todo el código fuente en la misma carpeta de generación, se incluirían
automáticamente todos los archivos en los discos de instalación. Recuerda que debemos proteger el código fuente y
no permitir que otras personas manipulen el código fuente de nuestra aplicación. Si otra persona toma nuestro
código fuente, puede generar una nueva versión de nuestro proyecto y distribuirlo a su vez con otro nombre de
producto.
• Copia el programa ejecutable a la nueva carpeta (Proy1.EXE)
• Ahora copia la carpeta de iconos si los hay. Para que FoxPro guarde en los discos de instalación las imágenes
utilizadas en la aplicación.
• Crea una nueva carpeta en el directorio raíz del disco duro y denomínala con el mismo nombre de la aplicación pero
con extensión .DSK. Esta carpeta será utilizada durante el proceso de creación de los discos de instalación para
guardar los archivos resultantes.
Ahora ya estás listo para ejecutar el proceso de creación de los discos de instalación.
Haz clic en el menú Herramientas, y selecciona Instalación del submenú.