___________________________________
Manual de FoxPro
Por Gilmer O. Manzano Mendoza
(Parte I)
__________________________________
Introducción
Bueno, comenzaremos con la programación en
Visual FoxPro Versión 5 y 6, en esta guía sólo tratare de mostrarte lo básico
pero también puedes consultar algún libro de Visual FoxPro pues todo será para
tu desarrollo, en las bibliotecas o en las librerías. FoxPro es un lenguaje de
mucha rapidez pues trabaja utilizando mucho la memoria de tu computadora, esto
lo convierte en un lenguaje de los más rápidos en el mercado, aunque a la vez
representa una desventaja ya que necesitaras mucha RAM. FoxPro es también uno
de los lenguajes de programación que contiene mucha potencia en el manejo de
las bases de datos.
Conceptos Básicos
Base
de datos Bueno un concepto que creo que te será útil y
sencillo es: Una Base de datos es un conjunto de datos almacenados en campos y
registros, es decir que la base de datos esta conformada por estos dos
elementos. Así, por ejemplo:
Base
de datos
(Campos)
-------------------------------------------------------------------------------
(Nombre de las variables) Nombre Edad Sueldo Observac
-------------------------------------------------------------------------------
(Registros) José
Mendoza 19 2,568.52 ******
Omar Mendoza 20 3,759.45 ******
------------------------------------------------------------------------------
Los
campos son los que están en vertical
los
registros llamados también datos, son los que están en
horizontal
Componentes de Interfaz
algunas herramientas más utilizadas son:
Ventana
Examinar Una vista, tipo hoja de cálculo, de una tabla.
Ventana
Código Para desplegar código asociado a varios eventos
en los formularios y controles. Cuando un evento se dispara el código se
ejecuta.
Ventana
Depuración Permite examinar variables de memoria o valores
campos y establecer puntos de interrupción. La ejecución del programa se
detiene cuando una variable de memoria o una expresión con un punto de
interrupción cambia de valor.
Comando
Opciones (Menú de Herramientas) Permite controlar la
configuración de docenas de características en el entorno FoxPro, incluidos
todos los comandos SET, así como planillas y bibliotecas de clases.
Ventana
Propiedades Le permite establecer propiedades en una buena
cantidad de generadores, incluidos los generadores de formularios, informes
etiquetas y de las bases de datos, también proporciona acceso a propiedades,
métodos y código de eventos.
Administrador
de Proyectos Un diseño completamente novedoso de FoxPro para
Windows, este administrador de proyectos administra todos los componentes de un
proyecto en cinco grupos: Datos [Bases de datos, tablas libres (con
extensión.BDF), tablas (con ext. .BDC) vistas locales y remotas, conexiones,
etc.)
Generador
de consultas Una recodificación completa del RQBE (Consulta
Relacional Ejemplificada), esta herramienta maneja todos los aspectos de
construir una consulta.
Barras
de herramientas FoxPro
proporciona a los generadores aplicaciones más de una docena de barras
de herramientas para colocar toda la herramienta para varias tareas justo al
alcance de sus dedos. Además, podes diseñar tus propias barras de herramientas
en conjunción con formularios, para proporcionar a los usuarios el mismo tipo
de acceso instantáneo a las herramientas.
Generadores
Los generadores son entornos de trabajo en los
que se construyen componentes de una aplicación de FoxPro. En la siguiente
lista te mostrare algunos generadores bueno al menos los que utilizare en este
curso:
Generador
de clases Para construir objetos reutilizables.
Generador
de Bases de Datos Para organizar los datos en
tablas y documentar las relaciones entre tablas.
Generador
de formularios Para diseñar las pantallas de la aplicación.
Generador
de consulta Para construir conjuntos de datos utilizados en
reportes y en pantallas de sólo lectura.
Generador
de informes Para construir informes para la pantalla o la
impresora.
Generador
de menús Construye el sistema de menús que ejecuta una
aplicación.
Generador
de tablas Administra el formato de las tablas utilizadas
en la aplicación.
Generador
de cuadrículas Permite aprender cómo las configuraciones de
la propiedad de cuadrícula del objeto controlan la operación de la cuadrícula.
Asistentes
Bueno este es mi concepto de asistente espero que
te sirva: Asistente es un conjunto de cuadro de diálogos que te ayudan paso a
paso a crear una determinada aplicación (por ejemplo un formulario, etc.), en
VFP hay muchos.
Asistente
para formularios Construye "Pantallas instantáneas"
con la estructura de las tablas basándose en clases prediseñadas, incluidos
efectos especiales en las pantallas y botones de navegación ínter construidos.
Asistente
para documentación Documenta la aplicación.
Asistente
para formularios Construye un formulario
"Plano" usando la estructura de la tabla de datos.
Asistente
para informes Diseña informes, sencillos o complejos,
utilizando un poco más que la estructura de las tablas.
Además hay asistentes para: formularios uno a
varios, asistente para tablas dinámicas, asistente para upsizing, asistente
para tablas. Bueno yo te aconsejo a aprender a crear tablas sin utilizar el
asistente pues, es fácil y tendrás que utilizarlo muy a menudo.
Barras de Herramientas
El propósito de que hayan estas barras es para
hacerte un poco más fácil el trabajo, es decir que el uso que le dará a la
ventana de comandos será un poquito reducido.
Paleta
de colores creo que te imaginas que es la barra de los
colores en función RGB. Bueno RGB significa (Rojo, Verde y Azul)
Generador
de bases de datos en esta barra se manejan el
entorno de datos, iconos para: crear, agregar, y quitar una tabla así, como
también modificar, vista remota o local, examinar una tabla o editar
procedimientos almacenados en el contenedor de la base de datos.
Generador
de formularios esta barra te permite el paso rápido de uno a
otro entre varios elementos usados en el diseño de pantallas: el entorno de los
datos, la ventana propiedades, la ventana código la barra Controles de
formularios, la paleta de colores, la barra de herram. Distribución, entre
otros.
Presentación
Preliminar para que una vez diseñado un informe puedas
apreciarlo como te quedará y si no te gusta pues lo podrás modificar.
Estándar
Este lo verás
cuando inicies FoxPro, proporciona acceso al generador de formularios y al
Generador de informes, a bases de datos de impresión consultan tablas,
conexiones, vistas, etiquetas, programas, clases, archivos de texto y menús.
Administrador de Proyectos
Estos proyectos están integrados por el
Administrador de proyectos, quien mantiene la pista de los componentes de la
aplicación. Conforme se agregan componentes a un proyecto, (Estas son las
carpetas o nombre de los menús del Administrador) FoxPro los colecta bajo
alguno de los siguientes encabezados:
Datos
Las bases de datos (y todos los elementos que pueden
describir), incluidas las tablas, vistas locales y remotas, conexiones y
procedimientos almacenados, así como tablas libres y consultas.
Documentos
Formularios, etiquetas e informes.
Bibliotecas
de clases Repositorios de objetos usados en la
aplicación.
Código
los archivos con extensión .PRG que contienen código
que no está asociado con un formulario, así como bibliotecas API y archivos
llamados por la aplicación.
Otros
Menús archivos de texto y otros, incluyendo mapas de
bits.
Bueno, supongo que si has conseguido este
manual es porque tienes ya instalado FoxPro, y en caso así que no veremos la
instalación de este lenguaje, en caso contrario pues consíguelo e instálalo
amigo.
La barra de herramientas
En FoxPro hay muchos botones, estos botones
pertenecen a la barra de herramientas de VFP. También existen otras barras de
herramientas. Se hace clic en el menú Ver, aparece una sola opción de barras de
herramientas. Sólo haz clic en la barra que quieres activar y aparecerá al
igual que la estándar. Algunas de estas barras ya las vimos anteriormente,
¿recuerdas?.
Estructura de un .BDF
Los datos en FoxPro se almacenan en forma de
tablas, estas tablas son las bases de datos pues la extensión de estas bases de
datos es .BDF aunque también hay otras que se verá más adelante. Los DBF
comienzan con una breve descripción de los datos que están en la tabla.
Tipos de campos
Recuerda esto amigo: los campos no deben de
contener caracteres especiales, fuera del carácter "Guión bajo", y
tampoco puede empezar con un número. Pasado. los campos pueden ser cualesquiera
de varios tipos:
Carácter
Cualquier cosa que se pueda teclear en el teclado
puede ir en un campo de caracteres. Un carácter es lo mismo que un byte y un byte
puede tener cualquier valor ASCII hasta 255, con unas cuántas excepciones.
Numérico
Hasta un límite de 18 dígitos, con tantas cifras
decimales como quieras. Los enteros se almacenan en este formato y un nuevo
tipo de moneda se usa generalmente para dinero.
Flotante
Este no lo utilizaremos en este manual pues sólo sirve
por compatibilidad con dBASE V, es equivalente al formato numérico.
Fecha
Para almacenar la fecha en un formato interno numérico,
pero su validación y representación se controlan con este tipo de campo.
Lógico
Éste, ya sea verdadero o falso, es representado por T
o F, para verdadero o falso respectivamente.
Memo
Representado en su estructura de registros como un
campo de caracteres de longitud 10. estos campos almacenan en una segunda tabla
con la extensión .FPT. Pueden ser casi de cualquier tamaño.
General
Éstos también son campos memos, excepto que usualmente
almacenan otros tipos de objetos además de texto como gráficos por ejemplo.
Fecha-hora
incluye la hora después de la fecha, en el formato
[MM/DD/AA hh:mm:ss].
Moneda
Es un campo numérico e incluye cuatro cifras
decimales.
Imagen
Usado para guardar imágenes.
Carácter
binario Campos de caracteres no sujetos a traducciones
de páginas de códigos.
Memo
binario Campos memo con la misma característica
NOCPTRANS. (No me preguntes que es esto investígalo.
Abra y cierre tablas
Para abrir un DBF en el área de trabajo 1 cuando
ninguna otra tabla está abierta, teclee en la ventana de comando (ventanita
pequeña que aparece generalmente al lado izquierdo):
use nombretabla
No tiene que estar en un área de trabajo para
abrir una tabla. Puede especificar: use nombretabla in 3 pero recuerda para
abrir o cerrar una tabla tiene que estar ya creada así que ten paciencia
si existen varias tablas libres creadas puedes
digitar
select 0
este comando también puede
ser select nombretabla
es para seleccionar la tabla a trabajar (abrir,
cerrar, modificar, etc.)
use nombretabla (y se abrirá el cuadro de
dialogo abrir, pues FoxPro no sabe que tabla abrir usted debe abrir la que
necesite)
Con use tu abres la tabla, esta bien hasta
aquí?
Crear una tabla de FoxPro
Primero hay que crear un directorio para
almacenar tu trabajo (aunque esto no es necesario pero si
vas a trabajar con un disco flexible o en un
directorio distinto al que trae designado FoxPro tienes que hacerlo), para ello
digita: MD RUTA luego para que FoxPro trabaje con este directorio debes
digitar: SET DEFA TO RUTA (nombre del directorio que se supone ya creaste con
el comando md).
Bien ahora tienes varias opciones para crear la
tabla:
1. digita CREATE NOMBRETABLA
2. haz clic en nuevo(new) luego selecciona
tabla (table) luego digite el nombretabla
3. Ctrl + n y selecciona tabla (table) luego
digite el nombretabla
bueno hay otras pero creo que con estas serán
suficiente por el momento.
Después tendrás que darle un nombre a la tabla y
lo guardas con el nombre de datosper, enseguida verás el generador de tablas
con las carpetas tabla e índice (si es VFP 6.0 estará también campos).
Ahora puedes introducir el nombre, el tipo y la
longitud del campo en este orden. Introduce los siguientes datos:
Nombre Carácter 40
Dirección Carácter 40
Ciudad Carácter 22
Saldo monetario 8 (este es automático)
No oprimas enter porque el programa entenderá
que la tabla ya esta terminada si quieres pasar a digitar el siguiente campo
debe moverte con la tecla tab NO CON ENTER. Enseguida introduce datos a tu
tabla. Si digitas LIST STRUCTURE (en la ventana de comandos), verás la
estructura de tu tabla puedes borrar los campos si digitas DELETE NEXT
NUMEROCAMPO (2 por ejemplo), y puedes recuperarlo si digitas RECALL NEXT 2 y
regresará.
Ahora puedes digitar browse y veras los datos
que introdujiste la tabla después de creada, (sí es que le introdujiste datos).
Si digitas SET SCAPE ON podrás detener algunos
procesos cuando lo desees como el comando list pero aquí no será necesario pues
se introducirán pocos datos en la tabla. tu puedes digitar LIST y ver los datos
en forma rápida la sintaxis de list es:
LIST
| fields listacampos
|
to print
|
while expresiondominio
|
for expresiondominio
|
off
field es campo digitas el nombre del campo o
campos a visualizar. to print en para enviar la salida a la impresora. For
seguido de una expresión de dominio, lista sólo aquellos registros que
coincidan con la expresión. ejemplo LIST FOR CIUDAD = [San] el while seria LIST
WHILE CIUDAD = [San] el while se utiliza para optimizar muchos aspectos del
desempeño de FoxPro. Off desactiva la opción de numeración de registros
digítalos y notarás la diferencia.
Sum si digitas SUM SALDO te sumará todos los saldos (registros) almacenados
en este campo.
Cómo moverse en una tabla de FoxPro
Cuando utilizamos inicialmente una tabla de
FoxPro, tu estás ubicado en el primer registro de la tabla. Puedes mover este
puntero de registro imaginario alrededor de la tabla, en diversas formas:
Skip
Mueve el puntero hacia adelante un registro
Skip-1
ueve el puntero hacia atrás un registro
Go
top Mueve el puntero al primer registro
Go
bottom Mueve el puntero al último registro en la tabla
Go 2
Mueve el puntero del registro al registro número 2.
* Prueba estos comandos primero digita uno de
ellos y luego digita list y verás los resultados.
Índices
Tú puedes crear un índice en uno o más campos,
o combinaciones de campos, y luego alternar entre ellos. Técnicamente, hay
cuatro formas de crear un índice. Utilicemos el comando INDEX ON CIUDAD TO
CIUDAD COMPACT el cual te crea un archivo llamado CIUDAD.IDX.
Desafortunadamente, si alguna vez abre la tabla sin el índice y añade un
registro, los punteros en el archivo de índice se deslizarán hacia abajo, y el
índice tendrá que ser recreado. FoxPro trabaja mejor si utilizamos lo
siguiente: INDEX ON CIUDAD TAG CIUDAD
Existen trucos para indexar pero lastimosamente
no lo veremos pues estamos en pañales con la programación en VFP, y necesitamos
avanzar, si quieres estos trucos búscalos en algún libro de VFP.
Contenedor de Bases de Datos de VFP
Un contenedor de Bases de datos es en realidad
una tabla de FoxPro con la extensión .DBC. Sus campos memo relacionados están
en una tabla del mismo nombre con la extensión .DCT.
Las DBC son esencialmente diccionarios de datos
activos. Su representación visual de un modelo de datos de aplicación es
especialmente bienvenida en la documentación y comunicación de las relaciones
entre las tablas de sus aplicaciones. También se almacenan los datos que usa
FoxPro para implementar nuevas características, incluyendo desencadenantes y
procedimientos almacenados.
Para abrir una base de datos haz click en
archivo, nuevo selecciona base de datos (Database), y aparecerá la ventana de
Generador de base de datos. En este tu construirás las tablas visualmente,
creas etiquetas de índice, establece relaciones entre tablas y proporciona
otros componentes que ayudan en el proceso de diseño de una aplicación. En el
Generador de bases de datos haz clic en cualquier lugar de la ventana, se
desplegará un menú contextual que contiene las opciones siguientes:
-
Expandir (Expand)
-
Contraer todos (Collapse all)
- Nueva
tabla (New table)
- Nueva
vista remota (* New remote view creo que así sería en ingles)
- Nueva
vista local (*New local view)
-
Agregar tabla (Add table)
-
Procedimientos almacenados (Stored procedures)
-
Integridad referencial (integrity referential)
- Ayuda
Tablas
Podes comenzar una tabla de varias maneras. Una
es teclear CREATE DATOS desde la ventana de comandos. Pero hay muchas más. Haz
clic con el botón derecho del ratón y selecciona Nueva tabla, dale el nombre a
tu tabla de "datos1" o al menos con este nombre trabajare yo en este
curso, bien ahora digita los siguientes datos a la tabla:
Codcliente carácter 10
Nombre carácter 40
Dirección carácter 40
Ciudad carácter 22
Balance monetario 8
Nofactura carácter 8
Agrege un segundo archivo llamado ordenes, como
sigue
Numorden carácter 10
Codcliente carácter 10
Fecha fecha 8
Cantidad monetario 8
Entrega lógico 1
El tercero se llamara: pedidos seguirá las
líneas en cada orden:
Numorden carácter 10
Numelem carácter 10
Cantidad numérico 3
Precio monetario 8
Total monetario 8
Finalmente un archivo maestro llamado element de los artículos que usted vende
Numelem monetario 8
Descripción carácter 40
Preciounit monetario 8
Si usted hace un clic (derecho), en la ventana
Generador de bases de datos, verá que aparecen las siguientes opciones:
examinar
(browse) invoca al comando BROWSE
eliminar
(delete) borra o elimina la tabla del DBC.
contraer (collapse) minimiza la representación de la
tabla a un símbolo pequeño, para ahorrar espacio.
modificar
(modify) invoca al generador de tablas
ayuda (help) invoca a la AYUDA.
Índices
En el generador de tablas, usted verá tres
fichas en la parte superior de la ventana: campos, índice y tabla. una vez que
la tabla se ha creado, usted puede hacer clic sobre la ficha índice y construir
las etiquetas de índices en un entorno familiar.
El generador de bases de datos da un panorama
visual a una nueva característica de VFP. para usar este generador para
establecer una relación entre dos campos en dos tablas, ambos deben ser índices
en sus tablas respectivas. Vaamos a crear etiquetas de índice para cada tabla.
haga clic en la tabla "datos1" con el botón secundario del ratón para
desplegar el menú contextual y selecciona modificar para que aparezca de nuevo
la ventana Generador de tablas. Después hace clic en la ficha índice de la
ventana. Teclee CODCLIENTE como nombre de la etiqueta y CODCLIENTE otra vez
como expresión. (No tomes en cuenta los diferentes tipos de índices por ahora),
hace clic en aceptar y habrás terminado. las órdenes tendrán dos etiquetas de
índice: Codclie para encontrar un índice relacionado y Numorden para coincedir
con las líneas de detalle en la orden. las líneas de orden también tienen dos
etiquetas de índice: Numorden para encontrar el registro padre en cada orden
(ya que cada orden puede tener varias líneas de detalle), y Numelem para
localizar la descripción en el archivo de artículos. Por último, los artículos
tienen dos etiquetas: Numelem, que facilita la búsqueda de artículos que
necesita la descripción o precio del artículo, y Descripción, para poder
desplegar las partes en orden alfabético en los menús desplegables. Ahora viene
lo divertido.
Aplicaciones de VFP
Para
comenzar presiona Ctrl + n, luego selecciona proyecto de la lista de opciones
disponibles. pero antes que nada asegúrate que estas en la ruta en la vas a
trabajar ¿recuerdas? Si no, te lo recordare SET DEFA TO RUTADEACCESO (ejem.:
c:\practic), esto es sólo para decirle al programa este será mi lugar de
trabajo estándar, pero para crearlo ya vimos como es sino recuerda da una
mirada a lo anterior.
Elementos del archivo de proyecto
La ventana del Administrador de proyectos, es
la parte principal del escritorio de trabajo de un desarrollador de VFP. Es
aquí donde tú podrás ver de un sólo vistazo de qué se conforma tú aplicación
Las fichas en el marco del Administrador de proyectos son:
Todos
Muestra todos los componentes.
Datos
Muestra sólo las bases de datos, tablas libres y
consultas.
Documentos
Muestra sólo los formularios, informes y etiquetas.
Clases
Muestra las bibliotecas de clases y clases.
Código
Muestra programas, bibliotecas API y aplicaciones.
Otro Muestra archivos de texto y otros archivos.
Si haces clic en la ficha todos verás todo.
hacer clic en cualesquiera de las otras fichas te mostrará sólo la porción de
esa ficha del proyecto subrayado.
El botón que vez en la esquina superior derecha
(que es una flecha) te sirve para minimizar o maximizar la pantalla. Los
botones que están al lado derecho son para administrar los componentes del
proyecto:
Nuevo
Crea un nuevo componente
Agregar Selecciona un componente existente para incluirlo en el proyecto.
Modificar
Edita el componente resaltado. Es lo mismo que hacer
doble clic en un elemento de proyecto.
Abrir Visualiza el formato de informes y etiquetas. Podes ejecutar un informe
o etiqueta en cualquier momento, sin acceder a los datos que normalmente
utiliza.
Quitar Quitas un componente del proyecto.
Generar Genera una aplicación, ya sea como un archivo .APP, .EXE o un .EXE
aislado.
El menú proyecto
Este menú lo verás en el menú estándar de VFP,
al tener activado el administrador de proyectos haces clic en proyecto,
información del proyecto y se te activará una ventana con tres fichas (esto es
en la versión 6.0 en la cinco sólo verás dos si no me equivoco), estas son:
Proyecto, Archivos y Servidores en la ficha proyecto introduce la información
que se te pida, en archivo verás los archivos que has creado pero por el
momento no verás nada porque no los hemos creado en la parte de servidores lo
encontrarás todo desactivado ya que no estas trabajando en redes. También
puedes hacer clic con el botón secundario del ratón sobre el Administrador de
proyecto y verás un menú contextual en el que estará presente también la opción
Información del proyecto entre otras.
Agrega tablas al proyecto
Haz clic en la ficha Datos luego haz clic en
databases [database (recuerda que este es el contenedor de base de datos),
bueno haz clic con el botón secundario del ratón o bien haz clic en el botón
Nueva tabla del menú diseñador de bases de datos. luego introduce estos datos:
Codcliente carácter 10
Nombre carácter 40
dirección carácter 40
ciudad carácter 22
Balance monetario 8
El nombre de la base de datos será datos1 El
nombre de la tabla debe ser datos2 como este ya existe entonces lo eliminaras y
lo crearás de nuevo con los pasos aquí presentados (pues recuerda que esta
tabla no es una tabla libre).
Agreguemos un formulario con el asistente para formularios
Tú puedes crear un formulario pero para que
complicarse la vida si puedes utilizar el asistente para formularios. Bien haz
clic en la ficha Documentos luego selecciona formularios te aparecerá una
ventana con las opciones Asistente para formularios y nuevo formulario,
selecciona la primera, luego te aparecerá otra ventana con las opciones:
Asistente para formularios, Asistente para formularios uno a varios, bueno pues
tú selecciona Asistente para formulario, luego el asistente te pedirá que
agreges uno o varios campos de los campos disponibles estos te aparecerán
cuando termines el proyecto y corras el programita que más adelante veremos,
ten paciencia, (tú selecciónalos todos), haz clic en siguiente y estarás en el
paso dos selecciona que tendrá tu ventana seleccionemos el estilo piedra
(tienes la versión 5.0 o la 6.0 ¿verdad?), a tu lado derecho verás una serie de
tipos de botones que hay por el momento déjalo en botones de texto, esta
bien, haz clic en siguiente y estaremos
en el paso 3, aquí selecciona un campo y lo agregas este te servirá como
etiqueta de índice en nuestro caso seleccionemos codcliente, puedes ordenarlo
en forma ascendente o descendente aquí tu decides, ¿entiendes lo que vamos
haciendo verdad?, en caso contrario vuelve a leer este menú y no te aburras
recuerda que yo pase digitando todo este texto y a la vez estuve con el
programa para que todo saliera bastante bien,
si entiendes vamos bien y haz clic en siguiente ahora si quieres ver
como te quedará lo que haz hecho puedes hacer clic en vista previa, digita el
nombre de tu formulario este será cliente, haz clic en finalizar.
Listo ya haz creado tu formulario fue fácil
verdad.
Agreguemos un menú
Hagamos más interesante nuestro proyecto
agreguémosle un menú en las aplicaciones, especialmente Windows, se utiliza un
menú para desplegar pantallas. Así que necesitamos un menú para que inicie la
aplicación datos1. Cierra el formulario y regresamos a la pantalla del
Administrador de proyectos, haz clic en la última opción, Otras, luego resalte
menús y haz clic en el control Nuevo del lado derecho de la pantalla del
Administrador de proyectos. Por el momento tú necesitas sólo dos menús
principales en el menú. Primero, escoge el tipo de tu menú (menú o menú
contextual), escojamos menú luego en indicador escribe cliente en acción verás:
- Comandos
- Título de menú
- Submenú
- Procedimiento
escojamos comandos, y escribe DO FORM DATOS2 en
la segunda escribe salir y elige comando y teclea CLEAR EVENTS. Ahora cierra
esta ventana y la guardas con el nombre de Menu.mnx será su extensión, esta es
automática, no te preocupes.
Agreguemos un programa principal
Esto se esta poniendo bueno, por el momento
teclea lo siguiente y si no entiendes lo que escribirás no te preocupes viejo,
más adelante te describo lo que significa cada comando, lo que escribirás será:
OPEN
DATABASE DATOS1 (sino prueba con CLIENTE)
CLEAR SCREEN
DO
MENU.MPR
READ
EVENTS
CLOSE
DATABASES
SET
SYSMENU TO DEFAULT
pero ¿Dónde voy a digitar esto?, primero en el
administrador de proyectos selecciona la ficha código (no la has cerrado
¿verdad? pues de lo contrario empieza de nuevo desde agrega tablas al
proyecto), ahora selecciona programa, nuevo, ahora sí digita, luego compílalo
en programa, compilar, y dale un nombre a tu programa este será princip.prg (no
es necesario que escribas la extensión), y fíjate que diga 0 errores de
compilación en la parte inferior izquierda de FoxPro, digita ctrl. + d para
correr el programa y verás que funciona
sino te funciona revisa los nombres de los archivos (de la tabla, de la base de
datos del menú, entiendes), a veces yo tengo este problema es por no fijarme
bien en los nombres de los archivos.
Ahora te explicare los comandos que digitamos
en el programa:
- Abrir
la base de datos datos1, para poder disponer del archivo datos2.
-
Reemplazar el menú estándar de Visual FoxPro con el tuyo. Lo notaste
verdad que se menciona
tiene
la extensión de su código generado, por ejemplo, MENU.MPR. Desde este punto
en
adelante, el menú que tú generaste será el único menú dentro de la
aplicación hasta que tú
especifiques SET SYSMENU TO DEFAULT.
-
Iniciar el comando READ EVENTS. Esto le permite a tu formulario y a
otros objetos estar
activos. El comando está activo hasta que el usuario selecciona Salir,
el cual inicia el comando
Clear
Events. En ese instante, el control para a la instrucción que está
inmediatamente después
del
comando Read Events es del tipo del ciclo Do...EndDo, y Clear Events es como
Salir.
-
Quitar los formularios que permanezcan en la pantalla.
-
Cerrar todos los archivos del usuario.
-
Restablecer el menú original de VFP.
Generemos la aplicación
Esto lo debes de hacer antes de ejecutar tu
aplicación. Haz clic en Generar en los controles del lado derecho de la
pantalla del Administrador de proyectos. Verás un cuadro de diálogo, opciones
para generar incluyendo las opciones:
- Volver a generar el proyecto
- Generar aplicación
- Generar ejecutable
- Generar DLL COM
Volver
a generar te
genera el proyecto, leyendo a través de los componentes de tu proyecto y crea
el archivo del proyecto, agregando elementos a los que se alude en sus
pantallas, programas y menús. Tu puedes introducir PRINCIP.PRG e indicarle a
VFP volver a generar el proyecto, y encontraras el resto de los componentes.
Esto es muy útil cuando tu tiras a la basura un archivo del proyecto. pero eso
nunca pasará...
Generar
aplicación, genera un archivo con extensión .APP esto te
índica que para ejecutar tu proyecto debes de ejecutar VFP, si haces clic sobre
el icono de tu proyecto (en el explorador, por ejemplo), entonces entrarás a
VFP y se ejecutará tu proyecto, entiendes. Bien el nombre de tu proyecto será:
1aplic.APP.
Generar
ejecutable si quieres hacer ejecutable tu proyecto has
clic en Generar ejecutable dale el nombre 1aplic.EXE y listo.
Generar
DLL COM Esto creo que es para generar librerías pero
por ahora no lo podrás generar de este tipo porque necesitas introducir clases
públicas OLE (es decir en la ficha clases), a tu proyecto.
Normalmente VFP coloca cualquier mensaje acerca
de errores que se encontraron durante la compilación dentro de un archivo con
el mismo nombre de tu aplicación y con la extensión .ERR, si no lo tienes es
porque no hay errores entiendes.
Ejecución del programa
Para ejecutar tu programa y para que veas como
quedo presiona las teclas ctrl. + d y selecciona 1aplic.app, o escribe en la ventana
de comandos do 1aplic o sino do princip (recuerdas este es el archivo que
contiene el código fuente, pero para ejecutarlo necesitas compilarlo con esta
opción del menú programa), si lograste correr tu programa entonces notaste las
opciones en la parte inferior de tu proyecto: Anterior, Primero, siguiente,
último, buscar, imprimir, agregar, modificar, eliminar y salir. Estos botones
no los colocaste tú entonces es magia, pero ahí están; esto es VFP, más
adelante veremos como modificarlos, y has clic en ellos pruébalos y verás como
funcionan, pues la función de cada uno de estos es sencilla.
Que hay dentro del formulario generado
Demos un vistazo más de cerca a cómo funcionan
los formularios. Hay varias formas de abrir el formulario, estas son algunas:
- Haciendo clic en la palabra
"Cliente" (este es el nombre del formulario ¿recuerdas
verdad?).
- Resalta la palabra
"cliente" (en la ficha docs), en formularios, luego has clic en
Modificar.
- Resalta la palabra
"cliente" en Formularios, luego presiona Enter.
Estas son al menos las que yo manejo, ahora
viste la ventana de tu formulario ¿verdad?, bien, haz clic en cualquier parte
dentro del área de tu campo codcliente; ves una serie de marquitas cuadradas
alrededor del campo, si haces clic en cualquier otro verás lo mismo haz la
prueba. Todo el grupo, que consiste en un título, un campo de entrada y el
reflejo de una sombra, es un objeto. Fue generado por el asistente para
formularios.
Ahora podrás ver las propiedades del objeto
seleccionado. Como es usual, hay muchas maneras para desplegar la ventana
Propiedades. te enseñare algunas que son muy fáciles has clic con el botón
secundario del ratón en cualquier parte del objeto para producir el menú
contextual Objeto y luego hacer clic en Propiedades. O podes hacer clic en la
opción Propiedades del menú Ver de VFP.
Propiedades y métodos
Las propiedades y métodos es donde toma lugar
la mayoría de las acciones dentro de la interfaz de VFP.
Propiedades
La ventana de propiedades consiste de un marco
de página de control con cinco fichas:
Todo
Muestra todos los tipos de propiedades
Datos
Muestra sólo la fuente de los datos del objeto. La
máscara de entrada (cláusula InputMask), si el campo es originalmente de sólo
lectura, y si hace clic en el objeto termina la lectura o no.
Diseño Muestra sólo el color, la visibilidad, la fuente, el estilo y algunas
otras propiedades relacionadas con la apariencia del objeto.
Métodos
Muestra sólo métodos. Los métodos son funciones pegadas
al objeto. Hay un método para cada evento pegado a un objeto, y los objetos
pueden tener cualquier número de eventos, incluyendo Load, Click, DoubleClick,
DragDrop y GotFocus. Tú puedes agregar métodos (pero no eventos) a cualquier
objeto.
Otros
Muestra solamente información sobre clases, modo de
arrastrar, estado activo o inactivo, y algunos otros.
Menús principales y barras de
herramientas eventuales
Has notado que cuando activa algún generador,
aparecen otros menús principales y sus menús desplegables asociados se
insertarán dentro de la barra de menús en medio de otros. Justamente debajo de
los menús principales de VFP (Archivo, Edición, Ver, etc.), están una serie de
botones o iconos estos pertenecen a la
barra de herramientas estándar, pero tu puedes agregar barras, existen un total
de 11 barras en VFP estas son:
- Controles de formularios
- Controles de informes
- Diseñador de Bases de datos (llamada
también Generador de bases de datos) - Diseñador de consultas (Generador de
consultas)
- Diseñador de formularios (Generador
de formularios)
- Diseñador de informes (Generador de
informes)
- Diseñador de vistas (Generador de
vistas)
- Diseño (Distribución)
- Estándar
- Paleta de colores
- Vista preliminar (Presentación
preliminar)
Cada una de estas barras contienen varios
iconos que, en general representan opciones que tu puedes seleccionar. Con la
barra de herramientas te evitas de hacer algunos pasos, por ejemplo para
activar un diseñador de bases de datos tienes que hacer clic en Archivo y luego
en nuevo, pues con la barra de herramientas estándar sólo haz clic en el icono
con el dibujo de una carpeta abierta. Si colocas el puntero del ratón sobre
cada icono verás un pequeño recuadro que te describe la función de cada icono.
Si eres curioso pruébalos para que te des una idea de lo que digo.
Adicionar o eliminar un nuevo menú a Visual FoxPro
Crear tu propia barra de herramientas es fácil
sólo haz un clic con el botón secundario del ratón en cualquier parte de la
barra estándar o sobre la barra que tengas activa luego haz clic en Barra de
herramientas, elige nuevo de las teclas de control que están a la derecha;
ahora digita el nombre que darás a tu barra en esta ocasión dale el nombre de
"Favoritos", presiona enter y te saldrán los iconos correspondientes
a cada categoría arrastra los botones que desees a tu barra a medida le
agregues botones esta crecerá, luego haz clic sobre aceptar y listo para
eliminarla luego haz clic (con el botón secundario), sobre cualquier barra de
herramienta activa que tengas, ahora selecciona la barra "Favoritos"
que creamos y la eliminas con el botón de control eliminar al lado derecho,
clic en aceptar y listo.
Nota
!No vayas a eliminar cualquier barra de herramientas
que trae disponible FoxPro¡.
Para descargar este manual, haz click aquí
_______________________________________________________________________
Notas:
- Esta información tú la puedes
distribuir a tus amigos totalmente gratis pues su
distribución
es gratis no puedes lucrarte de esta información.
- No puedes modificar la información
detallada en este manual en caso de haber
errores
házmelos saber y así poder corregirlos.
- No debes borrar el nombre de autor
pues, estarías violando los derechos de autor
y
a la vez estarías quitándole mérito al creador de este manual de VFP.
Cualquier Observación, crítica, felicitación,
duda, consulta o sugerencia, favor hazla a las direcciones de correo
electrónico siguientes: [email protected] y [email protected]. Si quieres saber más información acerca de VFP favor
envíame tu correo electrónico y trataré de darte la continuación de este manual
de VFP, te estaremos manteniendo informado acerca de lo que necesitas saber.
Autor: Gilmer O. Manzano Mendoza.
Estudiante de la Universidad de Oriente UNIVO.
Copyright (c) Enero del 2000.