Guia de Visual FoxPro

30
Guía elaborada por: Carmen Estela Silva H. Este tutorial lo bajaste de http://www.mipagina.cantv.net/carmenestela

Transcript of Guia de Visual FoxPro

Page 1: Guia de Visual FoxPro

Guía elaborada por: Carmen Estela Silva H. Este tutorial lo bajaste de http://www.mipagina.cantv.net/carmenestela

Page 2: Guia de Visual FoxPro

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 D E

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 ÚNICO S

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 SUPERI OR 12.3.1.3.1. AGREGAR UN MENÚ A UN FORMULARIO DE NIVE L

PRINCIPAL 12.3.1.2. OCULTAR LA VENTANA PRINCIPAL DE VISUAL FO XPRO 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 CO N 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 ELEMENT O 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.

Page 3: Guia de Visual FoxPro

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

Page 4: Guia de Visual FoxPro

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

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

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. 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 Utilice este diseñador

Crear tablas y establecer índices en tablas Diseñador de tablas

Ejecutar consultas en tablas locales Diseñador de consultas

Page 5: Guia de Visual FoxPro

Ejecutar consultas en orígenes de datos remotos; crear consultas actualizables

Diseñador de vistas

Crear un formulario para ver y modificar los datos de las tablas

Diseñador de formularios

Crear un informe para mostrar e imprimir los datos

Diseñador de informes

Configurar una base de datos; ver y crear relaciones entre tablas

Diseñador de bases de datos

Crear una conexión para vistas remotas Diseñador de conexiones

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

2. 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 de 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

Crear archivos de combinación de correspondencia

Asistente para combinar correspondencia

Crear formularios uno a varios Asistente para formularios uno a varios

Crear informes uno a varios Asistente para informes uno a varios

Crear bases de datos Oracle que dupliquen, en todo lo posible, la funcionalidad de bases de datos Visual FoxPro

Asistente para upsizing a Oracle

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 asistente personalizado

Asistente de ejemplo

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 de búsqueda de WWW

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

Page 6: Guia de Visual FoxPro

DAR FORMATO A VARIOS CONTROLES • En el Diseñador de formularios, seleccione controles. • En la barra de herramientas Diseñador de formularios, elija el

botón Autoformato.

USAR EL GENERADOR DE FORMULARIOS • En el menú Formulario, elija Formulario rápido.

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.

CREAR UNA TABLA CON UN ASISTENTE 1. En el Administrador de proyectos, seleccione la ficha Datos y, a

continuación, seleccione Tablas libres. 2. Elija Nuevo. 3. Elija el botón Asistente. 4. 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. Para crear y modificar una tabla mediante programación se utilizan los comandos siguientes: Comandos para crear y modificar tablas

ALTER TABLE CLOSE TABLES

CREATE TABLE DELETE FILE

REMOVE TABLE RENAME TABLE

DROP TABLE

DISEÑADOR DE TABLAS

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 enteros o decimales

Cantidad de artículos pedidos

Float (Flotante) Igual que Numeric

Date (Fecha) Día, mes y año Fecha en que se realizó un pedido

DateTime (FechaHora)

Día, mes, año, horas, minutos y segundos

Fecha y hora en que un empleado llegó al

Page 7: Guia de Visual FoxPro

trabajo

Double (Doble) Número de precisión doble

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.

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.

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.

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.

Page 8: Guia de Visual FoxPro

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. En el Administrador de proyectos, seleccione la tabla a la que quiera agregar un índice y elija Modificar.

2. En la ficha Índices, cree un índice. 3. En la columna Tipo, seleccione Principal o Candidato. 4. 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. 12. FORMULARIOS

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.

Figura 1. Formulario

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.

ADMINISTRAR FORMULARIOS tareas comunes relacionadas con la administración de formularios Ocultar un formulario

Puede ocultar un formulario para que deje de estar visible para un usuario. Cuando el formulario está oculto, el usuario no puede tener acceso a sus controles, pero sigue teniendo control total sobre ellos mediante programación

Use el Método Hide. Ejemplo THISFORM.Hide

Liberar un formulario

Puede permitir que un usuario libere un formulario cuando haya terminado de interactuar con él. Al liberar un formulario, ya no podrá tener acceso a sus propiedades y métodos.

