visual foxpro

35
PROGRAMACIÓN VISUAL FOX PRO Estudiantes: Ángela Rodríguez Rigo Silva

Upload: rigo-silva

Post on 26-May-2015

28.741 views

Category:

Education


11 download

DESCRIPTION

lenguaje visual foxpro

TRANSCRIPT

Page 1: Visual foxpro

PROGRAMACIÓN

VISUAL FOX PRO

Estudiantes: Ángela Rodríguez Rigo Silva

Page 2: Visual foxpro

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.

Page 3: Visual foxpro

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.

Page 4: Visual foxpro

DEFINICIONES PREVIAS Ventajas de Visual FoxPro:Visual FoxPro es una aplicación que permite gestionar y

manipular información organizada en una base de datos.

                Puede elaborar consultas, informes, pantallas, menús y proyectos sobre una o varias tablas.

                Desarrolla aplicaciones en un ambiente orientado a objetos con características cliente/servidor.

Que es un Lenguaje Visual:                Es una potente herramienta orientada a objetos

para la creación y administración de bases de datos y para el desarrollo de aplicaciones profesionales. Ofrece todo lo necesario para organizar la información en tablas, realizar consultas, crear bases de datos relacionales, programar aplicaciones, informes, y tros.

Programación  Orientada a Objetos                La programación  orientada a objetos es un

entorno de desarrollo de sistemas. Ayuda el diseñador a reducir , reutilizar y reciclar código y objetos. Por eso la programación orientada a objetos puede llevar a un desarrollo más rápido y eficaz y a prototipos más precisos.

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.

Eventos : Es cualquier suceso que implique un

llamado a un objeto.Métodos :                 Son  Procedimientos o programas

vinculados a los objetos y solicitados por los eventos asociados a los Objetos.

Características de la Programación orientada a objetos:

                - La programación orientada a objetos es un entorno de desarrollo de sistemas.

                - Puede llevar a un desarrollo más rápido y eficaz y a prototipos más precisos.

                - Desarrollo más rápido y menor probabilidad de que se produzcan errores.

                - Facilidad de modificar objetos.- Objetos reutilizables: Una vez que se ha

desarrollado y depurado una clase, ésta puede añadirse a otras aplicaciones sin necesidad de modificarla más.

                - Se pueden combinar objetos para crear objetos nuevos y dinámicos.

Page 5: Visual foxpro

PROGRAMACIÓNEntre los pasos básicos de la

programación cabe citar los siguientes:

• Definir el problema. • Desglosar el problema en

elementos discretos o manejables.

• Construir los elementos. • Comprobar y perfeccionar los

elementos. • Ensamblar los elementos. • Comprobar el programa en

su conjunto.

A continuación se enumeran algunos aspectos que deberás tener presentes al empezar a programar:

• Define claramente el problema antes de intentar resolverlo. Si no lo haces, acabarás por realizar numerosos cambios, desecharás códigos, tendrás que empezar de nuevo o bien terminarás con un resultado que no es realmente lo que deseabas.

• Desglosa el problema en pasos manejables, en lugar de intentar resolver todo el problema de una sola vez.

• Prueba y depura secciones de código a medida que desarrollas el programa. Comprueba que el código hace lo que quieres 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.

Page 6: Visual foxpro

TIPOS DE DATOS Y CAMPOS

Todos los datos de Visual FoxPro tienen un tipo, como una descripción de los valores permitidos, y el intervalo y tamaño de los valores. Cuando hayas especificado el tipo de datos que estás usando, Visual FoxPro puede almacenar y manipular los datos de forma eficaz.

Las variables y las matrices contienen un subconjunto de los tipos de datos disponibles de Visual FoxPro. Los tipos de datos adicionales sólo están disponibles para campos de la tabla.

 

Para agregar un campo de un tipo específico a una tabla mediante programación, coloca el tipo de campo con una letra.

Puedes especificar el tipo de datos que se almacena en cada campo de una tabla cuando creas la tabla. El tipo de datos de una variable o un elemento de matriz está determinado por el valor almacenado en la variable o elemento de matriz. La tabla siguiente muestra los tipos de datos de Visual FoxPro.

 

