___________________________________
Manual de FoxPro
Por Gilmer O. Manzano Mendoza
(Parte II)
__________________________________
Introducción
Vistas
Consultas
Mi segunda aplicación
Tipos de formularios
Creando los datos de nuestra segunda aplicación
Creación de Menús
Notas
Introducción
¿Recuerdas la primera parte del manual?, nuestro manual finalizaba con la
creación de un proyecto bueno, pues dejame decirte que de aquí veremos
proyectos en adelante, pero aprenderemos a poder crear un proyecto con varios
formularios, nuestro proyecto tendrá un grado más alto de dificultad, y con
este proyecto trabajaremos durante todo el manual, si no te sale el proyecto
pues no te preocupes pues el ejemplo esta aquí, y puedes descargarlo a tu
computadora; (este ejemplo lo podrás usar sólo en la versión 6.0 de VFP, si tu
quieres el ejemplo para la versión 5.0 escríbeme, amigo(a)). A la vez espero
que te sea útil este manual.
_________________________________________________________
Vistas
Las vistas son las que revisan y comparan los datos de las tablas. Existen
dos tipos de Vistas estas son: Vista Local y Vista Remota. ¿Cuándo se utiliza
una Vista Local? Se utiliza cuando sean datos de la misma Base de Datos, en
caso contrario la Vista Remota se utiliza utilizando datos de distintas Bases
de Datos. _________________________________________________________
Consultas
Las consultas a diferencia de las vistas son archivos reales, y se utilizan
en tiempo de ejecución siempre y cuando sean datos de la misma base de datos.
Antes de comenzar a realizar nuestro proyecto veamos los tipos de índices
que hay en VFP:
Regular o normal: Para ordenar la tabla.
Principal: Es un campo único que no acepta repetición. Este se
utiliza para la tabla principal o tabla madre el cual, genera un índice con
extensión .cdx.
Único: Todos los índices se indexan al primer campo.
Candidato: Adopta las características para poder cambiarse de
principal a normal. _________________________________________________________
Mi segunda aplicación
Bien es hora de comenzar, pues para hacer esto un poco divertido que te
parece si utilizamos la programación orientada a objetos y el diseño orientado
a objetos, que representa un cambio en la programación estándar o tradicional,
bien para comenzar te aconsejo crear un subdirectorio puedes hacerlo dentro de
VFP con el comando MD "nombredesubdirectorio" ahora establezcamos
como estándar este subdirectorio digitando: set defa to
"rutadesubdirectorio", bien ahora presiona Crtl + n, y elige
proyecto, nuevo proyecto y digita el nombre de tu proyecto si tu quieres puedes
utilizar el mismo nombre que yo he utilizado aquí: "sistema.pjx" pues
así, será más fácil para ambos ya que hablaremos el mismo idioma ¿no lo
crees?... bien comenzemos creando nuestro formulario de presentación para ello
en Documentos del admin. de proyectos selecciona formulario y nuevo, nuevo
formulario, bien ahora aplicando los conceptos de programación aplicada a
objetos bien agreguemósle una imagen .BMP, luego, para hacerlo tienes que tener
activadas la ventana de propiedades de formulario si no lo tienes entonces
debes hacer clic derecho en el formulario y seleccionar propiedades, bien
fijate ahora que tengas activada la barra de herramientas "Controles para
formularios", si no la tienes entonces haz clic en ver y Barra de
herramientas Controles de formulario haz clic ahí para que te aparezca ahora
haz clic en el icono imágen de esta barra y ahora marca el cuadro con el ratón
para definir el área donde aparecerá nuestra imágen ahora en propiedades
busca "picture" y en los puntos (...) que aparecen en la parte
superior de las propiedades has clic ahí, y busca una imagen .BMP, haz pequeña
la imagen la verás recortada así que no te apures y busca ahora
"Stretch" y selecciona "Estirar" ahora... ¿Ves los cambios
verdad...?, ¿ves el nombre en la barra de título que dice "Form1?,
cambiemóslo entonces eso lo haces en "Caption" en las propiedades
claro; y escribe "sistema de biblioteca" este formulario será sólo
nuestra presentación para entrar a nuestro sistema ya armado así que si tú lo
ves falta algo que nos estorba ¿no crees?, eres listo amigo(a) me admiras, sí,
son los botones minimizar, maximizar y cerrar en general toda la barra de
título, sin embargo, en nuestro caso dejaremos la barra de título y el
botón de cerrar, para quitar el botón minimizar y maximizar busca
"Minbutton" y "maxButton" esta en verdadero cambialos a
falso. Guardemos el formulario con el nombre de "Presentación1.scx".
pero nuestro formulario es muy grande para presentación asi que con el ratón
haz más pequeño el formulario, pero fijate en algo si ejecutamos el formulario
aparecerá en la esquina de nuestra pantalla y no en el centro, para centrar
nuestra ventana entonces busquemos la opción "Autocenter" y cambiemóslo
a verdadero pero aún nos falta especificarle que la ventana estará en normal
(me refiero al tamaño pues si lo dejas maximized tendrá el mismo tamaño, es
decir cubrira toda nuestra pantalla, así que en "WindowState"
colocalo en 0-Normal, ahora para que se cierre nuestra ventana por si sola
necesitamos un cronometro así, que en la barra de herram. Controles de
formularios selecciona cronometro y ponlo en cualquier parte del formulario, y
haz doble clic para entrar y digitar el siguiente código fuente:
this.enabled=.f.
do form presentacion2
release thisform
esto significa que nuestro formulario no esta activado y que abrirá al
formulario "presentación2.scx" y luego se cerrará instantáneamente el
formulario presentación1.scx (que es el que estamos creando actualmente);
Creemos nuestro último formulario llamado "acerca_de.scx", como ya
vimos sólo déjale activado el botón de cerrar en la barra de título, luego
quitale el form1 que aparece de título en esta barra y ponle "acerca
de..." e introduce el texto que tu crees conveniente como el nombre de
autor, el copiright utilizando las etiquetas, cierrálo y guardalo. Bien ahora pasemos a los siguientes
subtítulos (Tipos de Formularios y Creando los datos de nuestra segunda
aplicación), y después crearemos un formulario utilizando el asistente
y utilizando los datos de la tabla que nosotros creamos; hagámoslo ¿si?,
pero esta vez no te ayudaré si tienes dudas ve la primera parte de este manual,
el nombre de este formulario será: "datos.scx"
_________________________________________________________
Tipos de Formularios
Los tipos de formularios que existen son: los normales y de nivel superior y
en nuestro caso en formulario que hemos creado es normal pero no nos funcionara
el cronometro pues necesita que el formulario sea de alto nivel para hacer esto
busquemos "ShowWindow" y seleccionemos: 2-Como formulario de nivel
superior, ¿no has cerrado las propiedades verdad...? pues si lo hiciste abrelas
de nuevo y haz clic en le cronometro que esta en el formulario y busca
"Interval" dale un valor de 4000 te dará un error al ejecutarlo ya
que aún no hemos creado el formulario "presentacion2.scx" asi que digita
Ctrl + w esto guardará el formulario y lo cerrará ahora creemos un nuevo
formulario colocale sólo una imagen y algún título como: por ejemplo
"Biblioteca Masferrer" o el nombre que tú quieras, declaralo no
olvides declararlo como un formulario de nivel superior; a este formulario lo
utilizaremos más tarde por ello dejemoslo ¿así te parece?... bien,
"no" le vallas a introducir un cronometro a este formulario, si tu
quieres agregarle etiquetas (Labels) o mensajes puedes hacerlo haciendo clic en
el icono label o etiqueta; activa las propiedades de la etiqueta y en Caption
le cambias "label" por el mensaje que tú desees.El nombre de este
segundo formulario será "presentacion2.scx".
_________________________________________________________
Creando los datos de nuestra segunda aplicación
Bien crearemos una tabla dentro del contenedor de tablas o basededatos que
tendrá el nombre de "datos.dbc" (si no recuerdas como hacer esto ve
la primera parte de este manual); y a la tabla le llamaremos:
"tablas.dbf" los datos de la "tablas.dbf" serán:
Nombre-------- Tipo----------- Ancho
Codigo--------- Carácter------- 12
Nombre_lib--- Carácter------- 30
Autor---------- Carácter------- 30
editorial-------- Carácter------- 15
area_estud---- Carácter------- 18
Guardemos esto y cerrémoslo ¿recuerdas? puedes hacerlo presionando Ctrl + w.
Creo que ya no se te olvidará ya te lo he mencionado antes en este manual, y
esta será la última vez que te lo diré, pues desde hoy sólo te diré ciérralo y
guárdalo.
_________________________________________________________
Creación de Menús
Ahora que ya tenemos los datos que introduciremos en nuestra aplicación, y
tenemos ya los dos formularios que necesitamos ahora haremos el menú pero este
será un poco diferente a los que hemos creado anteriormente.
Abramos el formulario "presentacion2.scx" y no lo cierres bien ahora
vayámonos al administrador y comencemos a crear el menú su nombre será
"menu.mnx". Selecciona menu (hay dos clases de menús; menú y menú
contextual), digitemos lo siguiente:
Indicador ----------- Acción ------- Opciones
\<Programa -------- Submenu ----- Crear (botón)
\<Acerca de... ----- Comando ----- Do form acerca_de
la pleca invertida o “\” junto con < nos indica de que la Primer letra
del menú saldrá subrayada pero tú puedes especificar otra letra por ejemplo:
P\<rograma aquí le decimos a VFP que la letra “r” será la que estará
subrayada. En submenú haz clic en crear
y digita lo siguiente:
Indicador ------------ Acción ------------ Opciones
\<Base de datos... --- Comando ---------- Do form datos
\- ------------------- Comando
---------- (acá no digitaremos nada)
\<Salir --------------- Procedimiento ---- Crear
En crear del digita el siguiente código fuente:
Clear windows
Set debug on
Set debug off
Clear events
Cerremos está ventana donde digitamos
el código y a hacer clic en opciones generales del menú ver y dónde dice formulario de nivel superior lo marcamos
con un cheque, y aceptar ahora cerrémoslo y
guardémoslo recuerda el nombre es “menuprueba.mnx”; imagino que no has
cerrado el formulario, que habíamos abierto ¿verdad...? pues bien has doble
clic en cualquier parte del formulario (claro que no sea sobre alguna imagen o
etiqueta sino parte libre del formulario), y te aparecerá una ventana veremos
la palabra procedimiento busquemos el evento o procedimiento “Init”, y digitar
lo siguiente:
Do menuprueba.mpr With
This,.T.
Este comando nos permite agregar o enlazar el menú con el formulario
“presentación2.scx”, ahora cerrémoslo y guardémoslo ejecuta el formulario
principal, luego de que generemos la aplicación ya que el menú no funciona a
menos que este generado nuestro proyecto. Ahora ejecuta el formulario principal
si no tienes idea de cual es pues yo te ayudo el principal es aquel que esta en
negrilla puede ser un formulario o el menú, etc. Ya caíste verdad, pues si es:
“Presentacion1.scx” pues esta en negrilla. Esto que te diré a continuación es
sólo para que lo sepas y lo puedas practicar tu puedes cambiar el archivo
principal y declarar a otro para esto selecciona un formulario el que guste o
el menú y has clic derecho y seleccionemos “Establecer principal” del menú
contextual. Pero para nuestro caso si haces esto te aconsejo que vuelvas a
establecer como principal a “presentacion1.scx” ya que nuestra aplicación esta
diseñada para que esto sea así.
Espero que te haya parecido interesante esta segunda parte del manual, pues
yo he tratado de incluir tanto programación orientada a objetos, así como la
programación estándar en los diversos procesos que hemos ido haciendo.
Si quieres el ejemplo que te prometí haz clic aquí,
en este ejemplo esta todo lo que hemos visto en este manual. Pero no sólo te
facilito el ejemplo sino también el manual,si lo quieres
has clic aquí.
Nota: La \ junto con "-" nos índica que habra una línea de separación entre
las opciones del menú.
Consejos: Guarda todos los archivos que necesites para que trabajes en un
mismo subdirectorio por ejemplo deben ir allí todos los archivos incluyendo las
imágenes, iconos, etc.
_________________________________________________________
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: gilmermanzano@latinmail.com e
imperiodecristal@yahoo.com . 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.
El Salvador C.A.
Copyright (c) Enero – Junio del 2000.