Utilice el método Release. Ejemplo THISFORM.Release

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 DATO S 1. En el menú Ver, elija Entorno de datos. 2. En el cuadro Agregar tabla o vista, elija Agregar. 3. En el cuadro de diálogo Abrir, elija la tabla o vista que desea

agregar al entorno de datos. PROPIEDADES HABITUALES DEL ENTORNO DE DATOS

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

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

Page 9: Guia de Visual FoxPro

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

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.

INTERFACES DE UN ÚNICO DOCUMENTO E INTERFACES DE DOCUMENTOS MÚLTIPLES

Visual FoxPro le permite crear dos tipos de aplicaciones: • Las aplicaciones con interfaz de documentos múltiples(Multiple-

document 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

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. Cree o modifique el formulario mediante el Diseñador de

formularios. 2. 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

Page 10: Guia de Visual FoxPro

cualquier ventana de nivel superior distinta de la ventana principal de Visual FoxPro.

3. 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. ESPECIFICAR UN FORMULARIO FLOTANTE 1. Cree o modifique el formulario con el Diseñador de formularios. 2. 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.

3. Establezca la propiedad Desktop del formulario a .T. (verdadero).

ESPECIFICAR UN FORMULARIO DE NIVEL SUPERIOR

1. Cree o modifique el formulario con el Diseñador de formularios. 2. Establezca la propiedad ShowWindow del formulario a 2 – Como

formulario de nivel superior.

AGREGAR UN MENÚ A UN FORMULARIO DE NIVEL PRINCIPAL

1. Cree un menú de formulario de nivel superior. 2. Establezca la propiedad ShowWindow del formulario a 2 – Como

formulario de nivel superior. 3. 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. En el evento Init del formulario, incluya la siguiente línea de código: Application.Visible = .F.

2. En el evento Destroy del formulario, incluya la siguiente línea de código: Application.Visible = .T.

CLASES

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

ActiveDoc Custom Label PageFrame

CheckBox EditBox Line ProjectHook

Column* Form ListBox Separator

CommandButton FormSet OLEBoundControl Shape

CommandGroup Grid OLEContainerControl Spinner

ComboBox Header* OptionButton* TextBox

Container Hyperlink Object

OptionGroup Timer

Control Image Page* ToolBar

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

CREAR UNA CLASE NUEVA

• 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

Page 11: Guia de Visual FoxPro

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

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

Propiedad Valor

Caption \<Salir

FontBold .T.-Verdadero

ToolTipText salir de la aplicación

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á:

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.

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

• En el menú Herramientas, haga clic en la Galería de componentes.

- O - • Escriba DO (_GALLERY) en la ventana Comandos.

MOVER ELEMENTOS DESDE LA GALERÍA DE COMPONENTES

1. 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:

1. Cree un formulario nuevo. 2. Abra la galería de componentes. 3. En el panel izquierdo, seleccione Foundation classes 4. Aún en el panel izquierdo, haga click en botones. 5. En el panel derecho, haga clic en botón del cuadro de diálogo

Filtro Observe el icono Mover

6. Arrastre y coloque el icono Mover en el formulario abierto. 7. Ejecute el formulario. Se verá así:

Page 12: Guia de Visual FoxPro

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

para el formulario o el conjunto de formularios.

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.

Page 13: Guia de Visual FoxPro

Para establecer el valor de la propiedad Caption en tiempo de ejecución haga doble clic en el formulario

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.

Haga Clic con el botón derecho del Mouse y seleccione lista de objetos y seleccione el form1 luego haga clic en insertar

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á : Agregue This.AutoCenter=.t. al evento Load y ejecute el formulario. Establecer Múltiples Propiedades. Puede establecer Múltiples 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 ASIGNAR UN ICONO A UN FORMULARIO 1. Abra el formulario. 2. Abra la ventana Propiedades. 3. 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

Page 14: Guia de Visual FoxPro

encuentra la vivienda, según lo lejos que se encuentre esa otra persona. De lo contrario, podría haber cierta confusión. 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 = Con figuració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 o palabra clave

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" Utilice las palabras clave THIS, THISFORM y THISFORMSET para hacer referencia a objetos que están en un formulario o un conjunto de formularios CONTROLES 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 contr oles

Control Efecto

Casilla de verificación

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

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.

Botón de opción 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 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. 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.

USAR GRUPOS DE BOTONES DE OPCIÓN

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.

Propiedades Principales del botón de opción

Propiedad Función ButtonCount Establezca la propiedad con el número deseado

de botones de opción. Value indica qué botón se ha elegido en el grupo de

botones de opción ControlSource 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.

Buttons especifica el número de índice del botón de opción del grupo.

Enabled Establezca esta propiedad del grupo de botones de opción como falso (.F.) para desactivar el grupo

USAR CUADROS DE LISTA Y CUADROS DE LISTA DESPLEGABLES (CUADROS COMBINADOS)

Las propiedades siguientes de cuadros de lista suelen establecerse en tiempo de diseño.

Propiedad Descripción

Page 15: Guia de Visual FoxPro

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.

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 CO N FRECUENCIA:

Método Descripción

AddItem Agrega un elemento a una lista con un RowSourceType de 0.

RemoveItem Quita un elemento de una lista con un RowSourceType de 0.

Requery Actualiza la lista si han cambiado los valores de RowSource

Elegir un tipo de datos para un cuadro de lista o u n 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

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

Page 16: Guia de Visual FoxPro

en el cuadro de texto

PassWordChart Para aceptar la entrada del usuario sin mostrar el Valor real. Establezca la propiedad como asterisco (*)

ReadOnly Determina si el usuario puede cambiar el texto en el cuadro de texto.

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.

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.

CUADROS DE EDICION Puede permitir que los usuarios modifiquen texto de campos de caracteres o de campos memo largos en cuadros de edición.

Propiedad Descripción

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

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.

Propiedad Descripción

ControlSource Especifica el campo de la tabla en el que se almacena el valor que elige o escribe el usuario.

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.

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)

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 Descripción

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