Page 7: Visual foxpro

Tipo de datos Descripción Tamaño Intervalo

Character Cualquier texto 1 byte por carácter hasta

254

Cualquier carácter

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

Visual FoxPro y el valor Null. Una vez que se almacena un valor en una

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.

Definido por el

programador. Definido por el programador.

TIPOS DE DATOS Y CAMPOS

Page 8: Visual foxpro

DATOS Y CAMPOSLos 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.

DATOS Y CAMPOS

Además, Visual FoxPro proporciona tipos de datos que se aplican únicamente a campos de tablas.

Tipo de campo Descripción Tamaño IntervaloDouble Número de signo flotante de

precisión doble8 bytes +/-4,94065645841247E-324 a

+/-8,9884656743115E307

Float Igual que Numeric 8 bytes en memoria;1 a 20 bytes en una tabla

- .9999999999E+19 a .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

(Binario)

Datos de tipo Character que quiere mantener sin modificación en páginas de códigos

1 byte por carácter hasta 254 Cualquier carácter

Memo

(Binario)

Datos de campo Memo que quiere mantener sin modificación en páginas de códigos

4 bytes en una tabla Limitado por la memoria disponible

Tipos de campos de Visual FoxPro

Page 9: Visual foxpro

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

cadenas, una cadena y un campo, o una cadena y una variable.

? ‘Buenos ‘ + ‘días’

- Concatenación. Quita los espacios finales del elemento anterior al operador y luego combina dos elementos.

? customer.first - customer.last

$ Comparación. Busca una expresión de caracteres dentro de otra.

? ‘padre’ $ ‘padres’

? ‘Principal’ $ customer.address

Page 10: Visual foxpro

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 = nVar2AND AND lógico lVar0 AND lVar9OR 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”

Page 11: Visual foxpro

APLICACIONES

Una aplicación de Visual FoxPro normalmente está estructurada por una base de datos, un programa principal que configura todo el sistema, una interfaz de usuario compuesta por formularios, barras de herramientas y menús, las consultas y los informes o reportes que genera el sistema.

Diseño de la aplicación Es necesario antes de comenzar a

involucrarse con FoxPro, realizar un 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.

Revisa con frecuencia las actividades 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.

El proceso de crear aplicaciones es repetitivo, probablemente definirás prototipos y refinarás algunos componentes varias veces hasta obtener el producto final; las expectativas de los usuarios también pueden cambiar o pueden generarse a lo largo de la creación requerimientos novedosos que harán interminable tu aplicación si no defines correctamente el alcance de la misma. Además ya adquiriste un gran compromiso con el proceso de depuración, pruebas y rediseño.

Page 12: Visual foxpro

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:

Page 13: Visual foxpro

Administrador de ProyectosLa 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

Page 14: Visual foxpro

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.

Administrador de Proyectos

Page 15: Visual foxpro

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.

Page 16: Visual foxpro

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.

Page 17: Visual foxpro

PROGRAMACIÓN EN VISUAL FOXPRO

Crear programas Un programa de Visual FoxPro es un archivo de

texto que contiene una serie de comandos. Los comandos se pueden utilizar en un programa o en la ventana de comandos. Puedes crear un programa en Visual FoxPro de la siguiente manera:

• En el Administrador de proyectos, selecciona Programas en la opción Código.

• Selecciona Nuevo. O también• En el menú Archivo, selecciona Nuevo.• En el cuadro de diálogo Nuevo, selecciona

Programa.• Selecciona Nuevo archivo.Otra forma podría ser• En la ventana Comandos, Escribe: MODIFY

COMMAND.Visual FoxPro abrirá una nueva ventana

denominada Programa1. Podrás entonces escribir tu programa en esta ventana.

Una vez creado un programa, asegúrate de guardarlo de la siguiente manera:

• En el menú Archivo, selecciona Guardar. Si intentas cerrar un programa sin antes

guardarlo, aparecerá un cuadro de diálogo que te preguntará si deseas guardar o descartar los cambios realizados en el mismo.

Si guardas un programa creado a partir del

Administrador de proyectos, el programa se agregará al proyecto.

