Proyectos_vfp_Parte1

5
Creación de Proyectos en Visual FoxPro Para poder crear un programa en visual foxpro o ejecutable es necesario definir un proyecto, el mismo estará compuesto de los formularios (Forms), códigos (Prg), reportes (Report), clases (Class), base de datos (Databases) con sus tablas, tablas libres (Free tables) y otros componentes que forman el proyecto. Al modular un programa se lo separa en diferentes proyectos, compartiendo funciones, clases, reportes, etc; pero su vinculación siempre debe ser un proyecto principal el que llamara a todos los demás. Veamos como se crean un proyecto para controlar asistencias de alumnos a cursos, guardando como datos los alumnos y un registro de asistencias a los cursos, para eso necesitamos además tener cargados que cursos hay, que alumnos van a cada curso y los horarios de los mismo indicando que días semanales se dictan. Primero comencemos por presentar el IDE (Entorno de desarrollo integrado) de visual foxpro: Ventana de comandos, en este lugar se pueden ejecutar todos los comandos permitidos por VFP. La pantalla de VFP (_Screen) donde podremos arrojar los resultados de los comandos ejecutados en la ventana de comandos y la vamos a poder utilizar desde los proyectos como pantalla principal. El menú que se utiliza para opciones de edición y configuración del IDE.

Transcript of Proyectos_vfp_Parte1

Page 1: Proyectos_vfp_Parte1

Creación de Proyectos en Visual FoxPro Para poder crear un programa en visual foxpro o ejecutable es necesario definir un proyecto, el mismo estará compuesto de los formularios (Forms), códigos (Prg), reportes (Report), clases (Class), base de datos (Databases) con sus tablas, tablas libres (Free tables) y otros componentes que forman el proyecto. Al modular un programa se lo separa en diferentes proyectos, compartiendo funciones, clases, reportes, etc; pero su vinculación siempre debe ser un proyecto principal el que llamara a todos los demás. Veamos como se crean un proyecto para controlar asistencias de alumnos a cursos, guardando como datos los alumnos y un registro de asistencias a los cursos, para eso necesitamos además tener cargados que cursos hay, que alumnos van a cada curso y los horarios de los mismo indicando que días semanales se dictan. Primero comencemos por presentar el IDE (Entorno de desarrollo integrado) de visual foxpro:

Ventana de comandos, en este lugar se pueden ejecutar todos los comandos permitidos por VFP.

La pantalla de VFP (_Screen) donde podremos arrojar los resultados de los comandos ejecutados en la ventana de comandos y la vamos a poder utilizar desde los proyectos como pantalla principal.

El menú que se utiliza para opciones de edición y configuración del IDE.

Page 2: Proyectos_vfp_Parte1

Las opciones más importantes a ser configuradas son: La carpeta de trabajo por defecto (Solapa File location). Como queremos que abran las tablas exclusivas o no (Solapa Data). Siempre al configurar tiene que apretar SET AS DEFAULT. O sino al salir y volver a ingresar los cambios no quedaran por defecto. Entonces comencemos a crear el proyecto, para eso podemos primero definir la carpeta del proyecto y las subcarpetas así acomodamos de forma prolija y por tipo componentes, por ejemplo podría ser de la siguiente forma:

Ahora creamos el proyecto llamado como la misma carpeta, lo podemos hacer de dos formas, desde la ventana comandos escribiendo:

CREATE PROJECT Prj/CursoFoxpro Siempre se indica la ruta donde lo queremos crear, como en este caso nuestro path ya es la carpeta por defecto, solamente escribimos en que carpeta contenida deseamos crearlo.

O sino desde una forma mas fácil es desde el menú file, new elegimos proyecto y presionamos new file. No se asusten si lo crean y después no esta, esto pasa si no le agregamos ningún componente, el VFP lo borra directamente o pregunta que queremos hacer. Cuando tenemos el proyecto, nos muestra una pantalla con todos los componentes juntos o por categoría en solapas, si creamos el componente desde esta pantalla queda directamente relacionado con el proyecto, pero si lo creamos desde la ventana de comandos, como veremos mas adelante, lo tenemos que integrar al proyecto utilizando la opción de agregar.

Esto se encuentra dentro de la carpeta CursoFoxPro que la definí como la carpeta por defecto.