BOTONES DE COMANDO Y GRUPOS DE BOTONES DE COMANDO

Page 17: Guia de Visual FoxPro

Propiedades comunes de los botones de comando

Propiedad Descripción

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

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

ButtonCount Número de botones del grupo de comandos.

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.

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.

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 Valor

Enabled 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

externo (como un clic en un botón de comando) para que se inicie la operación del cronómetro.

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

El control Image permite agregar imágenes (archivos .bmp) al formulario

Propiedad Descripción

Picture La imagen (archivo .bmp) que se muestra.

BorderStyle Indica si la imagen tiene o no un borde visible.

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.

USAR ETIQUETAS

Propiedad Descripción

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.

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

Page 18: Guia de Visual FoxPro

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.

USAR LÍNEAS Una línea es un control que dibuja una línea en un formulario.

Propiedad 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 DE FORMULARIO PARA MOSTRAR INFORMACIÓN 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.

Line Dibuja una línea en un formulario.

Pset Establece un punto de un formulario con un determinado color.

Print Imprime una cadena de caracteres en un formulario.

MEJORAR LA PRESENTACIÓN DE CONTROLES 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

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.

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

RecordSource Los datos que se muestran en la cuadrícula.

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

AllowAddNew Especifica si se pueden agregar nuevos registros a una tabla desde una cuadrícula.

PROPIEDADES COMUNES DE LAS COLUMNAS

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.

PARA ESTABLECER EL ORIGEN DE DATOS PARA UNA CUADRÍCULA

Page 19: Guia de Visual FoxPro

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 EL ORIGEN DE DATOS PARA UNA COLUMNA 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 En el cuadro Objeto de la ventana Propiedades, seleccione el

control. 2 Active el Diseñador de formularios.

Si la ventana Propiedades está visible, el nombre del control aparecerá en el cuadro Objeto.

3 Presione la tecla supr.

USAR MARCOS DE PAGINA Los marcos de página permiten ampliar la superficie de los formularios y los controles ActiveX permiten ampliar la funcionalidad de los formularios. 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. 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.

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.

PageCount El número de páginas del marco de página.

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

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. CONJUNTO BÁSICO DE EVENTOS

Evento Cuándo se desencadena el evento

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.

RightClick Cuando el usuario hace clic en el objeto con el botón secundario del mouse.

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.

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

Page 20: Guia de Visual FoxPro

código mediante el método SetFocus.

KeyPress Cuando el usuario presiona y suelta una tecla.

MouseDown Cuando el usuario presiona el botón del mouse mientras el puntero del mouse se encuentra sobre el objeto.

MouseMove Cuando el usuario mueve el mouse sobre el objeto.

MouseUp 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")

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:

frmTELEFONO.Activate

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.