Si intentas guardar un programa al que todavía no has asignado un nombre, se abrirá el cuadro de diálogo Guardar como, en el que podrás especificar el nombre del programa.

Después de guardar el programa, podrás ejecutarlo o modificarlo. En primer lugar, abre el programa de la siguiente manera:

Si el programa forma parte de un proyecto, selecciónalo en el Administrador de proyectos y señala Modificar.

O bienEn el menú Archivo, selecciona Abrir. Aparecerá

un cuadro de diálogo que muestra una lista de los archivos disponibles. En la lista Archivos de tipo, selecciona Programa. En la lista de archivos, indica el programa que deseas modificar y selecciona Abrir.

También lo puedes hacerEn la ventana Comandos, Escribe el nombre del

programa que deseas modificar:MODIFY COMMAND miprogramaO bienEn la ventana Comandos, Escribe:MODIFY COMMAND ?Cuando aparezca la lista de archivos, selecciona

el programa que deseas modificar y a continuación selecciona Abrir.

Page 18: Visual foxpro

PROGRAMACIÓN Después de abrir el programa, podrás realizar

cambios en el mismo. Cuando hayas terminado de introducir los cambios, asegúrate de guardar el programa.

Luego de crear un programa, podrás ejecutarlo.

Si el programa forma parte de un proyecto, Selecciónalo en el Administrador de proyectos y señala Ejecutar.

O bien, en el menú Programa, selecciona Ejecutar. Cuando aparezca la lista de programas, selecciona el programa que desea ejecutar y a continuación selecciona Ejecutar.

También en la ventana Comandos, Escribe DO y el nombre del programa que desea ejecutar.

Conceptos básicos de programación

Cuando programamos, se almacenan y manipulan datos mediante una serie de instrucciones. Los datos y los contenedores en los que se almacenan los datos constituyen la materia prima de la programación. Las herramientas utilizadas para manipular esta materia prima son comandos, funciones y operadores.

Los datos con los que trabajas probablemente incluyen períodos de tiempo, dinero y elementos contables, así como fechas, nombres, descripciones. Cada dato corresponde a un determinado tipo, es decir, pertenece a una categoría de datos que se manipula de manera similar. Visual FoxPro aporta numerosos contenedores de almacenamiento con el fin de ampliar su capacidad para manipular fácilmente los datos.

Los tipos de datos determinan la manera en que se 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.

Puedes imprimir caracteres en mayúsculas, pero no puedes imprimir números en mayúsculas.

Los contenedores de datos te permiten realizar las mismas operaciones con varios datos. Por ejemplo, sumar las horas que ha trabajado un empleado, multiplicarlas por el salario por hora y restar los impuestos para determinar el sueldo que ha percibido el empleado. Deberás realizar estas operaciones para cada empleado y para cada período de pago. Si almacenas esta información en contenedores y realizas las operaciones sobre éstos, bastará con sustituir los datos antiguos por los nuevos datos y volver a ejecutar el mismo programa. Los contenedores que maneja Visual FoxPro son los registros, matrices y variables.

Los operadores se utilizan para vincular los datos, clasificados en numéricos, lógicos, de carácter y relacionales.

Comandos de Visual FoxPro

Un comando hace que se realice una determinada acción. Cada comando dispone de una sintaxis específica que indica lo que debes incluir con el fin que se ejecute correctamente el comando. Hay también cláusulas opcionales asociadas a los comandos que permiten especificar de forma más detallada la acción que se deseas realizar.

Por ejemplo, el comando USE permite abrir y cerrar tablas:

Page 19: Visual foxpro

Sintaxis de USE DescripciónUSE

(sin indicar un nombre de tabla)

Cierra la tabla que aparece en el área de trabajo actual.

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 ;

ALIAS miCliente

Abre la tabla Clientes en la siguiente área de trabajo disponible y asigna al área de trabajo el alias miCliente.

Comando DescripciónDELETE 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: \Sistemas\ClientesCLEAR Limpiar la pantalla

DIR Mostrar los archivos del directorio, ejemplo:

DIR C: \Sistemas\ClientesSET DATE TO Cambiar el formato de fecha.