Page 3: Proyectos_vfp_Parte1

Como en el programa vamos a necesitar guardar datos, vamos a crear la base de datos para después poder crear las tablas (Los comandos están descriptos en el apunte www.foxeando.com.ar/paginas/Comandos_y_estructuras_para_manejo_de_tablas.htm) La base creada se llamara CursoFoxpro quedando con la siguiente estructura

Si vemos cada una de estas categorías son las solapas que vemos a continuación.

Page 4: Proyectos_vfp_Parte1

En el proyecto podemos tener muchos forms, clases, prgs, pero solo uno de ellos puede ser el que inicia el programa, siempre conviene que sea un prgs, donde definimos rutas, seteos generales, configurar el screen y llamar al form o al menú que será el que maneje todo nuestro sistema. Comencemos por crear el prg inicio, lo llamaremos inicio.prg Primero hay que realizar los seteos generales, los principales son: SET CONFIRM ON Especifica que no puede salir de un cuadro de texto escribiendo más allá del último carácter del cuadro. Para salir del cuadro de texto, puede presionar ENTRAR, TAB o cualquiera de las teclas de dirección, para moverse de un cuadro de texto a otro control. SET CENTURY TO 19 ROLLOVER 80 Especifica un formato de año con cuatro dígitos que ocupa 10 caracteres (incluidos los delimitadores de fecha). Toh un número de 1 a 99 que especifica el siglo actual. Rollever n número de 0 a 99 que especifica el año a partir del cual es el siglo actual. SET CENTURY ON Compatibilidad con el año 200. SET CLASSLIB TO ... Define la librería de clases active y sin ningún nombre, libera todas las librerías. SET DATE TO FRENCH Define el formato de la fecha a día/mes/año. SET DECIMALS TO 5 Define la cantidad de decimales a 5. SET DELETED ON No ver los registros borrados lógicamente. SET ECHO OFF Desactiva la ventana de seguimiento, depuración. SET ENGINEBEHAVIOR 70 Compatibilidad de comandos SQL con versiones 7. SET ESCAPE OFF Impide que al presionar la tecla Esc se cancele la ejecución. SET EXACT ON Cuado compara cadenas de texto, estas deben ser iguales carácter a carácter para que las considere equivalentes. SET HELP OFF Desactiva la ayuda de fox. SET HEADING OFF Especifica que no se muestren los nombres de los campos en los cálculos como calculate, max, etc. SET MEMOWIDTH TO 256 Determina el ancho del resultado que puede mostrar, por ejemplo de los campo memo. SET PATH TO Determina que directorios toma en cuenta vfp para búsqueda. SET PRINTER TO PRN Determina a que impresora se direcciona el resultado. SET PROCEDURE TO ... Indica archive de procedimientos. SET RESOURCE TO ... Especifica que los archivos de recurso sobre las modificaciones de vfp, se guarden en otro archive que no sea foxuser. SET SAFETY OFF Determina que no muestre ningún cuadro de dialogo antes de sobrescribir un archive. SET STATUS OFF Desactiva la barra de estados. SET TALK OFF Si vfp muestra o no los resultados de los comandos. SET STATUS BAR OFF Quita la barra de estado grafica. SET SYSMENU TO Desactiva la barra de menú de vfp. SET EXCLUSIVE OFF Impide que las tablas se abran de forma exclusiva.

Page 5: Proyectos_vfp_Parte1

A continuación llamaremos a un formulario llamado menú, con el que manejaremos a todos los módulos del sistema. DO FORM Forms/Menu A continuación tenemos que ingresar el siguiente comando READ EVENTS Para que sirve este comando?, como ya sabemos un prg (código secuencial) se ejecuta desde el principio paso a paso hasta el final y se cierra. Que paso con el formulario? Lo mostró y lo cerro tan rápido que ni nos dimos cuenta. El comando soluciona el problema al decirle que vfp quede escuchando eventos, dejándonos interactuar con el o los formulario y cuando ya no queramos le diremos que limpie los eventos con el comando CLEAR EVENT (por ejemplo en un botón salir) descargando los objetos, de esta forma volverá al código original en la línea del READ EVENTS terminando la aplicación por lo comentado anteriormente. En la próxima parte veremos que son los objetos, clases, eventos, etc., y seguiremos armando la aplicación de asistencias.