Los métodos contienen código de procedimientos que se ejecuta al llamar al método Para liberar un formulario utilice el método Relea se ThisForm.release 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. Desde el Administrador de Proyectos, en la ficha Datos, seleccione Consultas y haga clic ene. Botón nuevo.

2. Cree la consulta con un Asistente para consultas o con el Diseñador de consultas.

3. Seleccione la tabla o vista que contiene la información que desea obtener.

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

5. Organice los resultados de la consulta; para ello, ordene y agrupe las filas del resultado.

6. Elija el tipo de salida que desea para la consulta: tabla, informe, examinar, etc.

7. Ejecute y compruebe la consulta.

CREAR UNA CONSULTA CON EL DISEÑADOR DE CONSULTAS

Seleccionar una tabla o una vista para la consulta

PARA CREAR UNA CONSULTA CON UN ASISTENTE

1. En el Administrador de proyectos, seleccione la ficha Datos y elija Consultas.

2. Elija Nuevo. 3. Elija el botón Asistente para consultas. 4. Seleccione el tipo de consulta que desea crear.

Page 21: Guia de Visual FoxPro

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.

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.

Lista de campos izquierda Lista de campos derecha

OPCIONES DEL CUADRO DE DIÁLOGO CONDICION DE COMBINACION

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. Agregue dos o más tablas o vistas a una consulta. 2. En la barra de herramientas Diseñador de consultas, elija el

botón Agregar combinación. 3. 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. 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

Page 22: Guia de Visual FoxPro

y sólo registros que cumplan los criterios de combinación de la tabla en el lado derecho de los criterios de combinación

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

5. Elija Aceptar.

ELIMINAR UNA COMBINACIÓN • 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

6. En la ficha Combinación, seleccione la combinación que desea modificar.

7. Cambie las condiciones de combinación según sea necesario.

VISTAS

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.

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.

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.

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.

CREAR UNA VISTA CON UN ASISTENTE 1. En el Administrador de proyectos, seleccione una base de datos. 2. Seleccione Vistas locales o Vistas remotas y elija Nuevo. 3. Elija el botón Asistente para vistas. 4. Siga las instrucciones que aparecerán en las pantallas del

asistente. . INICIAR EL DISEÑADOR DE 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.

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.

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

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

Page 23: Guia de Visual FoxPro

1. En el Administrador de proyectos, seleccione la ficha Otros,

seleccione Menús y haga clic en Nuevo. 2. Elija Menú. 3. Aparecerá el Diseñador de menús. 4. 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.

5. Personalice el sistema agregando o modificando elementos de menú

Antes de poder usar el menú en una aplicación debe generarlo.

GENERAR UN MENÚ

• 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

CREAR MENÚS SDI

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

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

Ejemplo: DO SDIMENU.MPR WITH THIS,.T.

CREAR UN MENÚ CONTEXTUAL

1. En el Administrador de proyectos, seleccione la ficha Otros, seleccione Menús y haga clic en Nuevo.

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

1. Seleccione el control al que desea adjuntar el menú contextual. 2. En la ventana Propiedades, elija la ficha Métodos y seleccione

RightClick Event. 3. En la ventana de código, escriba DO menú.MPR, en donde menú

es el nombre del menú contextual.

Asegúrese de usar la extensión .mpr al hacer referencia a los menús contextuales.

ACTIVAR O DESACTIVAR UN MENÚ O ELEMENTO DE MENÚ

1. En la columna Indicador, haga clic en el título o elemento de menú correspondiente.

2. Elija el botón de la columna Opciones para mostrar el cuadro de diálogo Opciones de la acción.

3. Haga clic en la casilla de verificación Saltar por.

Aparecerá el Generador de expresiones.

4. En el cuadro Saltar por, escriba la expresión que determinará si el menú está activado o desactivado.

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Ú

Page 24: Guia de Visual FoxPro

En un menú, una marca de verificación junto a un elemento indica que está activo.

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

Los puntos en un elemento de menú indican que el usuario debe proporcionar más información.

ESPECIFICAR UN MÉTODO ABREVIADO DE TECLADO PARA UN MENÚ O ELEMENTO DE MENÚ

1. En la columna Indicador, haga clic en el título o elemento de menú correspondiente.

2. Elija el botón de la columna Opciones para mostrar el cuadro de diálogo Opciones de la acción.