QUIT Salir de Visual FoxProCANCEL Cancelar la ejecución de un programa

OPEN DATABASE Abrir base de datos, ejemplo OPEN DATABASE Ventas

CLOSE DATABASE Cerrar base de datosCLOSE TABLES Cerrar todas las tablasAPPEND 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 ClientesSELECT

USE

Abrir una o varias tablas, ejemplo:

SELECT A

USE Clientes

SELECT B

USE VentasSET ORDER TO Establecer el índice de trabajo.

A continuación se muestran algunos comandos utilizados

Page 20: Visual foxpro

INSTRUCCIONES DE CONTROL

Bucles Un bucle te permite ejecutar una o

más líneas de código tantas veces como sea necesario. En Visual FoxPro hay tres comandos que permiten realizar bucles:

SCAN ... ENDSCAN FOR ... ENDFOR DO WHILE ... ENDDO SCAN Utiliza SCAN cuando realizas una serie

de acciones para cada uno de los registros de una tabla. El bucle SCAN permite escribir el código una vez y ejecutarlo para cada registro a medida que el puntero de registro se desplaza por la tabla.

Ejemplo:SCAN FOR UPPER(Ciudad) = ‘CARACAS’ ? Contacto, Compañía, CiudadENDSCAN FOR

Utiliza FOR cuando sepas cuántas veces debes ejecutar la sección de código.

Ejemplo:FOR Contador = 1 TO 10Instrucciones a procesarNEXT ContadorENDFORDO WHILEUtiliza DO WHILE cuando desees ejecutar

una sección de código mientras cumpla una determinada condición. Tal vez no sepas cuántas veces debe ejecutarse el código, pero sí sabes cuándo debe detenerse la ejecución. Por ejemplo, supongamos que dispones de una tabla en la que figuran los nombres y las iniciales de una serie de personas y deseas utilizar las iniciales para consultar los nombres de las personas. Surgiría un problema la primera vez que intentes agregar una persona cuyas iniciales fuesen las mismas que las de otras

Page 21: Visual foxpro

INSTRUCCIONES DE CONTROL

personas contenida en la tabla. Para resolver este problema, podrías agregar un número a las iniciales. Por ejemplo, el código de identificación de Miguel Suárez podría ser MS. La siguiente persona cuyas iniciales fuesen las mismas, Margarita Sánchez, sería MS1. Si a continuación agregas María Sanz a la tabla, su código de identificación sería MS2. Un bucle DO WHILE Te permite localizar el número correcto que debes adjuntar a las iniciales.

En el ejemplo siguiente se calcula el número total de productos en existencias cuyo precio supera los 2000 Bolívares en el bucle DO

WHILE hasta llegar al final del archivo (EOF). Se sale del bucle DO WHILE y se muestra el total.

DO WHILE .T. && Comienza el bucle.

IF EOF( ) EXIT ENDIF IF precio_unidad < 2000 SKIP LOOP ENDIF StockTot = StockTot +

en_existencias SKIPENDDO && Termina el bucle.

Page 22: Visual foxpro

ACTIVIDADES: 1. Crea una

instrucción de control de la ventana de comandos, donde sume un valor hasta 5 veces.

Page 23: Visual foxpro

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.

Page 24: Visual foxpro

PROGRAMACIÓN

IFEjecuta condicionalmente

un conjunto de comandos dependiendo del resultado de una expresión lógica.

Ejemplo:IF Edad < 18 THEN WAIT WINDOW “Alumno

menor de edad”

ELSE WAIT WINDOW “Alumno

mayor de edad”

ENDIF

DO CASE Pregunta por varios posibles

valores para una variable o campo, sustituye el uso continuo de IF THEN.

Ejemplo:DO CASE CASE Edad<12WAIT WINDOW “Alumno menor

de edad”CASE Edad>12 .and. Edad<18WAIT WINDOW “Alumno

adolescente”CASE Edad>18WAIT WINDOW “Alumno adulto”ENDCASE

Page 25: Visual foxpro

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.

