Guía elaborada por: Carmen Estela Silva H. Este tutorial lo bajaste de http://www.mipagina.cantv.net/carmenestela
1. INTRODUCCION…………………………………………………01 2.ESTABLEZCA LA UNIDAD O EL DIRECTORIO PREDETERMINADOS. …………………………………………… 2.1. ESTABLEZCA EL ARCIVO DE AYUDA 3. REQUISITOS DE VISUAL FOX PRO ……………………… 4. EL ADMINISTRADOR DE PROYECTOS………………… 5. PROGRAMAS SECUENCIALES INTERACTIVOS Y ORIENTADO A EVENTOS………………………………………… 6. PROGRAMA PARA EL ENTORNO DE WINDOWS ……………… 7. MODO DISEÑO Y MODO DE EJECUCIÓN ………………… 8. DISEÑADORES DE VISUAL FOXPRO………………… 9. USAR LOS ASISTENTES………………… 10. INICIAR UN ASISTENTE ………………… 10.1. ASISTENTES………………… 10.2. USAR GENERADORES………………… 10.2.1. GENERAR UN CONTROL ………………… 10.2.2. DAR FORMATO A VARIOS CONTROLES ………………… 10.2.3. USAR EL GENERADOR DE FORMULARIOS…………… 11. CREAR TABLAS………………… 11.1. CREAR UNA TABLA CON UN ASISTENTE ………………… 11.2. DISEÑADOR DE TABLAS………………… 11.3. TIPO DE DATOS DE UN CAMPO………………… 11.4. VENTAJAS DE LAS TABLAS ASOCIADAS A UNA BASE DE DATOS………………… 11.4.5. BASE DE DATOS………………… 11.4.5.1. ASISTENTE PARA BASES DE DATOS 11.4.5.2. DISEÑADOR DE BASES DE DATOS………………… 11.5. INDEXAR TABLAS………………… 11.5.1. CREAR UNA CLAVE DE ÍNDICE DE UNA TABLA ………… 11.5.1.2. CREAR UN ÍNDICE PARA ORDENAR REGISTROS …… 11.5.1.3. CREAR UN ÍNDICE QUE IMPONGA VALORES ÚNICOS EN UN CAMPO ………………………………………… 11.5.2. ELEGIR UN TIPO DE ÍNDICE………………………. 11.5.2.1. PRINCIPAL …………………………………… 11.5.2.2. CANDIDATO …………………………………… 11.5.2.3. NORMAL …………………………………… 11.5.2.4. ÚNICO …………………………………… 12. FORMULARIOS 12.1. ADMINISTRAR FORMULARIOS 12.2. ESTABLECER EL ENTORNO DE DATOS 12.2.1. ABRIR EL DISEÑADOR DE ENTORNOS DE DATOS 12.2.2. PROPIEDADES HABITUALES DEL ENTORNO DE DATOS 12.2.3. AGREGAR UNA TABLA O VISTA AL DISEÑADOR DE ENTORNOS DE DATOS 12.2.4. QUITAR UNA TABLA O UNA VISTA DEL DISEÑADOR DE ENTORNOS DE DATOS 12.2.5.1. EL DISEÑADOR DE ENTORNOS DE DATOS CON RELACIONES ESTABLECIDAS ENTRE TABLAS 12.2.5.2. MODIFICAR LAS PROPIEDADES DE LA RELACIÓN 12.3. INTERFACES DE UN ÚNICO DOCUMENTO E INTERFACES DE DOCUMENTOS MÚLTIPLES 12.3.1. TIPOS DE FORMULARIOS 12.3.1.1. ESPECIFICAR UN FORMULARIO SECUNDARIO 12.3.1.2. ESPECIFICAR UN FORMULARIO FLOTANTE 12.3.1.3. ESPECIFICAR UN FORMULARIO DE NIVEL SUPERIOR 12.3.1.3.1. AGREGAR UN MENÚ A UN FORMULARIO DE NIVEL PRINCIPAL 12.3.1.2. OCULTAR LA VENTANA PRINCIPAL DE VISUAL FOXPRO CLASES CLASES DE BASE DE VISUAL FOXPRO CREAR UNA CLASE NUEVA EJEMPLO SENCILLO GALERÍA DE COMPONENTES ABRIR LA GALERÍA DE COMPONENTES MOVER ELEMENTOS DESDE LA GALERÍA DE COMPONENTES EJEMPLO 12.3.2. OBJETOS Y PROPIEDADES 12.3. ASIGNAR UN ICONO A UN FORMULARIO REFERENCIAS A OBJETOS EN LA JERARQUÍA DE OBJETOS CONTROLES USAR GRUPOS DE BOTONES DE OPCIÓN USAR CUADROS DE LISTA Y CUADROS DE LISTA DESPLEGABLES (CUADROS COMBINADOS) MÉTODOS DE CUADRO DE LISTA QUE SUELEN UTILIZARSE CON FRECUENCIA CASILLAS DE VERIFICACIÓN CUADROS DE TEXTO VALIDAR DATOS EN UN CUADRO DE TEXTO CUADROS DE EDICION CUADROS COMBINADOS
CONTROLES NUMÉRICOS BOTONES DE COMANDO Y GRUPOS DE BOTONES DE COMANDO OBJETO HYPERLINK CONTROL CRONÓMETRO CONTROL IMAGE USAR ETIQUETAS USAR FORMAS USAR LÍNEAS USAR GRÁFICOS DE FORMULARIO PARA MOSTRAR INFORMACIÓN MEJORAR LA PRESENTACIÓN DE CONTROLES USAR CUADRÍCULAS PROPIEDADES COMUNES DE LAS COLUMNAS PARA ESTABLECER EL ORIGEN DE DATOS PARA UNA CUADRÍCULA PARA ESTABLECER EL ORIGEN DE DATOS PARA UNA COLUMNA AGREGAR DE FORMA INTERACTIVA CONTROLES A UNA COLUMNA DE CUADRÍCULA PARA QUITAR CONTROLES DE COLUMNAS DE CUADRÍCULA EN EL GENERADOR DE FORMULARIOS USAR MARCOS DE PAGINA CONTROL CONTENEDOR OLE CONTROL ACTIVEX DEPENDIENTE NOMBRES DE OBJETOS EVENTOS CONJUNTO BÁSICO DE EVENTOS MÉTODOS CONSULTAS TIPOS DE CONSULTAS CONSULTAS SENCILLAS DE SÓLO LECTURA BASADAS EN TABLAS (ARCHIVOS .DBF) O EN VISTAS COMO INICIAR EL GENERADOR DE CONSULTAS. CREAR UNA CONSULTA CON EL DISEÑADOR DE CONSULTAS PARA CREAR UNA CONSULTA CON UN ASISTENTE DESTINO DE LA CONSULTA CONSULTAS LOCALES DE MÚLTIPLES TABLAS O CON DATOS REMOTOS OPCIONES DEL CUADRO DE DIÁLOGO CONDICION DE COMBINACION CREAR UNA COMBINACIÓN ENTRE TABLAS ELIMINAR UNA COMBINACIÓN MODIFICAR UNA COMBINACIÓN VISTAS CREAR VISTAS CREAR UNA VISTA CON UN ASISTENTE INICIAR EL DISEÑADOR DE VISTAS
CREAR UN SISTEMA DE MENÚS CREAR UN SISTEMA DE MENÚS CON MENÚ RÁPIDO GENERAR UN MENÚ CREAR MENÚS SDI (UNA APLICACIÓN QUE SÓLO ADMITE UN DOCUMENTO CADA VEZ) CREAR UN MENÚ SDI INCLUIR UN SISTEMA DE MENÚS EN LA APLICACIÓN ADJUNTAR MENÚS SDI A FORMULARIOS CREAR UN MENÚ CONTEXTUAL ADJUNTAR MENÚS CONTEXTUALES A CONTROLES ACTIVAR O DESACTIVAR UN MENÚ O ELEMENTO DE MENÚ MARCAR EL ESTADO DE UN ELEMENTO DE MENÚ ASIGNAR UN COMANDO A UN MENÚ O ELEMENTO DE MENÚ ESPECIFICAR UN MÉTODO ABREVIADO DE TECLADO PARA UN MENÚ O ELEMENTO DE MENÚ ESPECIFICAR LA TECLA DE ACCESO DE UN MENÚ O ELEMENTO DE MENÚ INFORMES DETERMINAR EL TIPO DE INFORME QUE VA A CREAR CREAR EL ARCHIVO QUE CONTENGA EL DISEÑO DEL INFORME USAR UN ASISTENTE PARA INFORMES CREAR UN INFORME RÁPIDO CREAR UN INFORME EN BLANCO MODIFICAR EL DISEÑO MODIFICAR UN INFORME GENERADO BANDAS DE INFORME EN EL DISEÑADOR DE INFORME AGREGAR LAS BANDAS TÍTULO Y RESUMEN AGREGAR UNA BANDA TÍTULO Y RESUMEN TIPOS DE CONTROLES DE INFORME.
ESTABLECER EL ORIGEN DE DATOS DEL INFORME EL ENTORNO DE DATOS ADMINISTRA LOS ORÍGENES DE LOS DATOS DE SUS INFORMES ESTABLECER UN ÍNDICE PARA EL ENTORNO DE DATOS AGREGAR CONTROLES DE CAMPO AGREGAR CAMPOS DE TABLA DESDE LA BARRA DE HERRAMIENTAS UTILICE LA BARRA DE HERRAMIENTA DISEÑO PARA ALINEAR LOS CONTROLES AGREGAR UN GRUPO HERRAMIENTAS PARA PERSONALIZAR EL DISEÑO DEL INFORME CUADRO DE DIÁLOGO CONFIGURAR PÁGINA DEFINIR EL ENCABEZADO Y EL PIE DE PÁGINA DEFINIR LA BANDA DETALLE DAR FORMATO A LOS CONTROLES DE CAMPO OPCIONES DEL CUADRO DE DIÁLOGO VISTA PRELIMINAR E IMPRESIÓN DE SU INFORME VISTA PRELIMINAR DE LOS RESULTADOS IMPRIMIR INFORMES PARA IMPRIMIR UN INFORME
INTRODUCCION Visual FoxPro, es un nuevo y potente entorno orientado a objetos para la creación de bases de datos y la programación de aplicaciones. Visual FoxPro proporciona todas las herramientas necesarias para administrar datos, tanto si va a organizar tablas de información y ejecutar consultas, como si va a crear un sistema de base de datos relacional integrado o programar una aplicación para la administración de datos de usuarios. PARA REALIZAR LOS EJERCICIOS CREE UNA CARPETA EN C: Y ESTABLEZCA UNA UNIDAD Y DIRECTORIO PREDETERMINADO DE TRABAJO CON EL COMANDO SET DEFA TO Así: SET DEFA TO "E:\EJERCICIOS DE VISUAL FOXPRO6.0" desde la ventana comandos en el menú Ventana.
Las bases de datos son conjuntos de tablas, normalmente relacionadas entre sí mediante campos comunes. Como soporte para las tablas y las relaciones, también puede incluir en la base de datos vistas, conexiones, procedimientos almacenados, reglas de negocios y desencadenantes. Los archivos de base de datos tienen la extensión .dbc. Las tablas libres son tablas que no forman parte de la base de datos y que están almacenadas en un archivo con la extensión .dbf. Las consultas son un método estructurado de solicitar información específica que está almacenada en tablas. Mediante el Diseñador de consultas se formula una pregunta que extrae registros de las tablas basándose en los criterios especificados. Las consultas se guardan como archivos con la extensión .qpr.
ESTABLEZCA EL ARCHIVO DE AYUDA Haga clic en el menú Herramientas y luego en opciones. En el cuadro de diálogo opciones, seleccione la ficha archivo, en tipo de archivo haga clic en archivo de ayuda, luego haga clic en el botón modificar.En el cuadro cambia la ubicación del archivo de ayuda coloque ; c:\archivos de programa\microsoft visual studio\msdn98\98vs\3082\foxhelp.chm 1. REQUISITOS DE VISUAL FOX PRO • Los requisitos mínimos para ejecutar Visual FoxPro con los sistemas operativos Windows: • Un PC compatible con IBM con un procesador 486 a 66MHz (o superior). • Un mouse. • 16 MB de RAM. • 85 MB para la instalación típica y 90 MB para la instalación completa. • Se recomienda un monitor VGA o de mayor resolución. EL ADMINISTRADOR DE PROYECTOS La primera vez que inicie Visual FoxPro, el Administrador de proyectos creará un nuevo proyecto vacío de forma que pueda agregar elementos existentes al nuevo proyecto o bien crear elementos nuevos para incluirlos en el proyecto. La forma más sencilla de familiarizarse con Visual FoxPro es utilizar el Administrador de proyectos. El Administrador de proyectos proporciona un método sencillo y visual de organizar y trabajar con tablas, archivos, bases de datos, informes, consultas y otros archivos cuando se administran tablas y bases de datos o se crea una aplicación.
Las vistas son consultas especializadas que permiten tener acceso a datos remotos y actualizar orígenes de datos modificando los registros devueltos por la consulta. Sólo existen dentro de una base de datos y no son archivos independientes. 2. PROGRAMAS SECUENCIALES INTERACTIVOS Y ORIENTADO A EVENTOS Aunque Visual FoxPro admite la programación estándar por procedimientos, se ha ampliado la capacidad del lenguaje para proporcionar la potencia y la flexibilidad propias de la programación orientada a objetos. El diseño orientado a objetos y la programación orientada a objetos representan un cambio de perspectiva con respecto a la programación estándar por procedimientos. En lugar de pensar en el flujo del programa desde la primera hasta la última línea de código, se debe pensar en la creación de objetos: componentes autocontenidos de una aplicación que tienen funcionalidad privada además de la funcionalidad que se puede exponer al usuario. 3. PROGRAMA PARA EL ENTORNO DE WINDOWS Visual FoxPro 6.0 está orientado a la realización de programas para Windows, pudiendo incorporar todos los elementos de este entorno como son: ventanas, botones, cajas de diálogo y de texto, botones de opción y de selección, barras de desplazamiento, gráficos, menús, etc. Prácticamente todos los elementos de interacción con el usuario de los que dispone Windows 95/98/NT pueden ser programados en Visual FoxPro 6.0 de un modo muy sencillo. En ocasiones bastan unas pocas operaciones con el ratón y la introducción a través del teclado de algunas sentencias para disponer de aplicaciones con todas estas características. En los siguientes puntos se introducirán algunos conceptos de este tipo de programación 4. MODO DISEÑO Y MODO DE EJECUCIÓN VFP puede trabajar de dos modos distintos: en modo de diseño y en modo de ejecución. En modo de diseño el usuario construye interactivamente la aplicación, colocando controles en el formulario, definiendo sus propiedades, y desarrollando funciones para gestionar los eventos, es decir diseñando la interfaz gráfica o escribiendo código. La aplicación se prueba en modo de ejecución. En ese caso el usuario actúa sobre el programa (produce eventos) y prueba cómo responde el programa. Hay algunas propiedades de los controles que deben establecerse en modo de diseño, pero muchas otras pueden cambiarse en tiempo de ejecución desde el programa escrito en Visual FoxPro. También hay propiedades que sólo pueden establecerse en modo de ejecución y que no son visibles en modo de diseño. Todos estos conceptos –controles, propiedades, eventos, etc.- se explican más adelante. DISEÑADORES DE VISUAL FOXPRO La tabla siguiente resume los diseñadores que se utilizan para realizar las distintas tareas. Para
El Administrador de proyectos es la herramienta principal de organización para trabajar con datos y objetos en Visual FoxPro. Un proyecto es un conjunto de archivos, datos, documentos y objetos de Visual FoxPro que se guardan como un archivo con extensión .pjx
Utilice este diseñador
Crear tablas y establecer índices en tablas
Diseñador de tablas
Ejecutar consultas en tablas locales
Diseñador de consultas
Ejecutar consultas en orígenes de datos remotos; crear consultas actualizables
Diseñador de vistas
Crear archivos de combinación de correspondencia
Asistente para correspondencia
Crear un formulario para ver y modificar los datos de las tablas
Diseñador formularios
Crear formularios uno a varios
Asistente para formularios uno a varios
Crear un informe para mostrar e imprimir los datos
Diseñador de informes
Crear informes uno a varios
Asistente para informes uno a varios
Configurar una base de datos; ver y crear relaciones entre tablas
Diseñador de bases de datos
Asistente para upsizing a Oracle
Crear una conexión para vistas remotas
Diseñador conexiones
Crear bases de datos Oracle que dupliquen, en todo lo posible, la funcionalidad de bases de datos Visual FoxPro Crear tablas dinámicas
Asistente para tablas dinámicas
Crear consultas
Asistente para consultas
Crear vistas remotas
Asistente para vistas remotas
Crear informes
Asistente para informes
Exportar clases de Visual FoxPro a un archivo de modelo de objeto Microsoft Visual Modeler (.mdl)
Asistente para ingeniería inversa
Crear un personalizado
Asistente de ejemplo
de
de
Cada diseñador dispone de una o varias barras de herramientas que proporcionan acceso rápido a las características o acciones más habituales de la herramienta.
combinar
USAR LOS ASISTENTES Los Asistentes son programas interactivos que ayudan a realizar rápidamente las tareas habituales, como crear formularios, dar formato a informes y configurar consultas PARA INICIAR UN ASISTENTE
1.
2.
En el Administrador de proyectos, seleccione el tipo de archivo que desea crear y elija Nuevo. También puede elegir Nuevo en el menú Archivo y seleccionar el tipo de archivo que desea crear. Seleccione la opción Asistente.
También puede tener acceso directo a la mayor parte de los Asistentes si elige el comando Asistentes del menú Herramientas. ASISTENTES Para
Use el asistente
Crear aplicaciones de Visual FoxPro
Asistente para aplicaciones También puede usar el Generador de aplicaciones para incluir características avanzadas en su aplicación. Nota: También está disponible el Asistente para aplicaciones (5.0) de Visual FoxPro 5.0 para asegurar la compatibilidad con las versiones anteriores.
Importar un modelo de objeto de un archivo Microsoft Visual Modeler (.mdl) a Visual FoxPro
Asistente para la generación de código
Crear consultas de tablas de referencias cruzadas
Asistente para tablas referencias cruzadas
Crear una base de datos
Asistente para bases de datos
Dar formato y generar archivos de texto a partir del código de archivos de proyecto y de programa
Asistente para documentación
Crear formularios
Asistente para formularios
Crear gráficos
Asistente para gráficos
Importar o anexar datos
Asistente para importar
Crear etiquetas de correo
Asistente para etiquetas
Crear vistas
Asistente para vistas locales
de
asistente
Crear discos de distribución a partir de los archivos del árbol de distribución
Asistente para instalación
Crear bases de datos SQL Server que dupliquen, en todo lo posible, la funcionalidad de bases de datos Visual FoxPro
Asistente para upsizing a SQL Server
Crear una tabla
Asistente para tablas
Mostrar datos de una tabla o vista en un documento HTML
Asistente para publicación en Web
Crear páginas Web que permitan a los visitantes de la página Web buscar y recuperar registros de la tabla de Visual FoxPro
Asistente para páginas búsqueda de WWW
de
USAR GENERADORES Los generadores son cuadros de diálogo con fichas que simplifican la creación y modificación de formularios, controles complejos y código de integridad referencial. Cada generador muestra una serie de fichas que le permiten establecer las propiedades del objeto seleccionado. Puede usar los generadores para algunos controles, para formularios, para dar formato a controles y para crear integridad referencial entre tablas de bases de datos. GENERAR UN CONTROL
•
•
En la barra de herramientas Controles de formularios, elija el botón Bloqueo del Generador. Cada vez que agregue un control nuevo a un formulario, Visual FoxPro muestra el generador adecuado. –O– Seleccione un control del formulario y elija el botón Generador de la ventana Propiedades
CREAR UNA TABLA CON UN ASISTENTE
1. 2. 3. 4.
En el Administrador de proyectos, seleccione la ficha Datos y, a continuación, seleccione Tablas libres. Elija Nuevo. Elija el botón Asistente. Siga las instrucciones que aparecerán en las pantallas del asistente.
Puede diseñar y crear una tabla de forma interactiva mediante el Diseñador de tablas, accesible a través del Administrador de proyectos o del menú Archivo, o mediante el lenguaje de programación.
DAR FORMATO A VARIOS CONTROLES
• •
Para crear y modificar una tabla mediante programación se utilizan los comandos siguientes: Comandos para crear y modificar tablas
En el Diseñador de formularios, seleccione controles. En la barra de herramientas Diseñador de formularios, elija el botón Autoformato.
ALTER TABLE
CLOSE TABLES
CREATE TABLE
DELETE FILE
REMOVE TABLE
RENAME TABLE
DROP TABLE DISEÑADOR DE TABLAS
USAR EL GENERADOR DE FORMULARIOS
•
En el menú Formulario, elija Formulario rápido.
Utilice el Diseñador de tablas para crear y modificar tablas de base de datos, tablas libres, campos e índices. El Diseñador de tablas le ayuda a implementar características avanzadas como reglas de validación y valores predeterminados, y clases predeterminadas de controles. Opciones de la ficha • Campos Presenta los campos de la tabla en una cuadrícula que se puede desplazar. • Índices Contiene una cuadrícula desplazable para la definición de índices. • Tabla Presenta la información acerca de la tabla y le permite especificar desencadenantes y reglas a nivel de registro. TIPO DE DATOS DE UN CAMPO Tipo de datos
Descripción
Ejemplo
Character (Carácter)
Texto alfanumérico
La dirección de un cliente
Currency (Moneda)
Unidades monetarias
Precio de compra
Numeric (Numérico)
Números decimales
Float (Flotante)
Igual que Numeric
Date (Fecha)
Día, mes y año
Fecha en que realizó un pedido
DateTime (FechaHora)
Día, mes, año, horas, minutos y segundos
Fecha y hora en que un empleado llegó al
CREAR TABLAS Puede crear una tabla en una base de datos o una tabla libre que no esté asociada a ninguna base de datos. Cuando tenga que crear una tabla nueva, puede obtener ayuda de un Asistente para tablas o bien puede usar el Diseñador de tablas y crear una tabla con los campos que necesite. Las tablas, cuando se usan individualmente, son útiles para almacenar y ver la información con la que se trabaja. Pero si organiza sus tablas en una base de datos, podrá sacar más partido a la potencia de Visual FoxPro. Si introduce las tablas en una base de datos, puede reducir el almacenamiento de datos redundantes y proteger la integridad de los datos.
enteros
o
Cantidad de artículos pedidos
se
trabajo Double (Doble)
Número doble
de
precisión
Datos procedentes de experimentos que requieren un elevado grado de precisión
Integer (Entero)
Valores numéricos no decimales (números enteros)
Número de línea de un pedido
Logical (Lógico)
Verdadero o Falso
Campo que indica si se ha completado o no un pedido
Memo
Texto alfanumérico de longitud indeterminada
Notas de un registro telefónico sobre las llamadas
General
OLE
Hoja de cálculo de Excel
Character (binario)
Igual que Character, pero los valores no se traducen cuando cambia la página de códigos
Las contraseñas de usuario almacenadas en una tabla y usadas en distintos países
Memo (binario)
Igual que Memo, pero los valores no se traducen cuando cambia la página de códigos
Un archivo de comandos de inicio de sesión empleado en distintos países
VENTAJAS DE LAS TABLAS ASOCIADAS A UNA BASE DE DATOS: Las tablas asociadas a una base de datos cuentan con ciertas ventajas sobre las tablas libres. Cuando una tabla forma parte de una base de datos, es posible crear: • Nombres largos para la tabla y para cada uno de sus campos. • Títulos y comentarios para cada campo de la tabla. • Valores predeterminados, máscaras de entrada y formato para los campos de la tabla. • Clases de control predeterminada para campos de tablas. • Reglas a nivel de campo y a nivel de registro. • Índices de clave primaria y relaciones de tablas para compatibilidad con reglas de integridad referencial. • Un desencadenante para cada evento INSERT, UPDATE o DELETE.
Puede colocar las tablas y las vistas si las arrastra a su lugar o si utiliza el comando Organizar del menú Base de datos.
INDEXAR TABLAS Para desplazarse por los registros de una tabla, verlos o manipularlos en un orden determinado, debe utilizar un índice. Visual FoxPro utiliza los índices como mecanismos de ordenación para ofrecer flexibilidad y eficacia al programar una aplicación. La flexibilidad supone crear y utilizar múltiples claves de índice distintas para la misma tabla, lo que permite trabajar con los registros ordenados de formas diferentes, según las necesidades de la aplicación. La potencia implica crear relaciones personalizadas entre las tablas, basadas en sus índices, lo que le permite tener acceso a los registros que desea. Un índice de Visual FoxPro es un archivo que contiene punteros ordenados lógicamente según los valores de una clave de índice. El archivo de índice es independiente del archivo .DBF de la tabla, y no cambia el orden físico de los registros contenidos en la misma. Al crear un índice se crea un archivo que mantiene punteros a los registros del archivo .DBF. Cuando desee trabajar con los registros de la tabla en un orden determinado, elija un índice para controlar el orden en que se ve la tabla y se tiene acceso a ella. CREAR UNA CLAVE DE ÍNDICE DE UNA TABLA
•
•
En el Diseñador de tablas, elija la ficha Índices e introduzca la información de una clave de índice. Elija Normal como tipo de índice. –O – Utilice el comando INDEX.
Puede llevar a cabo varias tareas en función del tipo de índice que cree. Si desea
Use
Ordenar los registros para aumentar la velocidad a la que se muestran, se consultan o se imprimen
Un índice normal, candidato o principal.
Controlar la entrada de valores duplicados en un campo y ordenar los registros
Un índice principal o candidato para una tabla de base de datos o un índice candidato para una tabla libre.
BASE DE DATOS Un archivo de base de datos que tiene una extensión .DBC y puede contener una o varias tablas, vistas, conexiones con orígenes de datos remotos y procedimientos almacenados. Las bases de datos se pueden crear con el asistente para bases de datos o con el diseñador de bases de datos ASISTENTE PARA BASES DE DATOS En la ficha datos del administrador de proyecto, seleccione Databases y haga clic en el botón nuevo, seleccione asistente para bases de datos y siga las instrucciones. DISEÑADOR DE BASES DE DATOS El Diseñador de bases de datos muestra todas las tablas, vistas y relaciones contenidas en una base de datos. Cuando la ventana del Diseñador de bases de datos está activa, Visual FoxPro muestra el menú Base de datos y la barra de herramientas Diseñador de bases de datos. Cada tabla se representa por una ventana dimensionable que muestra los campos de la tabla y los índices, si existe alguno. El Diseñador de bases de datos muestra las relaciones persistentes al mostrar líneas entre las tablas que conectan los índices.
CREAR UN ÍNDICE PARA ORDENAR REGISTROS 1.
En el Administrador de proyectos, seleccione la tabla a la que desea agregar un índice y elija Modificar. 2. En la ficha Índices, escriba un nombre y un tipo para el índice. 3. En la columna Expresión, escriba el nombre de campo que desea usar para ordenar los registros. –O– Escriba una expresión que quiera usar para ordenar los registros o generar una expresión; para ello, elija el botón situado al final del cuadro para mostrar el Generador de expresiones. 4. Si quiere que los registros se muestren en orden descendente, seleccione el botón de flecha situado a la izquierda del nombre del índice.
La flecha del botón apunta hacia abajo para orden descendente y hacia arriba para orden ascendente. 5. Elija Aceptar. CREAR UN ÍNDICE QUE IMPONGA VALORES ÚNICOS EN UN CAMPO 1. 2. 3. 4.
En el Administrador de proyectos, seleccione la tabla a la que quiera agregar un índice y elija Modificar. En la ficha Índices, cree un índice. En la columna Tipo, seleccione Principal o Candidato. Elija Aceptar.
ELEGIR UN TIPO DE ÍNDICE Puede elegir entre cuatro tipos de índices: • Principal • Candidato • Normal • Único Los íNDICES PRINCIPALES aseguran que sólo se introducen valores únicos en un campo y determinan el orden en el que se procesan los registros. Puede crear un índice principal para cada tabla si la tabla está incluida en la base de datos. Si la tabla ya tiene un índice principal, agregue un índice candidato. Los ÍNDICES CANDIDATOS también imponen valores únicos y determinan en qué orden se procesan los registros, como un índice principal. Puede tener varios índices candidatos por tabla en bases de datos y en tablas libres. Los ÍNDICES NORMALES determinan el orden en que se procesan los registros pero permiten que se introduzcan valores duplicados en un campo. Puede agregar más de un índice normal a una tabla. ÍNDICE ÚNICO. Por compatibilidad con versiones anteriores, este índice selecciona y ordena un subconjunto de registros según la primera aparición de un valor en el campo que especifique.
ADMINISTRAR FORMULARIOS tareas comunes relacionadas con la administración de formularios Ocultar un Puede ocultar un formulario Use el Método Hide. formulario para que deje de estar Ejemplo visible para un usuario. THISFORM.Hide Cuando el formulario está oculto, el usuario no puede tener acceso a sus controles, pero sigue teniendo control total sobre ellos mediante programación Liberar un Puede permitir que un Utilice el método formulario usuario libere un formulario Release. cuando haya terminado de Ejemplo interactuar con él. Al liberar THISFORM.Release un formulario, ya no podrá tener acceso a sus propiedades y métodos. 12.2. ESTABLECER EL ENTORNO DE DATOS El entorno de datos de un formulario o un conjunto de formularios incluye las tablas o vistas con las que interactúa el formulario y las relaciones entre tablas que espera el formulario. Puede diseñar visualmente el entorno de datos en el Diseñador de entornos de datos y guardarlo con el formulario o con el conjunto de formularios. El entorno de datos puede automatizar la apertura y el cierre de tablas y vistas cuando se ejecuta el formulario. Además, el entorno de datos le ayuda a establecer la propiedad ControlSource para controles al rellenar el cuadro del valor de la propiedad ControlSource de la ventana Propiedades con todos los campos del entorno de datos. 12.2.1. PARA ABRIR EL DISEÑADOR DE ENTORNOS DE DATOS 1. 2. 3.
En el menú Ver, elija Entorno de datos. En el cuadro Agregar tabla o vista, elija Agregar. En el cuadro de diálogo Abrir, elija la tabla o vista que desea agregar al entorno de datos.
12. FORMULARIOS PROPIEDADES HABITUALES DEL ENTORNO DE DATOS Cada uno de los elementos gráficos que pueden formar parte de una aplicación típica de Windows 95/98/NT es un tipo de control: los botones de comando, las cajas de diálogo, los cuadros de texto, las casillas de selección, los botones de opción, las barras de desplazamiento horizontales y verticales, los gráficos, los menús, y muchos otros tipos de elementos son controles. Cada control debe tener un nombre a través del cual se puede hacer referencia a él en el programa. VFP proporciona nombres por defecto que el usuario puede modificar. En la terminología de Visual FOXPRO 6.0 se llama formulario (form) a una ventana.
Propiedad
Descripción
Valor predeterminado
AutoCloseTables
Controla si las tablas y las vistas se cierran cuando se libera el formulario o el conjunto de formularios.
Verdadero (.T.)
AutoOpenTables
Controla si las tablas y las vistas del entorno de datos se abren cuando se ejecuta el formulario.
Verdadero (.T.)
InitialSelectedAlias
La tabla o la vista que se selecciona cuando se ejecuta el formulario.
"" en tiempo de diseño. Si no se especifica, en tiempo de ejecución se seleccionará inicialmente el primer cursor agregado a DataEnvironment.
AGREGAR UNA TABLA O VISTA AL DISEÑADOR DE ENTORNOS DE DATOS Figura 1. Formulario
Cuando agregue tablas o vistas al Diseñador de entornos de datos, puede ver los campos y los índices que pertenecen a la tabla o a la vista.
Un formulario puede ser considerado como un objeto contenedor para los controles. Una aplicación puede tener varios formularios, pero un único formulario puede ser suficiente para las aplicaciones más sencillas. Los formularios deben también tener un nombre, que puede crearse siguiendo las mismas reglas que para los controles.
Una forma fácil de agregar una tabla o vista consiste en arrastrar una tabla o una vista desde un proyecto abierto hasta el Diseñador de entornos de datos. Cuando el Diseñador de entornos de datos está activo, la ventana Propiedades muestra objetos y propiedades asociadas al entorno de
datos. Cada tabla o vista del entorno de datos, cada relación entre tablas y el mismo entorno de datos son objetos distintos en el cuadro Objeto de la ventana Propiedades. QUITAR UNA TABLA O UNA VISTA DEL DISEÑADOR DE ENTORNOS DE DATOS 1. En el Diseñador de entornos de datos, seleccione la tabla o la vista. 2. En el menú Entorno de datos, elija Quitar. ESTABLECER RELACIONES EN EL DISEÑADOR DE ENTORNOS DE DATOS Si agrega al Diseñador de entornos de datos tablas que tienen relaciones persistentes establecidas en una base de datos, las relaciones se agregarán automáticamente al entorno de datos. Si las tablas no tienen relaciones persistentes, podrá relacionarlas en el Diseñador de entornos de datos.
INTERFACES DE UN ÚNICO DOCUMENTO E INTERFACES DE DOCUMENTOS MÚLTIPLES
RELACIÓN PERSISTENTE Relaciones entre tablas que duran más que simplemente el tiempo de ejecución. Las tablas deben estar en una base de datos para poder tener una relación persistente. EL DISEÑADOR DE ENTORNOS DE DATOS CON RELACIONES ESTABLECIDAS ENTRE TABLAS
Visual FoxPro le permite crear dos tipos de aplicaciones: • Las aplicaciones con interfaz de documentos múltiples(Multipledocument interface, MDI) están formadas por una ventana principal única y las ventanas de la aplicación están contenidas en la ventana principal. Visual FoxPro es fundamentalmente una aplicación MDI. • Las aplicaciones con interfaz de un único documento (SDI) están formadas por una o más ventanas independientes, cada una de las cuales aparece como ventana independiente en el escritorio de Windows. Algunas aplicaciones mezclan elementos SDI y MDI. TIPOS DE FORMULARIOS
También puede arrastrar un campo desde la tabla principal hasta un campo de la tabla relacionada. Si no hay ninguna etiqueta de índice en la tabla relacionada correspondiente al campo de la tabla principal, se le pedirá que cree la etiqueta de índice. MODIFICAR LAS PROPIEDADES DE LA RELACIÓN
• En la ventana Propiedades, seleccione la relación en el cuadro Objeto. Las propiedades de la relación corresponden a cláusulas y palabras clave de los comandos SET RELATION y SET SKIP. La propiedad RelationalExpr se establece de forma predeterminada con el nombre del campo clave principal de la tabla primaria. Si la tabla relacionada está indexada en una expresión, deberá establecer la propiedad RelationalExpr con esta expresión. Por ejemplo, si la tabla relacionada está indexada en UPPER(cust_id), deberá establecer RelationalExpr como UPPER(cust_id). Si la relación no es de uno a varios, establezca la propiedad OneToMany como falsa (.F.). Esto equivale a utilizar el comando SET RELATION sin ejecutar SET SKIP. Establecer la propiedad OneToMany de una relación como verdadera (.T.) equivale a ejecutar el comando SET SKIP. Si omite la tabla primaria, el puntero de registro permanecerá en el mismo registro primario hasta pasar a través de todos los registros relacionados de la tabla secundaria. Nota Si desea crear una relación de uno a varios en el formulario o el conjunto de formularios, establezca como verdadera (.T.) la propiedad OneToMany, aunque se haya establecido una relación persistente de uno a varios en la base de datos.
Formulario secundario. Un formulario contenido en otra ventana, utilizada en la creación de aplicaciones MDI. Los formularios secundarios no se pueden mover fuera de los límites de su formulario primario y cuando se minimizan aparecen en la parte inferior del formulario primario. Si el formulario primario está minimizado, también se minimizan los formularios secundarios. Formulario flotante. Formulario que pertenece a un formulario primario, pero no está contenido en él. Los formularios flotantes se pueden mover por toda la pantalla. No se pueden mover por detrás de su ventana primaria. Si están minimizados, aparece un formulario flotante en la parte inferior del escritorio. Si su formulario primario está minimizado, los formularios flotantes también se minimizan. Los formularios flotantes también se usan en la creación de aplicaciones MDI. Formulario de nivel superior. Un formulario independiente sin formulario primario, utilizado para crear una aplicación SDI o como formulario primario de otros formularios secundarios de una aplicación MDI. Los formularios de nivel superior funcionan al mismo nivel que otras aplicaciones de Windows y pueden aparecer por delante o por detrás de ellas. Aparecen en la barra de estado de Windows. Si va a crear un formulario secundario, debe especificar no sólo qué debe aparecer dentro de otro formulario, sino también si es un formulario secundario compatible con MDI, que indica el comportamiento del formulario cuando se maximiza. Si el formulario secundario es compatible MDI, se combina con el formulario primario, compartiendo la barra de título, el título, los menús y las barras de herramientas del formulario primario. Un formulario secundario no compatible con MDI se maximiza en toda la zona cliente del formulario primario, pero conserva su título y su barra de título. ESPECIFICAR UN FORMULARIO SECUNDARIO 1. 2.
• •
Cree o modifique el formulario mediante el Diseñador de formularios. Establezca la propiedad ShowWindow del formulario a uno de los valores siguientes: 0 – En pantalla. El formulario primario del formulario secundario será la ventana principal de Visual FoxPro. 1 – En formulario de nivel superior. El formulario primario del formulario secundario será el formulario de nivel superior que esté activo cuando se muestre la ventana secundaria. Use este valor si quiere que la ventana secundaria aparezca dentro de
3.
cualquier ventana de nivel superior distinta de la ventana principal de Visual FoxPro. Establezca la propiedad MDIForm del formulario a .T. (verdadero) si quiere que el formulario secundarios se combine con el formulario primario cuando se maximice, o a .F. (falso) si la ventana secundaria debe seguir siendo una ventana independiente cuando se maximice.
Un formulario flotante es una variación de un formulario secundario.
CommandButton
FormSet
OLEBoundControl
Shape
CommandGroup
Grid
OLEContainerControl
Spinner
ComboBox
Header*
OptionButton*
TextBox
Container
Hyperlink Object
OptionGroup
Timer
Control
Image
Page*
ToolBar
ESPECIFICAR UN FORMULARIO FLOTANTE 1. 2.
• • 3.
Cree o modifique el formulario con el Diseñador de formularios. Establezca la propiedad ShowWindow del formulario a uno de los valores siguientes: 0 – En pantalla. El formulario primario del formulario flotante será la ventana principal de Visual FoxPro. 1 – En formulario de nivel secundario. El formulario primario del formulario flotante será el formulario de nivel superior que esté activo cuando se muestre la ventana flotante. Establezca la propiedad Desktop del formulario a .T. (verdadero).
* Estas clases son parte integral de un contenedor primario y no pueden usarse como subclases en el Diseñador de clases. Todas las clases de base de Visual FoxPro reconocen el siguiente conjunto mínimo de eventos:
Evento
ESPECIFICAR UN FORMULARIO DE NIVEL SUPERIOR 1. 2.
Cree o modifique el formulario con el Diseñador de formularios. Establezca la propiedad ShowWindow del formulario a 2 – Como formulario de nivel superior.
AGREGAR UN MENÚ A UN FORMULARIO DE NIVEL PRINCIPAL 1. 2. 3.
Cree un menú de formulario de nivel superior. Establezca la propiedad ShowWindow del formulario a 2 – Como formulario de nivel superior. En el evento Init del formulario, ejecute el programa de menú y pásele dos parámetros:
Por ejemplo, puede llamar a un menú llamado mimenuSDI con este código: DO mimenuSDI.mpr WITH THIS, .T. OCULTAR LA VENTANA PRINCIPAL DE VISUAL FOXPRO 1.
2.
En el evento Init del formulario, incluya la siguiente línea de código: Application.Visible = .F. En el evento Destroy del formulario, incluya la siguiente línea de código: Application.Visible = .T.
Descripción
Init
Ocurre cuando se crea el objeto.
Destroy
Ocurre cuando el objeto se libera de la memoria.
Error
Ocurre siempre que tiene lugar un error en procedimientos de evento o de método de la clase.
Todas las clases de base de Visual FoxPro tienen el siguiente conjunto mínimo de propiedades:
Propiedad
Descripción
Class
El tipo de clase de que se trata.
BaseClass
La clase de base de la que se deriva, como Form, Commandbutton, Custom, etc.
ClassLibrary
La biblioteca de clases en la que está almacenada.
ParentClass
La clase de la que se deriva la clase actual. Si la clase se deriva directamente de una clase de base de Visual FoxPro, la propiedad ParentClass es la misma que la propiedad BaseClass.
CLASES CREAR UNA CLASE NUEVA La programación orientada a objetos es en gran medida un modo de empaquetar código de manera que se pueda volver a utilizar y mantener más fácilmente. Los paquetes principales se llaman clases. Una clase es una plantilla que define las características de un objeto y describe qué apariencia y comportamiento debe tener el objeto. Las clases y los objetos están estrechamente relacionados, pero no son lo mismo. Una clase contiene información sobre cuál debe ser la apariencia y el comportamiento de un objeto. CLASES DE BASE DE VISUAL FOXPRO
• • •
En el Administrador de proyectos, seleccione la ficha Clases y elija Nuevo. • –O– En el menú Archivo, elija Nuevo, seleccione Clase y elija Nuevo archivo. • –O– Utilice el comando CREATE CLASS.
El cuadro de diálogo Nueva clase le permite especificar el nombre de la nueva clase, la clase en la que se basa la nueva clase y la biblioteca en la que se almacenará. EJEMPLO SENCILLO
ActiveDoc
Custom
Label
PageFrame
CheckBox
EditBox
Line
ProjectHook
Column*
Form
ListBox
Separator
Cuando especifica la clase en la que está basada la nueva clase y la biblioteca en la que se va a almacenar, se abre el Diseñador de clases
De este modo podrá utilizar este botón salir como cualquier otro control de la barra de herramientas controles de formularios. GALERÍA DE COMPONENTES La Galería de componentes es un contenedor de catálogos de objetos de software tales como bibliotecas de clases, formularios, botones, etcétera. También contiene nuevas clases de Visual FoxPro. ABRIR LA GALERÍA DE COMPONENTES
El Diseñador de clases proporciona la misma interfaz que el Diseñador de formularios, y permite ver y modificar las propiedades de la clase en la ventana Propiedades. La ventana de edición de código le permite escribir código para que se ejecute cuando ocurran eventos o se llame a métodos.
•
Por ejemplo en la ventana de propiedades colocaremos los siguientes valores
MOVER ELEMENTOS DESDE LA GALERÍA DE COMPONENTES
•
En el menú Herramientas, haga clic en la Galería de componentes. -OEscriba DO (_GALLERY) en la ventana Comandos.
1. Propiedad
Valor
Caption
\<Salir
FontBold
.T.-Verdadero
ToolTipText
salir de la aplicación
En el panel derecho, haga clic en el elemento que desee mover. El icono Mover, situado en la esquina superior izquierda de la ventana Galería de componentes, cambia de según el elemento seleccionado. 2. Arrastre y coloque el icono Mover en el escritorio o en un proyecto o formulario abierto. EJEMPLO:
En el código del evento Clic escriba THISFORM.Release, para que el botón libere formularios cuando se haga clic en él. Cuando haga clic en el botón cerrar del diseñador de clases, aparecerá:
1. 2. 3. 4. 5.
Cree un formulario nuevo. Abra la galería de componentes. En el panel izquierdo, seleccione Foundation classes Aún en el panel izquierdo, haga click en botones. En el panel derecho, haga clic en botón del cuadro de diálogo Filtro
Observe el icono Mover
Responda Sí. Puede agregar la biblioteca de clases a la barra de herramientas Controles de formularios si elige Agregar en el submenú del botón Ver clases de la barra de herramientas Controles de formularios.
6. 7.
Arrastre y coloque el icono Mover en el formulario abierto. Ejecute el formulario. Se verá así:
para el formulario o el conjunto de formularios.
OBJETOS Y PROPIEDADES Los formularios y los distintos tipos de controles son entidades de las que puede haber varios ejemplares concretos en cada aplicación. En programación orientada a objetos se llama clase a estas entidades genéricas, mientras que se llama objeto a cada ejemplar de una clase determinada. Por ejemplo, en un programa puede haber varios botones, cada uno de los cuales es un objeto del tipo botón de comando, que sería la clase. Cada formulario y cada tipo de control tienen un conjunto de propiedades que definen su aspecto gráfico (tamaño, color, posición en la ventana, tipo y tamaño de letra, etc.) y su forma de responder a las acciones del usuario (si está activo o no, por ejemplo). Cada propiedad tiene un nombre que viene ya definido por el lenguaje. Por lo general, las propiedades de un objeto son datos que tienen valores lógicos (True, False) o numéricos concretos, propios de ese objeto y distintos de las de otros objetos de su clase. Así pues, cada clase, tipo de objeto o control tiene su conjunto de propiedades, y cada objeto o control concreto tiene unos valores determinados para las propiedades de su clase. Casi todas las propiedades de los objetos pueden establecerse en tiempo de diseño y también -casi siempre- en tiempo de ejecución. En este segundo caso se accede a sus valores por medio de las sentencias del programa, en forma análoga a como se accede a cualquier variable en un lenguaje de programación. Las siguientes propiedades de formulario suelen establecerse en tiempo de diseño para definir la apariencia y el comportamiento del formulario: Propiedad
Descripción
Opción predeterminada
AlwaysOnTop
Controla si un formulario siempre está situado sobre las demás ventanas abiertas.
Falso (.F.)
AutoCenter
Controla si el formulario se centra automáticamente en la ventana principal de Visual FoxPro cuando se inicializa el formulario.
Falso (.F.)
BackColor
Determina el color de la ventana del formulario.
255,255,255
BorderStyle
Controla si el formulario no tiene borde, tiene un borde de una sola línea, de doble ancho o del sistema. Si BorderStyle es 3 (Sistema), el usuario podrá cambiar el tamaño del formulario.
3
Caption
Determina el texto que aparece en la barra de título del formulario.
Form1
Closable
Controla si el usuario puede cerrar el formulario haciendo doble clic en el cuadro de cierre.
Verdadero (.T.)
DataSession
Controla si las tablas del formulario o el conjunto de formularios están abiertas en áreas de trabajo accesibles globalmente o privadas
1
MaxButton
Controla si el formulario tiene o no un botón de maximizar.
Verdadero (.T.)
MinButton
Controla si el formulario tiene o no un botón de minimizar.
Verdadero (.T.)
Movable
Controla si el formulario puede moverse o no a una nueva ubicación de la pantalla.
Verdadero (.T.)
ScaleMode
Controla si la unidad de medida para las propiedades de tamaño y posición de los objetos es fóxeles o píxeles.
Determinado por los valores del cuadro de diálogo Opciones.
Scrollbars
Controla el tipo de barras de desplazamiento que tiene un formulario.
0 – Ninguna
TitleBar
Controla si aparece una barra de título en la parte superior del formulario.
1 – Activo
ShowWindow
Controla si la ventana es una ventana secundaria (en la pantalla), flotante o de nivel superior.
0 - En pantalla
WindowState
Controla si el formulario está minimizado, maximizado o es normal.
0 – Normal
WindowType
Controla si el formulario es de tipo sin modo (opción predeterminada) o modal. Si es modal, el usuario deberá cerrar el formulario antes de tener acceso a ningún otro elemento de la interfaz de usuario de la aplicación.
Para cambiar las propiedades de un formulario desde la ventana de propiedades (En tiempo de Diseño):
Las propiedades de sólo lectura en tiempo de diseño, como la propiedad Class de un objeto, se muestran en cursiva en la lista Propiedades y eventos de la ventana Propiedades. Si la propiedad necesita un valor de carácter, no será necesario que incluya el valor entre comillas. Seleccione el Objeto (el formulario) y en la propiedad caption especifique el texto mostrado en la barra de título del formulario.
Para establecer el valor de la propiedad Caption en tiempo de ejecución haga doble clic en el formulario
Aparecerá This en la ventana del Evento Load del formulario, inserte un punto y escriba caption=”Formulario de prueba”.
Luego ejecute el formulario haciendo clic en el botón Ejecutar
Se mostrará :
O bien, haga clic en el menú Ver y luego en Código o también puede hacerlo en la ficha Métodos de la Ventana de Propiedades del formulario haga doble clic en el Evento Load.
Agregue This.AutoCenter=.t. al evento Load y ejecute el formulario. Establecer Múltiples Propiedades. Puede Propiedades de una sola vez: WITH THISFORM.grdGrid1.grcColumn1 .Width = 5 .Resizable = .F. .ForeColor = RGB(0,0,0) .BackColor = RGB(255,255,255) .SelectOnEntry = .T. ENDWITH
establecer
Múltiples
ASIGNAR UN ICONO A UN FORMULARIO 1. 2. 3. Haga Clic con el botón derecho del Mouse y seleccione lista de objetos y seleccione el form1 luego haga clic en insertar
Abra el formulario. Abra la ventana Propiedades. Establezca la propiedad Icon al archivo .ICO que quiera mostrar
REFERENCIAS A OBJETOS EN LA JERARQUÍA DE OBJETOS Para manipular un objeto, hay que identificarlo en relación a la jerarquía de contenedores. Por ejemplo, para manipular un control de un formulario perteneciente a un conjunto de formularios, deberá hacer referencia al conjunto de formularios, al formulario y, por último, al control. Hacer referencia a un objeto dentro de su jerarquía de contenedores se puede comparar con dar una dirección del objeto a Visual FoxPro. Cuando describe la ubicación de una casa a otra persona fuera de su marco inmediato de referencia, debe indicar el país, la provincia o la región, la ciudad, la calle o bien sólo el número de la calle donde se
encuentra la vivienda, según lo lejos que se encuentre esa otra persona. De lo contrario, podría haber cierta confusión.
se almacenará en el campo, en el puntero de registro. Si un elemento de la lista coincide con el valor del campo de la tabla, se seleccionará el elemento de la lista cuando el puntero de registro se desplace por la tabla.
En el nivel superior de la jerarquía de contenedores (el conjunto de formularios o el formulario) debe hacer referencia a la variable de objeto. La variable de objeto tiene el mismo nombre que el archivo .scx objetovariable.[formulario.]control.propiedad = Configuración
Botón de opción
La tabla siguiente muestra las propiedades o las palabras clave que facilitan el establecimiento de referencias a un objeto en la jerarquía de objetos. Propiedad palabra clave
o
Si ControlSource es un campo de caracteres, en el campo se escribirá (.T.) o (.F.), en función de si se elige el botón o no. Sin embargo, si el puntero de registro se mueve en la tabla, el valor del botón de opción no se actualizará para reflejar el valor de carácter del campo.
Referencia
ActiveControl
El control del formulario activo actualmente que tiene el enfoque
ActiveForm
El formulario activo actualmente
ActivePage
La página activa del formulario activo actualmente
Parent
El contenedor más cercano al objeto
THIS
El objeto o un procedimiento o evento del objeto
THISFORM
El formulario que contiene el objeto
THISFORMSET
El conjunto de formularios que contiene al objeto
Por ejemplo, para cambiar el título de un botón de comando del formulario frmCust de un conjunto de formularios almacenado en Custview.scx, use el siguiente comando en un programa o en la ventana Comandos: CustView.frmCust.cmdButton1.Caption = "Nuevo Título"
Si ControlSource es un campo numérico, 0 ó 1 se escribe en el campo, en función de si se elige el botón.
Si el ControlSource del control OptionGroup (no del mismo botón de opción) es un campo de caracteres, el título del botón de opción se almacena en el campo si se elige el botón de opción. Observe que el origen de control para un botón de opción (a diferencia de un control OptionGroup) no puede ser un campo de caracteres o Visual FoxPro informará de tipo de datos incorrecto cuando se ejecute el formulario. Control numérico
El control numérico refleja y escribe valores numéricos en el campo o la variable subyacente.
Cuadro de texto o cuadro de edición
El valor del campo de la tabla se muestra en el cuadro de texto. Los cambios que realiza el usuario en este valor vuelven a escribirse en la tabla. Al mover el puntero de registro se verá afectada la propiedad Value del cuadro de texto.
Utilice las palabras clave THIS, THISFORM y THISFORMSET para hacer referencia a objetos que están en un formulario o un conjunto de formularios
USAR GRUPOS DE BOTONES DE OPCIÓN
CONTROLES
Los grupos de botones de opción son contenedores que alojan botones de opción. Generalmente, los botones de opción permiten a los usuarios especificar una opción entre varias en un cuadro de diálogo, en lugar de introducir los datos.
Cuando los usuarios interactúan con controles dependientes (dependen de datos), los valores que introducen o eligen se almacenan en el origen de datos, que puede ser un campo de tabla, un campo de cursor (Un cursor es una tabla temporal) o una variable. Un control se vincula a datos al establecer su propiedad ControlSource o, en el caso de las cuadrículas, su propiedad RecordSource. Si no establece la propiedad ControlSource de un control, el valor que introduzca o elija el usuario en el control sólo se almacenará como el valor de una propiedad; no se escribirá en disco ni se almacenará en memoria más allá de la vida del control. Efecto de un valor de ControlSource sobre los controles Control Casilla verificación
Propiedades Principales del botón de opción Propiedad ButtonCount Value ControlSource
Efecto de
Si el ControlSource es un campo de una tabla, los valores lógicos verdadero (.T.) o falso (.F.), o numéricos 0, 1 ó 2 del campo ControlSource harán que la casilla de verificación se active, desactive o atenúe a medida que el puntero de registro se mueva por la tabla.
Columna
Si el ControlSource es un campo de tabla, el usuario modificará directamente el campo cuando modifique valores en la columna. Para vincular una cuadrícula completa a datos, establezca la propiedad RecordSource de la cuadrícula.
Cuadro de lista o cuadro combinado
Si el ControlSource es una variable de memoria, el valor que elija el usuario en la lista se almacenará en la variable de memoria. Si el ControlSource es un campo de una tabla, el valor
Buttons Enabled
Función Establezca la propiedad con el número deseado de botones de opción. indica qué botón se ha elegido en el grupo de botones de opción Si es un campo de caracteres o si la propiedad Value se establece a un valor de tipo Character antes de que se ejecute el formulario, la propiedad Value del grupo es el título del botón de opción seleccionado. especifica el número de índice del botón de opción del grupo. Establezca esta propiedad del grupo de botones de opción como falso (.F.) para desactivar el grupo
USAR CUADROS DE LISTA Y CUADROS DESPLEGABLES (CUADROS COMBINADOS)
DE
LISTA
Las propiedades siguientes de cuadros de lista suelen establecerse en tiempo de diseño. Propiedad
Descripción
ColumnCount
Indica el número de columnas del cuadro de lista.
ControlSource
Indica dónde se almacena el valor que elige un usuario en la lista.
MoverBars
Indica si las barras de movimiento se muestran a la izquierda de los elementos de la lista de modo que el usuario pueda reorganizar fácilmente los elementos de la lista.
Multiselect
Indica si el usuario puede seleccionar o no más de un elemento de la lista al mismo tiempo.
RowSource
Indica de dónde provienen los valores que se muestran en la lista.
RowSourceType
Indica si RowSource es un valor, una tabla, una instrucción SQL, una consulta, una matriz, una lista de archivos o una lista de campos.
9
Emergente. Se incluye por compatibilidad con versiones anteriores.
Para mayor información de la propiedad RowSourceType consulte Usar Controles en el manual del programador de Visual FoxPro 6.0.
CASILLAS DE VERIFICACIÓN
La propiedad Value de una lista puede ser numérica o de caracteres. El valor predeterminado es numérico. Establezca la propiedad Value como una cadena vacía si RowSource es un valor de tipo Character y desea que la propiedad Value refleje la cadena de caracteres del elemento seleccionado en la lista. Puede presionar la barra espaciadora y, a continuación, la tecla retroceso para introducir una cadena vacía para una propiedad en la ventana Propiedades. MÉTODOS DE CUADRO DE LISTA QUE SUELEN UTILIZARSE CON FRECUENCIA: Método
Descripción
AddItem
Agrega un elemento RowSourceType de 0.
a
una
lista
con
un
RemoveItem
Quita un elemento RowSourceType de 0.
de
una
lista
con
un
Requery
Actualiza la lista si han cambiado los valores de RowSource
Elegir un tipo de datos para un cuadro de lista o un cuadro combinado La propiedad RowSourceType determina qué tipo de origen rellena el cuadro de lista o el cuadro combinado, como una matriz o una tabla. Una vez establecida la propiedad RowSourceType, especifique el origen de los elementos de la lista; para ello, establezca la propiedad RowSource. RowSourceType
Origen de los elementos de lista
0
Ninguno. Agrega elementos a la lista mediante programación.
1
Valor
2
Alias
3
Instrucción SQL
4
Consulta (.qpr)
5
Matriz
6
Campos
7
Archivos
8
Estructura
Hay cuatro estados posibles para una casilla de verificación, determinados por la propiedad Value.
La propiedad Value de la casilla de verificación refleja el tipo de datos de la última asignación. Si establece la propiedad como verdadera (.T.) o falsa (.F.), el tipo será Logical hasta que establezca la propiedad en un valor numérico. Almacenar o mostrar campos lógicos Si establece la propiedad ControlSource de la casilla de verificación como un campo lógico de una tabla, la casilla de verificación se mostrará activada cuando el valor del registro actual sea verdadero (.T.), como no activada cuando el registro actual sea falso (.F.) y como
.
atenuada cuando haya un valor nulo (.NULL.) en el registro actual
CUADROS DE TEXTO Este control permite a los usuarios agregar o modificar datos almacenados en un campo no memo de una tabla. Para manipular mediante programación el texto que se muestra en el cuadro de texto haga referencia a la propiedad Value. Si establece la propiedad ControlSource para el cuadro de texto, el valor que aparece en el cuadro de texto se almacenará en la propiedad Value del cuadro de texto y en el campo de la tabla o del cursor que se especifique en la propiedad ControlSource. Propiedad
Descripción
Alignment
Especifica si el contenido del cuadro de texto está alineado a la izquierda, a la derecha, centrado o alineado automáticamente. La alineación automática depende del tipo de datos. Los números, por ejemplo, se alinean a la derecha y los caracteres se alinean a la izquierda.
ControlSource
El campo de tabla o variable cuyo valor se muestra en el cuadro de texto.
InputMask
Especifica la regla de entrada de datos que cada carácter escrito debe seguir.
SelectOnEntry
Especifica si el contenido del cuadro de texto se selecciona automáticamente cuando el cuadro de texto recibe el enfoque.
TabStop
Especifica si el usuario puede llegar al control mediante tabulaciones. Si TabStop está establecido a .F., un usuario puede seleccionar el cuadro de texto si hace clic en él.
Format
Para determinar como se muestran los valores
en el cuadro de texto Propiedad PassWordChart
ReadOnly
Descripción
Para aceptar la entrada del usuario sin mostrar el Valor real. Establezca la propiedad como asterisco (*)
ControlSource
Especifica el campo de la tabla en el que se almacena el valor que elige o escribe el usuario.
Determina si el usuario puede cambiar el texto en el cuadro de texto.
DisplayCount
Especifica el número máximo de elementos mostrados en la lista.
InputMask
Para cuadros combinados desplegables, especifica el tipo de valores que se pueden escribir.
IncrementalSearch
Especifica si el control intenta hacer coincidir un elemento de la lista a medida que el usuario escribe cada letra.
RowSource
Especifica el origen de los elementos del cuadro combinado.
RowSourceType
Especifica el tipo de origen del cuadro combinado. Los tipos de origen de fila de un cuadro combinado son iguales que los de una lista. Para ver una explicación de cada uno de ellos, vea la Ayuda o la sección sobre cuadros de lista y cuadros de lista desplegable.
Style
Especifica si el cuadro combinado es un cuadro combinado desplegable o una lista desplegable.
Los valores para la propiedad InputMask son: Valor
Descripción
X
Puede introducirse cualquier carácter.
9
Pueden introducirse dígitos y signos, como el signo menos ( – ).
#
Pueden introducirse dígitos, espacios en blanco y signos.
$
Muestra el símbolo de moneda actual (especificada con SET CURRENCY) en una posición fija.
$$
Muestra un símbolo de moneda flotante que siempre aparece junto a los dígitos del Spinner o TextBox.
*
Se muestran asteriscos a la izquierda del valor.
.
Un punto especifica la posición de coma decimal.
,
Pueden incluirse comas para separar dígitos a la izquierda de la coma decimal.
Para agregar el nuevo valor de usuario al cuadro combinado desplegable, puede utilizar la línea de código siguiente en el método asociado al evento Valid del cuadro combinado: THIS.AddItem(THIS.Text)
VALIDAR DATOS EN UN CUADRO DE TEXTO Para comprobar el valor del cuadro de texto, incluya código en el método asociado al evento Valid. Si el valor no es válido, se devolverá falso (.F.) o 0. Si Valid devuelve falso (.F.) se muestra el mensaje "La entrada no es válida". Si desea mostrar su propio mensaje, incluya el comando WAIT WINDOW o la función MESSAGEBOX( ) en el código Valid y devuelva 0.
CONTROLES NUMÉRICOS Los controles numéricos pueden emplearse para permitir a los usuarios realizar selecciones mostrando los valores o escribiendo directamente el valor en el cuadro del control numérico. ESTABLECER EL INTERVALO DE VALORES QUE PUEDEN ELEGIR LOS USUARIOS Propiedad
CUADROS DE EDICION
Especifica el valor más alto que puede escribirse en un control Spinner mediante el teclado
KeyboardLowValue
Especifica el valor más bajo que puede escribirse en un control Spinner mediante el teclado
SpinnerHighValue
Especifica el valor más alto que se puede introducir en un control Spinner al hacer clic en las flechas hacia arriba y hacia abajo
SpinnerLowValue
Especifica el valor más bajo que se puede introducir en un control Spinner al hacer clic en las flechas hacia arriba y hacia abajo
Increment
Especifica cuánto aumenta o disminuye el valor del control Spinner cuando se hace clic en la flecha hacia arriba o hacia abajo.
Puede permitir que los usuarios modifiquen texto de campos de caracteres o de campos memo largos en cuadros de edición. Propiedad AllowTabs
Descripción Si el usuario puede insertar tabulaciones en el cuadro de edición en lugar de moverse al control siguiente. Si permite tabulaciones, asegúrese de indicar que los usuarios pueden moverse al control siguiente presionando CTRL+TAB.
HideSelection
Si el texto seleccionado en el cuadro de edición está seleccionado de forma visible cuando el cuadro de edición no tiene el enfoque.
ReadOnly
Si el usuario puede cambiar el texto en el cuadro de edición.
ScrollBars
Si hay barras de desplazamiento verticales.
Descripción
KeyboardHighValue
CUADROS COMBINADOS El control cuadro combinado tiene la funcionalidad de un cuadro de lista y un cuadro de texto. Hay dos estilos para un cuadro combinado: cuadro combinado desplegable y cuadro de lista desplegable.
BOTONES DE COMANDO Y GRUPOS DE BOTONES DE COMANDO
externo (como un clic en un botón de comando) para que se inicie la operación del cronómetro.
Propiedades comunes de los botones de comando Propiedad Cancel
Descripción Especifica que el código asociado al evento Click del botón de comando se ejecuta cuando el usuario presiona ESC.
Default
para convertir el botón de comando en la opción predeterminada.
Caption
Texto que se muestra en el botón.
DisabledPicture
Imagen .bmp que se muestra cuando se desactiva el botón.
DownPicture
Imagen .bmp que se muestra cuando se presiona el botón.
Enabled
Indica si puede elegirse o no el botón.
Picture
Imagen .bmp que se muestra en el botón.
Interval
Número de milisegundos entre los eventos del cronómetro.
Con la mayoría de los objetos, la propiedad Enabled determina si el objeto puede responder o no a un evento causado por el usuario. Con el control Timer, al establecer Enabled a falso (.F.) se suspende el
.
funcionamiento del cronómetro La propiedad Interval no determina "cuánto tiempo", sino más bien "con qué frecuencia" se genera el evento del cronómetro. Puesto que existen posibilidades inherentes de error, cree el intervalo con la mitad de la precisión deseada. Responder al evento Timer Cuando transcurre el intervalo del control Timer, Visual FoxPro genera el evento Timer.
CONTROL IMAGE
La propiedad Value del grupo de botones de comando indica en qué botones se ha hecho clic. Propiedades comunes de los grupos de botones de comando Propiedad
Descripción
El control Image permite agregar imágenes (archivos .bmp) al formulario Propiedad
Descripción
Picture
La imagen (archivo .bmp) que se muestra.
ButtonCount
Número de botones del grupo de comandos.
BorderStyle
Indica si la imagen tiene o no un borde visible.
BackStyle
Especifica si el grupo de botones de comando tiene un fondo transparente u opaco. Un fondo transparente parece tener el mismo color que el que tiene el objeto subyacente, normalmente el formulario o una página.
Stretch
Si Stretch se establece a 0 – Recortar, no se mostrarán las partes de la imagen que superen las dimensiones del control Image. Si Stretch se establece a 1 – Isométrico, el control Image conservará las dimensiones originales de la imagen y mostrará la imagen en la medida que lo permitan las dimensiones del control Image. Si Stretch se establece a 2 – Estirar, la imagen se ajustará para que coincida exactamente con el alto y el ancho del control Image.
OBJETO HYPERLINK El objeto Hyperlink se puede utilizar para iniciar una aplicación que admita hipervínculos, generalmente un explorador de Internet como Microsoft Internet Explorer, y abrir la página especificada en la dirección. El método Hyperlink NavigateTo( ) le permite especificar la dirección de destino a la que se salta. Por ejemplo, para ir al sitio Internet de Microsoft en World Wide Web desde un formulario, agregue en primer lugar el control Hyperlink al formulario. Agregue un botón de comando al formulario y, a continuación, agregue el código siguiente al evento Click del botón de comando: THISFORM.Hyperlink1.NavigateTo(‘www.microsoft.com’) Cuando se ejecute el formulario puede hacer clic en el botón de comando para saltar al sitio Web de Microsoft.
USAR ETIQUETAS Propiedad Caption
El texto que muestra la etiqueta.
AutoSize
Indica si el tamaño de la etiqueta se ajusta a la longitud del título.
BackStyle
Indica si la etiqueta es opaca o transparente.
WordWrap
Indica si el texto que se muestra en la etiqueta puede ajustarse automáticamente a líneas adicionales.
CONTROL CRONÓMETRO Los controles Cronómetro responden al paso del tiempo independientemente de la interacción con el usuario, de modo que pueden programarse para que realicen acciones a intervalos regulares. Un control Timer tiene dos propiedades clave. Propiedad Enabled
Valor Si desea que el cronómetro comience a funcionar en cuanto se cargue el formulario, establézcala a verdadero (.T.). De lo contrario, deje esta propiedad establecida a falso (.F.). Puede elegir un evento
Descripción
USAR FORMAS Una forma es un control que crea una forma que se puede mostrar como diversas variaciones de un rectángulo o un círculo. Las siguientes propiedades del control Shape suelen establecerse en tiempo de diseño. Propiedad
Descripción
Curvature
Un valor entre 0 (ángulos de 90 grados) y 99 (círculo o elipse).
FillStyle
Indica si la forma es transparente o tiene un determinado modelo de relleno del fondo.
SpecialEffect
Indica si la forma es sencilla o tridimensional. Sólo tiene efecto cuando la propiedad Curvature se establece a 0.
Cada uno de los cuales tiene su propio conjunto de propiedades, métodos y eventos, lo que proporciona un gran control sobre los elementos de la cuadrícula. Contenedor
Puede contener
Cuadrícula
Columnas
Columna
Encabezados, controles
PROPIEDADES COMUNES DE LAS CUADRÍCULAS Propiedad
USAR LÍNEAS Una línea es un control que dibuja una línea en un formulario. Propiedad
Descripción
AllowRowSizing
.F. Impide que el usuario cambie la altura de las filas de cuadrícula en tiempo de ejecución
Width
Establece el anco de la columna
Height
Establece el alto de las filas de una cuadrícula
ChildOrder
La clave externa de la tabla secundaria que se combina con la clave principal de la tabla primaria.
ColumnCount
Número de columnas. Si ColumnCount está establecida a - 1, la columna tendrá tantas columnas como campos haya en la propiedad RecordSource de la cuadrícula.
LinkMaster
La tabla primaria para registros secundarios que se muestran en la cuadrícula.
Descripción
BorderWidth
Indica cuántos píxeles de ancho tiene la línea.
LineSlant
Cuando la línea no es horizontal ni vertical, indica el sentido de la inclinación. Los valores válidos para esta propiedad son una barra diagonal ( / ) y una barra inversa ( \ ).
USAR GRÁFICOS INFORMACIÓN
DE
FORMULARIO
PARA
MOSTRAR
Puede mostrar información gráficamente en un formulario con los siguientes métodos de formulario. Método
Descripción
Circle
Dibuja una figura circular o un arco en un formulario.
Cls
Borra gráficos y texto de un formulario.
RecordSource
Los datos que se muestran en la cuadrícula.
Line
Dibuja una línea en un formulario.
RecordSourceType
Pset
Establece un punto de un formulario con un determinado color.
Indica de dónde provienen los datos que se muestran en la cuadrícula: una tabla, un alias, una consulta o una tabla seleccionada por el usuario como respuesta a una petición.
Print
Imprime una cadena de caracteres en un formulario.
AllowAddNew
Especifica si se pueden agregar nuevos registros a una tabla desde una cuadrícula.
MEJORAR LA PRESENTACIÓN DE CONTROLES
PROPIEDADES COMUNES DE LAS COLUMNAS
Los botones de comando, las casillas de verificación y los botones de opción pueden mostrar una imagen además de un título.
Propiedad
Descripción
ControlSource
Los datos que se muestran en la columna. Suele ser un campo de una tabla.
Sparse
Si Sparse se establece como verdadero (.T.), los controles de una cuadrícula sólo se mostrarán como controles cuando se seleccione la celda de la columna. Otras celdas de la columna muestran el valor de datos subyacente en un cuadro de texto. Si establece Sparse como verdadero (.T.), la actualización será más rápida si un usuario se desplaza por una cuadrícula con muchas filas visibles.
CurrentControl
Indica cuál es el control activo de la cuadrícula. El valor predeterminado es Text1, pero si agrega un control a la columna, podrá especificarlo como CurrentControl.
Propiedad
Descripción
DisabledPicture
Imagen que se muestra en el botón cuando éste está desactivado.
DownPicture
Imagen que se muestra en el botón cuando éste está presionado.
Picture
Imagen que se muestra en el botón cuando éste está activado y no presionado.
Si no desea que se muestre un título además de la imagen, establezca la propiedad Caption como una cadena vacía eliminando el título predeterminado en el cuadro "Edición de propiedades" de la ventana Propiedades.
USAR CUADRÍCULAS La cuadrícula es un objeto contenedor. Una cuadrícula uede contener columnas. Las columnas, a su ves, contienen encabezados y controles.
PARA ESTABLECER CUADRÍCULA
EL
ORIGEN
DE
DATOS
PARA UNA
1 Seleccione la cuadrícula y, a continuación, haga clic en la propiedad RecordSourceType en la ventana Propiedades. 2 Establezca la propiedad RecordSourceType como 0 - Tabla, si desea que Visual FoxPro abra la tabla o como 1 - Alias si desea que la cuadrícula se llene con los campos de una tabla que ya está abierta. 3 Haga clic en la propiedad RecordSource de la ventana Propiedades. 4 Escriba el nombre del alias o la tabla que va a servir de origen de datos para la cuadrícula. PARA ESTABLECER COLUMNA
EL ORIGEN
DE
DATOS
PARA UNA
1 Seleccione la columna y, a continuación, haga clic en la propiedad ControlSource de la ventana Propiedades. 2 Escriba el nombre del alias o la tabla y el campo que va a servir como origen para los valores que se muestran en la columna. AGREGAR DE FORMA INTERACTIVA CONTROLES A UNA COLUMNA DE CUADRÍCULA 1 Agregue una cuadrícula a un formulario. 2 En la ventana Propiedades, establezca la propiedad ColumnCount de la cuadrícula como el número de columnas deseadas. 3 En la ventana Propiedades seleccione la columna primaria para el control en el cuadro Objeto. 4 Seleccione el control deseado en la barra de herramientas Controles de formularios y haga clic en la columna primaria. El nuevo control no aparecerá ahora en la columna de cuadrícula dentro del Diseñador de formularios, pero será visible en tiempo de ejecución. 5 En la ventana Propiedades asegúrese que el control se muestra sangrado bajo la columna primaria en el cuadro Objeto. 6 Establezca la propiedad ControlSource de la columna primaria como el campo de tabla deseado. 7 Establezca la propiedad CurrentControl de la columna primaria como el nuevo control. PARA QUITAR CONTROLES DE COLUMNAS DE CUADRÍCULA EN EL GENERADOR DE FORMULARIOS 1 2
3
CONTROL CONTENEDOR OLE Agregue un objeto OLE a un formulario; para ello haga clic en esta herramienta y arrástrela para ajustar su tamaño en la ventana Formulario. Esta herramienta puede representar un objeto servidor como Microsoft Excel o Microsoft Word, o puede representar un control ActiveX si el directorio SYSTEM de Windows contiene controles ActiveX (archivos con una extensión .ocx).
En el cuadro Objeto de la ventana Propiedades, seleccione el control. Active el Diseñador de formularios. Si la ventana Propiedades está visible, el nombre del control aparecerá en el cuadro Objeto. Presione la tecla supr.
USAR MARCOS DE PAGINA
CONTROL ACTIVEX DEPENDIENTE Puede crear un objeto ActiveX dependiente en un formulario; para ello, haga clic en esta herramienta y arrástrela para ajustar su tamaño en la ventana Formulario. Después de crear el objeto, conéctelo a un campo General de la tabla. A continuación, utilice el objeto para mostrar el contenido del campo. NOMBRES DE OBJETOS En principio cada objeto debe tener un nombre, por medio del cual se le hace referencia. El nombre puede ser el que el usuario desee o incluso el que VFP proporciona por defecto para los diversos controles. Estos nombres por defecto hacen referencia al tipo de control y van seguidos de un número que se incrementa a medida que se van introduciendo más controles de ese tipo en el formulario. Los nombres por defecto no son adecuados porque hacen referencia al tipo de control, pero no al uso que de dicho control está haciendo el programador. Es muy importante que los nombres que se le asignan tanto a las variables como a los controles sean descriptivos y nos permitan tener una idea de lo que hacen o de los datos que almacenan. EVENTOS Las acciones del usuario sobre el programa se llaman eventos. Son eventos típicos el clicar sobre un botón, el hacer doble clic sobre el nombre de un fichero para abrirlo, el arrastrar un icono, el pulsar una tecla o combinación de teclas, el elegir una opción de un menú, el escribir en una cuadro de texto, o simplemente mover el ratón. Cada vez que se produce un evento sobre un determinado tipo de control, se ejecuta una determinada función o procedimiento que realiza la acción programada por el usuario para ese evento. Los eventos básicos La tabla siguiente contiene una lista del principal conjunto de eventos de Visual FoxPro que se aplican a la mayoría de los controles.
Los marcos de página permiten ampliar la superficie de los formularios y los controles ActiveX permiten ampliar la funcionalidad de los formularios.
CONJUNTO BÁSICO DE EVENTOS Evento
Cuándo se desencadena el evento
Un marco de página es un objeto contenedor que contiene páginas. A su vez, las páginas contienen controles. Las propiedades pueden establecerse a nivel de marco de página, de página o de control.
Init
Al crear un objeto.
Destroy
Al liberar de la memoria un objeto.
Click
Cuando el usuario hace clic en el objeto con el botón principal del mouse.
DblClick
Cuando el usuario hace doble clic en el objeto con el botón principal del mouse.
PROPIEDADES COMUNES DE LOS MARCOS DE PÁGINAS Las propiedades siguientes de los marcos de páginas suelen establecerse en tiempo de diseño. Propiedad
Descripción
Tabs
Especifica si las fichas son visibles o no para las páginas.
RightClick
Cuando el usuario hace clic en el objeto con el botón secundario del mouse.
TabStyle
Especifica si las fichas tienen o no el mismo tamaño y si juntas ocupan el mismo ancho que el marco de páginas.
GotFocus
Cuando el objeto recibe el enfoque, ya sea como resultado de una acción del usuario o al hacer clic, o porque se cambie el enfoque en el código mediante el método SetFocus.
PageCount
El número de páginas del marco de página. LostFocus
Cuando el objeto pierde el enfoque, ya sea como resultado de una acción del usuario o al hacer clic, o porque se cambie el enfoque en el
código mediante el método SetFocus.
Los métodos contienen código de procedimientos que se ejecuta al llamar al método
KeyPress
Cuando el usuario presiona y suelta una tecla.
Para liberar un formulario utilice el método Release
MouseDown
Cuando el usuario presiona el botón del mouse mientras el puntero del mouse se encuentra sobre el objeto.
ThisForm.release
MouseMove
MouseUp
Cuando el usuario mueve el mouse sobre el objeto. Cuando el usuario libera un botón del mouse mientras el puntero del mouse se encuentra sobre el objeto.
A la hora de escribir código de eventos para los controles se deben tener en cuenta dos reglas básicas: • •
Los contenedores no procesan los eventos asociados a los controles que contienen. Si no hay código de evento asociado a un control, Visual FoxPro comprobará si hay código asociado al evento en algún nivel superior de la jerarquía de clase para dicho control.
EJEMPLO DEL evento keypress Puede incluir el siguiente código en el evento KEYPRESS de un formulario, ejecutarlo y presionar la tecla ESCAPE IF nKeyCode=27 WAIT WINDOW "SE SIMULO PRESIONAR LA TECHA ESC" ENDIF EJEMPLO DEL EVENTO MOUSEMOVE Coloque el siguiente código en el evento MouseMove de un botón de comando de un formulario, ejecute el formulario y mueva el apuntador del ouse sobre el botón de comando: messagebox("se esta ejecutando el evento MouseMove del botón de comando")
Para dibujar un circulo en un formulario ThisForm.Circle (20,20,20,1 ) Una vez creado el objeto se puede llamar a los métodos desde cualquier lugar de la aplicación CONSULTAS Con el Diseñador de consultas puede buscar aquellos registros que satisfacen las condiciones que Ud. especifique. Además, puede ordenar y agrupar los registros como desee, así como crear informes, tablas y gráficos basándose en los resultados obtenidos. TIPOS DE CONSULTAS
• Consultas sencillas de sólo lectura basadas en tablas (archivos .DBF) o en vistas
• Consultas locales de múltiples tablas o con datos remotos CONSULTAS SENCILLAS DE SÓLO LECTURA BASADAS EN TABLAS (ARCHIVOS .DBF) O EN VISTAS COMO INICIAR EL GENERADOR DE CONSULTAS. 1. 2. 3. 4.
5.
Desde el Administrador de Proyectos, en la ficha Datos, seleccione Consultas y haga clic ene. Botón nuevo. Cree la consulta con un Asistente para consultas o con el Diseñador de consultas. Seleccione la tabla o vista que contiene la información que desea obtener. Defina los resultados de la consulta; para ello, elija los campos que desea, el orden en que quiere que aparezcan y los registros que desea. Organice los resultados de la consulta; para ello, ordene y agrupe las filas del resultado. Elija el tipo de salida que desea para la consulta: tabla, informe, examinar, etc. Ejecute y compruebe la consulta.
Puede usar el comando KEYBOARD para generar eventos KEYPRESS o usar el comando ERROR para generar eventos Error. No puede hacer que se produzca ningún otro evento mediante programación, pero sí puede llamar al procedimiento asociado con el evento. Por ejemplo, la instrucción siguiente hace que se ejecute el código del evento Activate de frmTELEFONO, pero no activa el formulario:
7.
frmTELEFONO.Activate
Seleccionar una tabla o una vista para la consulta
6.
CREAR UNA CONSULTA CON EL DISEÑADOR DE CONSULTAS
Si desea activar el formulario, utilice el método Show del formulario. Si desea activar el formulario, utilice el método Show del formulario. Al llamar al método Show se mostrará y activará el formulario, momento en el que también se ejecutará el código del evento Activate: frmTELEFONO.Show MÉTODOS Los métodos son funciones que también son llamadas desde programa, pero a diferencia de los procedimientos no son programadas por el usuario, sino que vienen ya pre-programadas con el lenguaje. Los métodos realizan tareas típicas, previsibles y comunes para todas las aplicaciones. De ahí que vengan con el lenguaje y que se libere al usuario de la tarea de programarlos. Cada tipo de objeto o de control tiene sus propios métodos. Por ejemplo, los controles gráficos tienen un método llamado Line que se encarga de dibujar líneas rectas. De la misma forma existe un método llamado Circle que dibuja circunferencias y arcos de circunferencia.
PARA CREAR UNA CONSULTA CON UN ASISTENTE 1. 2. 3. 4.
En el Administrador de proyectos, seleccione la ficha Datos y elija Consultas. Elija Nuevo. Elija el botón Asistente para consultas. Seleccione el tipo de consulta que desea crear.
5.
Siga las instrucciones que aparecerán en las pantallas del asistente.
DESTINO DE LA CONSULTA Estando en el diseñador de consultas, haga clic en el menú Consulta y luego en la opción Destino de la consulta… La tabla de abajo muestra y describe los tipos de resultados: Opción de destino
Detalles
Examinar
Muestra el resultado de la consulta en una ventana Examinar.
Cursor
Guarda el resultado de la consulta en un cursor.
Tabla
Guarda el resultado de la consulta como un archivo de tabla.
Gráfico
Transforma el resultado de la consulta a un formato disponible para usarlo con Microsoft Graph, una aplicación independiente de incrustación OLE incluida con Visual FoxPro.
Pantalla
Muestra el resultado de la consulta en la ventana de resultado activa.
Informe
Envía el resultado de la consulta a un archivo de informe.
Etiqueta
Envía el resultado de la consulta a un archivo de etiqueta.
Puede copiar la instrucción SELECT y pegarla en la ventana de comandos o utilizarla en el evento clic de un botón de comando POR EJEMPLO: SELECT *; FROM datos2!inmobiliaria; WHERE Inmobiliaria.estado = "MIRANDA" CONSULTAS LOCALES DE MÚLTIPLES TABLAS O CON DATOS REMOTOS Con Visual FoxPro puede consultar múltiples tablas y vistas, así como combinar datos remotos y locales en una vista. Esta posibilidad resulta útil cuando los datos necesarios están almacenados en dos o más tablas, o cuando están repartidos entre tablas locales y tablas de un origen de datos remoto. El término "vista" se usa para el objeto que se crea con el Diseñador de vistas. Cuando tenga que consultar información almacenada en dos o más tablas, bastará con agregar todas las tablas necesarias a su consulta y combinarlas según campos comunes. Después, podrá buscar la información necesaria en los registros de todas las tablas. En sus consultas puede usar cualquier combinación de tablas de base de datos, tablas libres y vistas locales o remotas. Cuando agregue tablas o vistas a su consulta, Visual FoxPro le sugerirá una posible combinación entre las tablas o las vistas según los nombres de campos coincidentes.
OPCIONES DEL COMBINACION
Lista de campos izquierda
DE
DIÁLOGO
CONDICION
DE
Lista de campos derecha Muestra los campos de la tabla que ha agregado. Seleccione un campo de la lista por el que quiere combinar las tablas. Lista de campos izquierda Muestra los campos de todas las tablas que se han agregado previamente al Diseñador de consultas. Seleccione en la lista un campo por el que quiera combinar las tablas. Tipo de combinación Interna Crea una combinación que sólo muestra los registros de la Lisa de campos izquierda que coincidan con los registros de la Lista de campos derecha para los campos seleccionados. Izquierda Crea una combinación que incluye los registros de la Lista de campos izquierda y los registros coincidentes de la Lista de campos derecha para los campos seleccionados. Derecha Crea una combinación que incluye los registros de la Lista de campos derecha y los registros de la Lista de campos izquierda coincidentes para los campos seleccionados. Completa Crea una combinación que incluye todos los registros de los dos cuadros de lista para los campos seleccionados en los cuadros de lista. Descripción Especifica cómo se relacionan entre sí los campos de cada tabla cuando selecciona las distintas opciones de combinación. CREAR UNA COMBINACIÓN ENTRE TABLAS 1. 2. 3.
Agregue dos o más tablas o vistas a una consulta. En la barra de herramientas Diseñador de consultas, elija el botón Agregar combinación. En el cuadro de diálogo Condición de combinación, seleccione los nombres de campo relacionados en las dos tablas. Nota Combine columnas sólo si tienen el mismo tamaño y el mismo tipo de datos.
4. Las combinaciones aparecen automáticamente cuando se agregan las tablas. Sin embargo, si los nombres de campos relacionados no coinciden, tendrá que crear sus propias combinaciones entre tablas. Puede crear combinaciones adicionales si arrastra entre los campos de tablas en el Diseñador de consultas o elige el botón Agregar combinación en la barra de herramientas Diseñador de consultas para mostrar el cuadro de diálogo Condición de combinación.
CUADRO
Seleccione un tipo de combinación:
Para obtener...
Use...
Sólo registros de ambas tablas que cumplan los criterios de combinación, el tipo más común de combinación
Combinación interna
Todos los registros de la tabla en el lado izquierdo de los criterios de combinación
Combinación izquierda
Lista de campos derecha
y sólo registros que cumplan los criterios de combinación de la tabla en el lado derecho de los criterios de combinación
5.
Todos los registros de la tabla en el lado derecho de los criterios de combinación y sólo registros que cumplan los criterios de combinación de la tabla en el lado izquierdo de los criterios de combinación
Combinación derecha
Todos los registros de ambas tablas, cumplan o no los criterios de combinación
Combinación completa
Elija Aceptar.
ELIMINAR UNA COMBINACIÓN
•
Las vistas son una característica de las bases de datos de Visual FoxPro. Solamente puede utilizarlas cuando esté abierta su base de datos primaria.
Seleccione la línea de combinación en el Diseñador de consultas y elija Quitar condición de combinación en el menú Consulta. –O– En la ficha Combinación, seleccione la condición de combinación y elija Quitar.
MODIFICAR UNA COMBINACIÓN
CREAR UNA VISTA CON UN ASISTENTE 1. 2. 3. 4.
En el Administrador de proyectos, seleccione una base de datos. Seleccione Vistas locales o Vistas remotas y elija Nuevo. Elija el botón Asistente para vistas. Siga las instrucciones que aparecerán en las pantallas del asistente. .
INICIAR EL DISEÑADOR DE VISTAS 6.
En la ficha Combinación, seleccione la combinación que desea modificar. Cambie las condiciones de combinación según sea necesario.
VISTAS
Para crear una vista de una tabla local, utilice el Diseñador de vistas. Las tablas locales pueden incluir tablas nativas de Visual FoxPro, cualquier tabla en formato .dbf y tablas almacenadas en servidores locales.
Una vista es una definición de tabla virtual personalizada que puede ser local, remota o parametrizada. Las vistas hacen referencia a una o más tablas, o a otras vistas. Pueden ser actualizables y pueden hacer referencia a tablas remotas.
Para usar el Diseñador de vistas, primero debe crear o abrir una base de datos. Cuando expanda el signo más que aparece junto al nombre de una base de datos en el Administrador de proyectos, la ficha Datos mostrará los componentes de la base de datos.
7.
La vistas se usan para extraer un conjunto de registros de una tabla, realizar cambios en dichos registros y enviar las actualizaciones a las tablas de origen. Las vistas se pueden crear a partir de tablas locales, de otras vistas, de tablas almacenadas en un servidor o de orígenes de datos remotos, como Microsoft® SQL Server, a través de ODBC. Puede incluso hacer que Visual FoxPro envíe actualizaciones a la tabla de origen cuando actualiza o cambia el conjunto de registros de la vista.
CREAR UN SISTEMA DE MENÚS La mayor parte del trabajo en la creación de un sistema de menús se realiza en el Diseñador de menús, en el que crea los menús, los submenús y las opciones de menú.
Veremos la creación de vistas sencillas, locales y remotas, de una sola tabla. CREAR VISTAS La creación de consultas y la creación de vistas son procesos similares. La principal diferencia radica en que las vistas pueden ser actualizables, mientras que las consultas no lo son. Utilice consultas cuando desee un conjunto de resultados de consulta de sólo lectura. Las consultas son instrucciones SQL-SELECT guardadas como texto en un archivo .qpr; utilice vistas cuando desee extraer un conjunto actualizable de datos de tablas locales o remotas.
Para crear menús, puede personalizar el sistema de menús de Visual FoxPro o bien desarrollar un sistema propio. CREAR UN SISTEMA DE MENÚS CON MENÚ RÁPIDO
Ejemplo: DO SDIMENU.MPR WITH THIS,.T. 1. 2. 3. 4.
En el Administrador de proyectos, seleccione la ficha Otros, seleccione Menús y haga clic en Nuevo. Elija Menú. Aparecerá el Diseñador de menús. En el menú Menú, elija Menú rápido
El Diseñador de menús contendrá ahora información sobre los menús principales de Visual FoxPro.
CREAR UN MENÚ CONTEXTUAL 1. 2.
En el Administrador de proyectos, seleccione la ficha Otros, seleccione Menús y haga clic en Nuevo. Elija Menú contextual. Aparecerá el Diseñador de menús contextuales.
Cuando está en el Diseñador de menús contextuales, el proceso para agregar elementos de menú es el mismo que para la creación de menús. ADJUNTAR MENÚS CONTEXTUALES A CONTROLES Puede adjuntar un menú contextual a un control específico si escribe una pequeña cantidad de código en el evento clic asociado al botón secundario del control. 5. Personalice el sistema agregando o modificando elementos de menú Antes de poder usar el menú en una aplicación debe generarlo.
1. 2. 3.
Seleccione el control al que desea adjuntar el menú contextual. En la ventana Propiedades, elija la ficha Métodos y seleccione RightClick Event. En la ventana de código, escriba DO menú.MPR, en donde menú es el nombre del menú contextual.
GENERAR UN MENÚ
•
Asegúrese de usar la extensión .mpr al hacer referencia a los menús contextuales.
En el menú Menú, elija Generar
Visual FoxPro le pedirá que guarde el sistema de menús en un archivo con la extensión .MNX. Este archivo es una tabla que almacena toda la información sobre el sistema de menús. Después de haber guardado el sistema de menús, Visual FoxPro le pedirá un archivo de salida con la extensión .MPR. Este archivo contendrá el programa de menú generado
ACTIVAR O DESACTIVAR UN MENÚ O ELEMENTO DE MENÚ 1. 2. 3.
En la columna Indicador, haga clic en el título o elemento de menú correspondiente. Elija el botón de la columna Opciones para mostrar el cuadro de diálogo Opciones de la acción. Haga clic en la casilla de verificación Saltar por.
CREAR MENÚS SDI Aparecerá el Generador de expresiones. Los menús SDI son menús que aparecen en ventanas de interfaz de un único documento (SDI). Para crear un menú SDI debe indicar que el menú se va a usar en un formulario SDI cuando está diseñando el menú. Aparte de esto, el proceso de creación de un menú SDI es el mismo que el de creación de un menú normal. UN MENÚ SDI (UNA APLICACIÓN QUE SÓLO ADMITE UN DOCUMENTO CADA VEZ)
• Mientras el Diseñador de menús está abierto, elija Opciones generales en el menú Ver y seleccione Formulario de nivel superior. INCLUIR UN SISTEMA DE MENÚS EN LA APLICACIÓN
• Agregue el archivo .MNX al proyecto y, a continuación, genere la aplicación desde el proyecto
4.
En el cuadro Saltar por, escriba la expresión que determinará si el menú está activado o desactivado.
ADJUNTAR MENÚS SDI A FORMULARIOS Cuando cree un menú SDI, puede adjuntarlo a un formulario SDI. Además, debe:
• •
Establecer la propiedad ShowWindow del formulario a 2 – Como formulario de nivel superior..
,
Agregar una instrucción DO al evento Init del formulario llame al menú.
Si la expresión da como resultado falso (.F.), el menú o elemento quedará activado. Si la expresión da como resultado verdadero (.T.), el menú o elemento se desactivará y no se podrá seleccionar o elegir. Una vez mostrado el sistema de menús, puede activar y desactivar los menús y sus elementos con el comando SET SKIP OF. MARCAR EL ESTADO DE UN ELEMENTO DE MENÚ
En un menú, una marca de verificación junto a un elemento indica que está activo.
• Escriba \< a la izquierda de la letra que desee que actúe como tecla de acceso.
En tiempo de ejecución puede colocar una marca de verificación junto a un elemento de menú mediante el comando SET MARK OF. ASIGNAR UN COMANDO A UN MENÚ O ELEMENTO DE MENÚ 1. En la columna Indicador, haga clic en el título o elemento de menú correspondiente. 2. En el cuadro Acción, elija Comando. 3. En el cuadro situado a la derecha del cuadro Acción, escriba el comando correspondiente: Por ejemplo para llamar un formulario utilice el comando siguiente: DO FORM nombredelformulario
INFORMES: Tienen dos componentes básicos: un origen de datos y un diseño. El origen de datos suele estar formado por tablas de la base de datos, una vista, una consulta o un cursor. Las vistas y consultas filtran, ordenan y agrupan datos de la base de datos y el diseño del informe define el formato impreso de los informes. Con el Diseñador de informes puede diseñar listas completas, resúmenes o subconjuntos especiales de datos, como por ejemplo una factura. El diseño de un informe tiene cuatro etapas principales: 1. 2. 3. 4.
Determinar el tipo de informe que va a crear. Crear el archivo que contenga el diseño del informe. Modificar y personalizar el archivo de diseño. Efectuar la vista preliminar e impresión del informe.
DETERMINAR EL TIPO DE INFORME QUE VA A CREAR. Los puntos en un elemento de menú indican que el usuario debe proporcionar más información.
Tipo diseño ESPECIFICAR UN MÉTODO ABREVIADO DE TECLADO PARA UN MENÚ O ELEMENTO DE MENÚ 1. 2. 3.
En la columna Indicador, haga clic en el título o elemento de menú correspondiente. Elija el botón de la columna Opciones para mostrar el cuadro de diálogo Opciones de la acción. En el cuadro Etiqueta de tecla, presione una combinación de teclas para crear un método abreviado de teclado.
Si un elemento de menú no tiene un método abreviado de teclado, Visual FoxPro mostrará "(presione la tecla)" en el cuadro Etiqueta de tecla. 4.
En el cuadro Texto de tecla, agregue el texto que desee que aparezca junto al elemento de menú.
De forma predeterminada, Visual FoxPro repite el método abreviado de teclado del cuadro Etiqueta de tecla en el cuadro Texto de tecla. Sin embargo, puede modificar el contenido de Texto de tecla. Por ejemplo, si tanto en Etiqueta de tecla y Texto de tecla aparece CTRL+R, puede cambiar el contenido de Texto de tecla por ^R. CTRL+J es un método abreviado de teclado no válido porque se usa para cerrar ciertos cuadros de diálogo en Visual FoxPro. ESPECIFICAR LA TECLA DE ACCESO DE UN MENÚ O ELEMENTO DE MENÚ
Descripción
Ejemplos
Columna
Un registro por fila con campos dispuestos horizontalmente a lo ancho de la página
Informe de grupos y totales1 Informes financieros Inventario Resumen de ventas
Fila
Una columna de registros con campos dispuestos verticalmente uno bajo el otro
Listas
a
Un registro o una relación uno a varios
Facturas Estado de cuentas
Multicolumna
Más de una columna de registros con campos dispuestos verticalmente hacia abajo en margen izquierdo
Listín telefónico Tarjetas de visita
Etiqueta
Mas de una columna de registros con campos dispuestos verticalmente hacia abajo en el margen izquierdo; impreso en papel especial
Etiquetas postales Etiquetas de nombres
Uno varios1
de
1 Diseños que tienen asociado un Asistente para informes
CREAR EL ARCHIVO QUE CONTENGA EL DISEÑO DEL INFORME. Puede crear el archivo que contenga el diseño del informe con el diseñador de informes. Visual FoxPro ofrece tres formas de comenzar el diseño de un informe:
• Crear informes sencillos de una o varias tablas con un Asistente para informes.
• Crear un informe sencillo desde una tabla con Informe rápido. • Modificar informes existentes o crear sus propios informes con el Diseñador de informes. Con cada uno de estos métodos creará un archivo de diseño de informe que puede modificar con el Diseñador de informes. El Asistente para informes es el método más fácil de iniciar un informe y ofrece automáticamente muchas de las características de personalización del Diseñador de informes. El Informe rápido es la forma más rápida de crear un diseño sencillo. Si crea un informe directamente con el Diseñador de informes, éste le presentará un diseño en blanco. USAR UN ASISTENTE PARA INFORMES 1. 2. 3. 4. 5.
En el Administrador de proyectos, seleccione Informes. Elija Nuevo. Elija Asistente para informes. Elija el tipo de informe que desea crear. Siga las instrucciones de las pantallas del asistente.
MODIFICAR UN INFORME GENERADO
1. 2.
En el Administrador de proyectos, seleccione un informe o una etiqueta. Elija Modificar.
Utilice las bandas del informe para determinar cómo desea que sea cada página, grupo y el comienzo y el fin de su informe. Las bandas del informe se pueden cambiar de tamaño. BANDAS DE INFORME EN EL DISEÑADOR DE INFORME
CREAR UN INFORME RÁPIDO 1. 2. 3. 4. 5.
En el Administrador de proyectos, seleccione Informes. Elija Nuevo. Elija Nuevo informe. En el menú Informe, elija Informe rápido. Seleccione la tabla que desea usar y, a continuación, elija Aceptar.
AGREGAR LAS BANDAS TÍTULO Y RESUMEN CREAR UN INFORME EN BLANCO (DISEÑADOR DE INFORMES) 1. 2. 3.
En el Administrador de proyectos, elija Informes. Elija Nuevo. Elija Nuevo informe.
MODIFICAR EL DISEÑO En las bandas del Diseñador de informes, puede insertar ciertos tipos de controles que contienen las etiquetas, campos, variables y expresiones que desea incluir en el informe impreso. Para mejorar la apariencia visual del informe y hacerlo más legible, puede agregar otros controles como líneas, rectángulos y rectángulos redondeados. Puede incluir también controles dependientes de una imagen u objeto OLE. Archivo de diseño del informe e informe resultante
La banda Título contiene información que se imprime una sola vez al principio del informe y la banda Resumen contiene información que se imprime una sola vez al final del informe. Tanto el título como el resumen pueden estar en su propia página. Campos con expresiones de totalización se convertirán en totales generales cuando se ubiquen en la banda Resumen.
AGREGAR UNA BANDA TÍTULO Y RESUMEN Use esta banda 1. 2. 3. 4.
En el menú Informe, elija Título y resumen. Elija las bandas que desee. Si quiere que la banda aparezca en su propia página, elija Nueva página. Elija Aceptar.
Puede situar cualquiera de los controles de informe en cualquiera de las bandas. También puede agregar funciones definidas por el usuario que se procesan durante la ejecución del informe.
TIPOS DE CONTROLES DE INFORME
Para imprimir
Use este comando
Título
Una vez informe
por
En el menú Informe, elija Título y resumen.
Encabezado de página
Una vez por página
Disponible de forma predeterminada.
Encabezado columna
Una vez columna
En el menú Archivo, elija Configurar página e introduzca un número de columna mayor que uno.
de
por
. Encabezado de grupo
Una vez por grupo
En el menú Informe, elija Agrupar datos.
Campo
Banda Detalle
Una vez registro
Disponible de forma predeterminada.
Texto
Etiqueta
Pie de grupo
Una vez por grupo
En el menú Informe, elija Agrupar datos.
Líneas rectas
Línea Pie de columna Rectángulo
Una vez columna
por
Cuadros y bordes
Elija Configurar página en el menú Archivo e introduzca un número de columna mayor que uno.
Pie de página
Una vez por página
Disponible de forma predeterminada.
Resumen
Una vez informe
En el menú Informe, elija Título y resumen.
Para mostrar Campos de expresiones
Elija este control tabla,
variables
Círculos, elipses, cuadros redondeados y bordes
con
Mapas de bits o campos generales
y
otras
bordes
por
Rectángulo redondeado Imagen/ActiveX dependiente
ESTABLECER EL ORIGEN DE DATOS DEL INFORME
por
Puede definir fácilmente el origen de los datos que rellenarán los controles de su informe en el entorno de datos del informe. También puede agregar tablas o vistas, así como ordenar los datos con un índice de tabla. EL ENTORNO DE DATOS ADMINISTRA LOS ORÍGENES DE LOS DATOS DE SUS INFORMES:
• • •
Abre las tablas o vistas cuando se abre o ejecuta el informe. Rellena el conjunto de datos que su informe necesita basándose en tablas y vistas asociadas. Cierra las tablas cuando se cierra o libera el informe.
ESTABLECER UN ÍNDICE PARA EL ENTORNO DE DATOS
1. 2. 3. 4. 5.
En el menú Ver, elija Entorno de datos. En el menú de método abreviado, elija Propiedades. En la ventana Propiedades, en el cuadro Objeto. elija Cursor1 Elija la ficha Datos y seleccione la propiedad Order. Escriba un nombre de índice. –O– Seleccione un índice en la lista de índices disponibles.
AGREGAR CONTROLES DE CAMPO Desde el entorno de datos arrastre y coloque los campos sobre el diseño.
AGREGAR CAMPOS HERRAMIENTAS
1. 2.
DE
TABLA
DESDE
LA
BARRA
DE
Desde la barra de herramientas Controles de informes, inserte un control Campo. En el cuadro de diálogo Expresión de informe, elija el botón con tres puntos que hay después del cuadro Expresión.
Debe alinear los controles por un lado que todos los controles seleccionados tengan disponible y alejado de los demás. Los controles que están en una fila y se seleccionan para alinearse por su lado derecho, o el izquierdo, se apilarán unos encima de otros. De igual modo, los controles que están en una línea vertical y seleccionados para alinearse con respecto a la parte superior, o inferior, se solaparán.
AGREGAR UN GRUPO
1.
3.
En el menú Informe, elija Agrupar datos.
En el cuadro Campos, haga doble clic en el nombre del campo deseado.
2.
En el primer cuadro Grupo, escriba la expresión de grupo. –O– Elija el botón con tres puntos para crear una expresión en el Generador de expresiones. 3. En el área Propiedades de grupo, seleccione las propiedades que desee. 4. Elija Aceptar. Después de agregar la expresión, puede colocar los controles que desee en las bandas. Normalmente, el control de campo utilizado para los agrupamientos se traslada desde la banda Detalle hasta la banda Encabezado de grupo HERRAMIENTAS INFORME
PARA
PERSONALIZAR
EL
DISEÑO
DEL
Los nombres de la tabla y del campo aparecerán en el cuadro Expresión para campo del informe. Si el cuadro Campos está vacío, agregue una tabla o vista al entorno de datos. No tiene que mantener el alias de nombre de la tabla en la expresión. Puede eliminarlo o puede desactivar las opciones del Generador de expresiones. 4. Elija Aceptar 5. En el cuadro de diálogo Expresión de informe, elija Aceptar.
UTILICE LA BARRA DE HERRAMIENTA DISEÑO PARA ALINEAR LOS CONTROLES
Puede cambiar el entorno de datos, la configuración de la página o los controles de informe. El entorno de datos define el origen de los datos a incluir en el informe, la configuración de la página define la apariencia general de la página y de las bandas del informe y los controles de informe definen los elementos que aparecerán en la página.
CUADRO DE DIÁLOGO CONFIGURAR PÁGINA
3.
En el cuadro de diálogo Formato, seleccione el tipo de dato para el campo: Carácter, Numérico o Fecha. El área Opciones de edición muestra las opciones de formato disponibles para ese tipo de datos. Este tipo de datos se aplica sólo al control de informe. En él se refleja el tipo de datos de la expresión y no cambia el tipo de datos del campo en la tabla. 4. Seleccione las opciones de alineación y formato que desee.
1. 2.
En el menú Archivo, elija Especificar impresora. En el cuadro Margen izquierdo, introduzca un valor para el margen. La imagen de la página cambiará para mostrar el nuevo margen. 3. Para seleccionar un tamaño de papel, elija Configurar página. 4. En el cuadro de diálogo Configurar página, seleccione un tamaño de página en la lista Tamaño. 5. Para seleccionar la orientación del papel, elija una orientación en el área Orientación y, a continuación, elija Aceptar. 6. En el cuadro de diálogo Configurar página, elija Aceptar. DEFINIR EL ENCABEZADO Y EL PIE DE PÁGINA Los controles ubicados en las bandas Encabezado o Pie de página aparecen una vez en cada página del informe. Un informe que tenga muchas páginas debería incluir el nombre del informe, el número de página, la fecha y las etiquetas (si es apropiado) en un encabezado o pie. DEFINIR LA BANDA DETALLE Típicamente, los controles situados en banda Detalle se imprimen una vez para cada registro. DAR FORMATO A LOS CONTROLES DE CAMPO Después de insertar un control de campo, puede cambiar el tipo de datos y el formato de impresión del control. Los tipos de datos pueden ser Carácter, Numérico, o Fecha. Cada uno de estos tipos tiene sus propias opciones de formato, incluyendo la opción de crear sus propias plantillas de formato. El formato determina cómo se muestra el campo cuando se imprime el informe. Normalmente, podría convertir todo el resultado alfabético a mayúsculas, insertar comas o puntos decimales en el resultado numérico, mostrar el resultado numérico en formato de moneda o convertir un formato de fecha a otro. DEFINIR FORMATOS DE CONTROL DE CAMPO Puede elegir entre diversas opciones de formato para cada tipo de datos.
OPCIONES DEL CUADRO DE DIÁLOGO Expresión Muestra la expresión, actualmente seleccionada como un campo de tabla o una variable de memoria, o le permite escribir uno nuevo. Elija el botón de diálogo para mostrar el cuadro de diálogo Generador de expresiones si desea crear una expresión y comprobarla antes de continuar. Formato Cuando una expresión válida se muestra en el cuadro Expresión, puede especificar un formato en este cuadro de texto. Elija el botón del cuadro de diálogo para mostrar el cuadro de diálogo Formato (Campo) si desea especificar el formato para el campo en su informe. Cálculos Muestra el cuadro de diálogo Calcular campo, en el que puede seleccionar una expresión para crear un campo calculado. Imprimir-Condiciones Muestra el cuadro de diálogo Imprimir - Condiciones en el que puede especificar las condiciones que se deben cumplir antes de que se imprima el texto en el informe o la etiqueta. Posición del campo Flotante Especifica que el campo seleccionado se mueva en relación al tamaño de los campos cercanos. Borde superior de la banda Hace que el campo permanezca en la posición que le ha asignado en el Diseñador de informes o el Diseñador de etiquetas, y lo mantiene en esa posición relativa al principio de la banda. Borde inferior de la banda Hace que el campo permanezca en la posición que le ha asignado en el Diseñador de informes o el Diseñador de etiquetas, y mantenga dicha posición relativa al borde inferior de la banda. Ajustar al contenido del texto Hace que el campo se expanda hacia abajo en la página del informe para mostrar todos los datos. Comentario Le permite agregar comentarios al archivo .frx o .lbx. Los comentarios son sólo referencias y no aparecen por ningún sitio en el informe o etiqueta impreso.
PARA DAR FORMATO A UN CONTROL DE CAMPO VISTA PRELIMINAR E IMPRESIÓN DE SU INFORME
1. 2.
Haga doble clic en el control Campo. En el cuadro de diálogo Expresión de informe, elija el botón con tres puntos que hay después del cuadro Formato.
Después de comenzar el diseño de su informe, puede ver una vista preliminar de su trabajo o bien imprimir un informe. Puede ver una vista preliminar en cualquier momento mientras personaliza el diseño. VISTA PRELIMINAR DE LOS RESULTADOS Si hace una vista preliminar de un informe podrá ver cómo queda en la página sin necesidad de imprimirlo antes.
La ventana Vista preliminar tiene su propia barra de herramientas, con botones que pueden llevarle de una página a otra del informe.
Volver al modo diseño Cuidado Si aparece la pregunta "¿Desea guardar los cambios en su archivo?", es que ha seleccionado no sólo cerrar la ventana Vista preliminar, sino también el archivo de diseño. Puede seleccionar el botón Cancelar para regresar a la vista preliminar o el botón Guardar para guardar sus cambios y cerrar el archivo. Si selecciona No, no se guardarán los cambios realizados en el diseño.
IMPRIMIR INFORMES El archivo de diseño de informe creado mediante el Diseñador de informes es un entorno que da formato a los datos en una agradable presentación para imprimir. Procesa los registros en el orden en que aparecen en el origen de datos. Si usa directamente los datos desde una tabla, los datos no se ordenarán para los grupos que puede haber en el diseño. Antes de imprimir un archivo de informe, deberá asegurarse de que el origen de datos se ordenará y que dicho orden es el apropiado. Si la tabla forma parte de una base de datos, cree una vista y agréguela al entorno de datos del informe. La vista ordenará los datos. Si el origen de datos es una tabla libre, puede crear y ejecutar una consulta que use el informe como su destino. PARA IMPRIMIR UN INFORME
1. 2.
En el menú Archivo, elija Imprimir. Elija Aceptar.
Si el entorno de datos no está establecido, el cuadro de diálogo Abrir aparecerá con una lista de tablas entre las cuales puede elegir.
MOVER LOS CONTROLES EN UNA OPERACIÓN DE ARRASTRAR Y COLOCAR Inserte una imagen en un formulario y establezca la propiedad de la imagen DragMode como 1-Arrastre Automático y la propiedad, también de la imagen DragIcon como un archivo de icono que se mostrará como puntero durante la operación de arrastrar y colocar. Establezca el evento DragDrop del formulario con el siguiente código LPARAMETERS oSource, nXCoord, nYCoord
oSource.Move(nXCoord, nYCoord)