3. 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 ELEMENT O DE MENÚ

• Escriba \< a la izquierda de la letra que desee que actúe como tecla de acceso.

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. Determinar el tipo de informe que va a crear. 2. Crear el archivo que contenga el diseño del informe. 3. Modificar y personalizar el archivo de diseño. 4. Efectuar la vista preliminar e impresión del informe.

DETERMINAR EL TIPO DE INFORME QUE VA A CREAR.

Tipo de diseño

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

Uno a varios1

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

1 Diseños que tienen asociado un Asistente para informes

Page 25: Guia de Visual FoxPro

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. En el Administrador de proyectos, seleccione Informes. 2. Elija Nuevo. 3. Elija Asistente para informes. 4. Elija el tipo de informe que desea crear. 5. Siga las instrucciones de las pantallas del asistente.

CREAR UN INFORME RÁPIDO

1. En el Administrador de proyectos, seleccione Informes. 2. Elija Nuevo. 3. Elija Nuevo informe. 4. En el menú Informe, elija Informe rápido. 5. Seleccione la tabla que desea usar y, a continuación, elija

Aceptar.

CREAR UN INFORME EN BLANCO (DISEÑADOR DE INFORMES)

1. En el Administrador de proyectos, elija Informes. 2. Elija Nuevo. 3. 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

MODIFICAR UN INFORME GENERADO

1. En el Administrador de proyectos, seleccione un informe o una etiqueta.

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

AGREGAR LAS BANDAS TÍTULO Y RESUMEN

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.

Page 26: Guia de Visual FoxPro

AGREGAR UNA BANDA TÍTULO Y RESUMEN

1. En el menú Informe, elija Título y resumen. 2. Elija las bandas que desee. 3. Si quiere que la banda aparezca en su propia página, elija Nueva

página. 4. 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 mostrar Elija este control

Campos de tabla, variables y otras expresiones

Campo

Texto Etiqueta

Líneas rectas Línea

Cuadros y bordes Rectángulo

Círculos, elipses, cuadros con bordes redondeados y bordes

Rectángulo redondeado

Mapas de bits o campos generales Imagen/ActiveX dependiente

ESTABLECER EL ORIGEN DE DATOS DEL INFORME

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. En el menú Ver, elija Entorno de datos. 2. En el menú de método abreviado, elija Propiedades. 3. En la ventana Propiedades, en el cuadro Objeto. elija Cursor1 4. Elija la ficha Datos y seleccione la propiedad Order. 5. 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.

Use esta banda Para imprimir Use este comando

Título Una vez por informe

En el menú Informe, elija Título y resumen.

Encabezado de página Una vez por página Disponible de forma predeterminada.

Encabezado de columna

Una vez por columna

En el menú Archivo, elija Configurar página e introduzca un número de columna mayor que uno.

Encabezado de grupo Una vez por grupo En el menú Informe, elija Agrupar datos.

Banda Detalle Una vez por registro

Disponible de forma predeterminada.

Pie de grupo Una vez por grupo En el menú Informe, elija Agrupar datos.

Pie de columna Una vez por columna

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 por informe

En el menú Informe, elija Título y resumen.

Page 27: Guia de Visual FoxPro

AGREGAR CAMPOS DE TABLA DESDE LA BARRA DE HERRAMIENTAS

1. Desde la barra de herramientas Controles de informes, inserte un control Campo.

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

3. En el cuadro Campos, haga doble clic en el nombre del campo

deseado.

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

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. En el menú Informe, elija Agrupar datos.

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 PARA PERSONALIZAR EL DISEÑO DEL INFORME

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.

Page 28: Guia de Visual FoxPro

CUADRO DE DIÁLOGO CONFIGURAR PÁGINA

1. En el menú Archivo, elija Especificar impresora. 2. 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.

PARA DAR FORMATO A UN CONTROL DE CAMPO

1. Haga doble clic en el control Campo. 2. En el cuadro de diálogo Expresión de informe, elija el botón con

tres puntos que hay después del cuadro Formato.

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.

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.

VISTA PRELIMINAR E IMPRESIÓN DE SU INFORME

Page 29: Guia de Visual FoxPro

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.

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. En el menú Archivo, elija Imprimir. 2. 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

Volver al modo diseño

Page 30: Guia de Visual FoxPro

oSource.Move(nXCoord, nYCoord)