Page 26: Visual foxpro

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 datos consta de estructuras de datos, una interfaz de usuario, opciones de consulta y funciones de generación de informes. Una aplicación ensamblada de Visual FoxPro suele presentar al usuario un menú y uno o más formularios para introducir o mostrar datos. Para ofrecer determinada funcionalidad, mantener la integridad y la seguridad de los datos se le agrega código a determinados eventos. Las consultas y los informes permiten que los usuarios extraigan información de la base de datos.

Todos los componentes que has realizado de alguna u otra manera están vinculados, por lo tanto tendrás que establecer un punto inicial para la aplicación con un archivo principal. El archivo principal sirve como punto de partida para la ejecución de tu aplicación y puede constar de un programa o formulario. Cuando los usuarios ejecuten la aplicación, Visual FoxPro inicia el archivo principal de la aplicación que, a su vez, ejecuta todos los demás componentes a medida que se vayan necesitando. Todas las aplicaciones deben tener un archivo principal. La mejor elección suele ser crear un programa principal en la aplicación. Sin embargo, puedes combinar las funciones del programa principal y la interfaz inicial de usuario si usas un formulario como 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.

Page 27: Visual foxpro

COMPILARPara establecer un archivo principal dentro

de una aplicación, en el administrador de proyectos haz lo siguiente:

1. Selecciona Todos.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.

Siempre es conveniente guardar los valores iniciales del entorno y configurar un entorno específico para la aplicación en un programa propio.

Page 28: Visual foxpro

COMPILARPuedes capturar los comandos del entorno

actual y llevarlos a la ventana de comandos realizando lo siguiente:

• En el menú selecciona Herramientas

• Selecciona Opciones

• Presiona la tecla Mayúscula (Shift) y presiona Aceptar

• Luego podrás copiar y pegar la información a otro programa.

Podrás ver los comandos SET de configuración, algunos se activan o no colocándole al lado ON / OFF, ejemplo:

SET TALK ON

SET NOTIFY ON

SET CLOCK OFF

SET COMPATIBLE OFF

SET PALETTE ON

SET BELL ON

SET BELL TO ‘’, 1

SET SAFETY ON

SET ESCAPE ON

SET LOGERRORS ONSET KEYCOMP TO WINDOWSSET CARRY OFFSET CONFIRM OFFEs útil guardar los valores predeterminados en

variables públicas, en una clase personalizada o como propiedades de un objeto Application para que puedas restaurar estos valores al salir de la aplicación

En un entorno específico de la aplicación o dentro del archivo Principal, podrías incluir código para:

• Inicializar variables. • Establecer una ruta predeterminada. Por

ejemplo si los archivos que se van a utilizar se encuentran en el directorio C:\programas\transmisión\datos, escribiremos el comando SET de la siguiente forma: SET DEFAULT TO C:\programas\transmisión\datos.

• Abrir las bases de datos, las tablas libres y los í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.

Page 29: Visual foxpro

COMPILAR• Hacer referencia a archivos

externos de biblioteca y procedimientos.

• La interfaz inicial de usuario puede ser un menú, un formulario o cualquier otro componente de usuario. Normalmente una aplicación mostrará una pantalla de inicio de sesión o un cuadro de diálogo de inicio antes de mostrar el menú o formulario inicial.

• Para iniciar la interfaz de usuario en el programa principal puedes usar un comando DO para ejecutar un menú o un comando DO FORM para ejecutar un formulario.

• Cuando el entorno esté configurado y se muestre la interfaz de usuario inicial, podrás establecer un bucle de eventos para esperar la interacción del usuario.

• Para controlar el bucle de eventos.

• Ejecuta un comando READ EVENTS, que hace que Visual FoxPro comience a procesar los eventos de usuario, como los clics del ratón y las pulsaciones de teclas.

Page 30: Visual foxpro

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.

Page 31: Visual foxpro

COMPILARNormalmente 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 ComentariosDO CENTORNO.PRG Llama al programa para configurar el entorno (almacena los

valores en variables públicas)

DO MENUPRINCIPAL.MPR Muestra la interfaz inicial de usuarioREAD 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

Page 32: Visual foxpro

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.

Page 33: Visual foxpro

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.

Page 34: Visual foxpro

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

Page 35: Visual foxpro

Gracias por su atención