6498078 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 6498078 Guia de Visual FoxPro

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

  • 1. INTRODUCCION01 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 DISEO Y MODO DE EJECUCIN 8. DISEADORES 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. DISEADOR DE TABLAS 11.3. TIPO DE DATOS DE UN CAMPO 11.4. VENTAJAS DE LAS TABLAS ASOCIADAS A UNA BASE DE

    DATOS 11.4.5. BASE DE DATOS 11.4.5.1. ASISTENTE PARA BASES DE DATOS 11.4.5.2. DISEADOR DE BASES DE DATOS 11.5. INDEXAR TABLAS 11.5.1. CREAR UNA CLAVE DE NDICE DE UNA TABLA 11.5.1.2. CREAR UN NDICE PARA ORDENAR REGISTROS 11.5.1.3. CREAR UN NDICE QUE IMPONGA VALORES NICOS

    EN UN CAMPO 11.5.2. ELEGIR UN TIPO DE NDICE. 11.5.2.1. PRINCIPAL 11.5.2.2. CANDIDATO 11.5.2.3. NORMAL 11.5.2.4. NICO 12. FORMULARIOS 12.1. ADMINISTRAR FORMULARIOS 12.2. ESTABLECER EL ENTORNO DE DATOS 12.2.1. ABRIR EL DISEADOR DE ENTORNOS DE DATOS 12.2.2. PROPIEDADES HABITUALES DEL ENTORNO DE DATOS 12.2.3. AGREGAR UNA TABLA O VISTA AL DISEADOR DE

    ENTORNOS DE DATOS 12.2.4. QUITAR UNA TABLA O UNA VISTA DEL DISEADOR DE

    ENTORNOS DE DATOS 12.2.5.1. EL DISEADOR DE ENTORNOS DE DATOS CON

    RELACIONES ESTABLECIDAS ENTRE TABLAS 12.2.5.2. MODIFICAR LAS PROPIEDADES DE LA RELACIN 12.3. INTERFACES DE UN NICO DOCUMENTO E INTERFACES

    DE DOCUMENTOS MLTIPLES 12.3.1. TIPOS DE FORMULARIOS 12.3.1.1. ESPECIFICAR UN FORMULARIO SECUNDARIO 12.3.1.2. ESPECIFICAR UN FORMULARIO FLOTANTE 12.3.1.3. ESPECIFICAR UN FORMULARIO DE NIVEL SUPERIOR 12.3.1.3.1. AGREGAR UN MEN A UN FORMULARIO DE NIVEL

    PRINCIPAL 12.3.1.2. OCULTAR LA VENTANA PRINCIPAL DE VISUAL FOXPRO CLASES CLASES DE BASE DE VISUAL FOXPRO CREAR UNA CLASE NUEVA EJEMPLO SENCILLO GALERA DE COMPONENTES ABRIR LA GALERA DE COMPONENTES MOVER ELEMENTOS DESDE LA GALERA DE COMPONENTES EJEMPLO 12.3.2. OBJETOS Y PROPIEDADES 12.3. ASIGNAR UN ICONO A UN FORMULARIO REFERENCIAS A OBJETOS EN LA JERARQUA DE OBJETOS CONTROLES USAR GRUPOS DE BOTONES DE OPCIN USAR CUADROS DE LISTA Y CUADROS DE LISTA DESPLEGABLES (CUADROS COMBINADOS) MTODOS DE CUADRO DE LISTA QUE SUELEN UTILIZARSE CON FRECUENCIA CASILLAS DE VERIFICACIN CUADROS DE TEXTO VALIDAR DATOS EN UN CUADRO DE TEXTO CUADROS DE EDICION CUADROS COMBINADOS

    CONTROLES NUMRICOS BOTONES DE COMANDO Y GRUPOS DE BOTONES DE COMANDO OBJETO HYPERLINK CONTROL CRONMETRO CONTROL IMAGE USAR ETIQUETAS USAR FORMAS USAR LNEAS USAR GRFICOS DE FORMULARIO PARA MOSTRAR INFORMACIN MEJORAR LA PRESENTACIN DE CONTROLES USAR CUADRCULAS PROPIEDADES COMUNES DE LAS COLUMNAS PARA ESTABLECER EL ORIGEN DE DATOS PARA UNA CUADRCULA PARA ESTABLECER EL ORIGEN DE DATOS PARA UNA COLUMNA AGREGAR DE FORMA INTERACTIVA CONTROLES A UNA COLUMNA DE CUADRCULA PARA QUITAR CONTROLES DE COLUMNAS DE CUADRCULA EN EL GENERADOR DE FORMULARIOS USAR MARCOS DE PAGINA CONTROL CONTENEDOR OLE CONTROL ACTIVEX DEPENDIENTE NOMBRES DE OBJETOS EVENTOS CONJUNTO BSICO DE EVENTOS MTODOS CONSULTAS TIPOS DE CONSULTAS CONSULTAS SENCILLAS DE SLO LECTURA BASADAS EN TABLAS (ARCHIVOS .DBF) O EN VISTAS COMO INICIAR EL GENERADOR DE CONSULTAS. CREAR UNA CONSULTA CON EL DISEADOR DE CONSULTAS PARA CREAR UNA CONSULTA CON UN ASISTENTE DESTINO DE LA CONSULTA CONSULTAS LOCALES DE MLTIPLES TABLAS O CON DATOS REMOTOS OPCIONES DEL CUADRO DE DILOGO CONDICION DE COMBINACION CREAR UNA COMBINACIN ENTRE TABLAS ELIMINAR UNA COMBINACIN MODIFICAR UNA COMBINACIN VISTAS CREAR VISTAS CREAR UNA VISTA CON UN ASISTENTE INICIAR EL DISEADOR DE VISTAS

    CREAR UN SISTEMA DE MENS CREAR UN SISTEMA DE MENS CON MEN RPIDO GENERAR UN MEN CREAR MENS SDI (UNA APLICACIN QUE SLO ADMITE UN DOCUMENTO CADA VEZ) CREAR UN MEN SDI INCLUIR UN SISTEMA DE MENS EN LA APLICACIN ADJUNTAR MENS SDI A FORMULARIOS CREAR UN MEN CONTEXTUAL ADJUNTAR MENS 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 MTODO ABREVIADO DE TECLADO PARA UN MEN O ELEMENTO DE MEN ESPECIFICAR LA TECLA DE ACCESO DE UN MEN O ELEMENTO DE MEN INFORMES DETERMINAR EL TIPO DE INFORME QUE VA A CREAR CREAR EL ARCHIVO QUE CONTENGA EL DISEO DEL INFORME USAR UN ASISTENTE PARA INFORMES CREAR UN INFORME RPIDO CREAR UN INFORME EN BLANCO MODIFICAR EL DISEO MODIFICAR UN INFORME GENERADO BANDAS DE INFORME EN EL DISEADOR DE INFORME AGREGAR LAS BANDAS TTULO Y RESUMEN AGREGAR UNA BANDA TTULO Y RESUMEN TIPOS DE CONTROLES DE INFORME.

  • ESTABLECER EL ORIGEN DE DATOS DEL INFORME EL ENTORNO DE DATOS ADMINISTRA LOS ORGENES 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 DISEO PARA ALINEAR LOS CONTROLES AGREGAR UN GRUPO HERRAMIENTAS PARA PERSONALIZAR EL DISEO DEL INFORME CUADRO DE DILOGO CONFIGURAR PGINA DEFINIR EL ENCABEZADO Y EL PIE DE PGINA DEFINIR LA BANDA DETALLE DAR FORMATO A LOS CONTROLES DE CAMPO OPCIONES DEL CUADRO DE DILOGO VISTA PRELIMINAR E IMPRESIN DE SU INFORME VISTA PRELIMINAR DE LOS RESULTADOS IMPRIMIR INFORMES PARA IMPRIMIR UN INFORME

  • INTRODUCCION Visual FoxPro, es un nuevo y potente entorno orientado a objetos para la creacin de bases de datos y la programacin de aplicaciones. Visual FoxPro proporciona todas las herramientas necesarias para administrar datos, tanto si va a organizar tablas de informacin y ejecutar consultas, como si va a crear un sistema de base de datos relacional integrado o programar una aplicacin para la administracin 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 dilogo opciones, seleccione la ficha archivo, en tipo de archivo haga clic en archivo de ayuda, luego haga clic en el botn modificar.En el cuadro cambia la ubicacin 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 mnimos 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 instalacin tpica y 90 MB para la instalacin

    completa. Se recomienda un monitor VGA o de mayor resolucin.

    EL ADMINISTRADOR DE PROYECTOS La primera vez que inicie Visual FoxPro, el Administrador de proyectos crear un nuevo proyecto vaco de forma que pueda agregar elementos existentes al nuevo proyecto o bien crear elementos nuevos para incluirlos en el proyecto. La forma ms sencilla de familiarizarse con Visual FoxPro es utilizar el Administrador de proyectos. El Administrador de proyectos proporciona un mtodo 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 aplicacin.

    El Administrador de proyectos es la herramienta principal de organizacin 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 extensin .pjx

    Las bases de datos son conjuntos de tablas, normalmente relacionadas entre s mediante campos comunes. Como soporte para las tablas y las relaciones, tambin puede incluir en la base de datos vistas, conexiones, procedimientos almacenados, reglas de negocios y desencadenantes. Los archivos de base de datos tienen la extensin .dbc.

    Las tablas libres son tablas que no forman parte de la base de datos y que estn almacenadas en un archivo con la extensin .dbf.

    Las consultas son un mtodo estructurado de solicitar informacin especfica que est almacenada en tablas. Mediante el Diseador de consultas se formula una pregunta que extrae registros de las tablas basndose en los criterios especificados. Las consultas se guardan como archivos con la extensin .qpr.

    Las vistas son consultas especializadas que permiten tener acceso a datos remotos y actualizar orgenes de datos modificando los registros devueltos por la consulta. Slo 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 programacin estndar por procedimientos, se ha ampliado la capacidad del lenguaje para proporcionar la potencia y la flexibilidad propias de la programacin orientada a objetos. El diseo orientado a objetos y la programacin orientada a objetos representan un cambio de perspectiva con respecto a la programacin estndar por procedimientos. En lugar de pensar en el flujo del programa desde la primera hasta la ltima lnea de cdigo, se debe pensar en la creacin de objetos: componentes autocontenidos de una aplicacin que tienen funcionalidad privada adems de la funcionalidad que se puede exponer al usuario.

    3. PROGRAMA PARA EL ENTORNO DE WINDOWS

    Visual FoxPro 6.0 est orientado a la realizacin de programas para Windows, pudiendo incorporar todos los elementos de este entorno como son: ventanas, botones, cajas de dilogo y de texto, botones de opcin y de seleccin, barras de desplazamiento, grficos, mens, etc. Prcticamente todos los elementos de interaccin 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 ratn y la introduccin a travs del teclado de algunas sentencias para disponer de aplicaciones con todas estas caractersticas. En los siguientes puntos se introducirn algunos conceptos de este tipo de programacin

    4. MODO DISEO Y MODO DE EJECUCIN

    VFP puede trabajar de dos modos distintos: en modo de diseo y en modo de ejecucin. En modo de diseo el usuario construye interactivamente la aplicacin, colocando controles en el formulario, definiendo sus propiedades, y desarrollando funciones para gestionar los eventos, es decir diseando la interfaz grfica o escribiendo cdigo. La aplicacin se prueba en modo de ejecucin. En ese caso el usuario acta sobre el programa (produce eventos) y prueba cmo responde el programa. Hay algunas propiedades de los controles que deben establecerse en modo de diseo, pero muchas otras pueden cambiarse en tiempo de ejecucin desde el programa escrito en Visual FoxPro. Tambin hay propiedades que slo pueden establecerse en modo de ejecucin y que no son visibles en modo de diseo. Todos estos conceptos controles, propiedades, eventos, etc.- se explican ms adelante.

    DISEADORES DE VISUAL FOXPRO

    La tabla siguiente resume los diseadores que se utilizan para realizar las distintas tareas.

    Para Utilice este diseador

    Crear tablas y establecer ndices en tablas Diseador de tablas

    Ejecutar consultas en tablas locales Diseador de consultas

  • Ejecutar consultas en orgenes de datos remotos; crear consultas actualizables

    Diseador de vistas

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

    Diseador de formularios

    Crear un informe para mostrar e imprimir los datos

    Diseador de informes

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

    Diseador de bases de datos

    Crear una conexin para vistas remotas Diseador de conexiones

    Cada diseador dispone de una o varias barras de herramientas que proporcionan acceso rpido a las caractersticas o acciones ms habituales de la herramienta.

    USAR LOS ASISTENTES

    Los Asistentes son programas interactivos que ayudan a realizar rpidamente 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. Tambin puede elegir Nuevo en el men Archivo y seleccionar el tipo de archivo que desea crear.

    2. Seleccione la opcin Asistente.

    Tambin 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 Tambin puede usar el Generador de aplicaciones para incluir caractersticas avanzadas en su aplicacin. Nota: Tambin 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 generacin de cdigo

    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 cdigo de archivos de proyecto y de programa

    Asistente para documentacin

    Crear formularios Asistente para formularios

    Crear grficos Asistente para grficos

    Importar o anexar datos Asistente para importar

    Crear etiquetas de correo Asistente para etiquetas

    Crear vistas Asistente para vistas locales

    Crear archivos de combinacin 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 dinmicas Asistente para tablas dinmicas

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

    Crear un asistente personalizado

    Asistente de ejemplo

    Crear discos de distribucin a partir de los archivos del rbol de distribucin

    Asistente para instalacin

    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 publicacin en Web

    Crear pginas Web que permitan a los visitantes de la pgina Web buscar y recuperar registros de la tabla de Visual FoxPro

    Asistente para pginas de bsqueda de WWW

    USAR GENERADORES

    Los generadores son cuadros de dilogo con fichas que simplifican la creacin y modificacin de formularios, controles complejos y cdigo 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

    botn 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 botn Generador de

    la ventana Propiedades

  • DAR FORMATO A VARIOS CONTROLES

    En el Diseador de formularios, seleccione controles. En la barra de herramientas Diseador de formularios, elija el

    botn Autoformato.

    USAR EL GENERADOR DE FORMULARIOS

    En el men Formulario, elija Formulario rpido.

    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 Diseador de tablas y crear una tabla con los campos que necesite. Las tablas, cuando se usan individualmente, son tiles para almacenar y ver la informacin con la que se trabaja. Pero si organiza sus tablas en una base de datos, podr sacar ms 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 continuacin, seleccione Tablas libres.

    2. Elija Nuevo. 3. Elija el botn Asistente. 4. Siga las instrucciones que aparecern en las pantallas del

    asistente.

    Puede disear y crear una tabla de forma interactiva mediante el Diseador de tablas, accesible a travs del Administrador de proyectos o del men Archivo, o mediante el lenguaje de programacin.

    Para crear y modificar una tabla mediante programacin 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

    DISEADOR DE TABLAS

    Utilice el Diseador de tablas para crear y modificar tablas de base de datos, tablas libres, campos e ndices. El Diseador de tablas le ayuda a implementar caractersticas avanzadas como reglas de validacin y valores predeterminados, y clases predeterminadas de controles. Opciones de la ficha Campos Presenta los campos de la tabla en una cuadrcula que se

    puede desplazar. ndices Contiene una cuadrcula desplazable para la definicin de

    ndices. Tabla Presenta la informacin acerca de la tabla y le permite

    especificar desencadenantes y reglas a nivel de registro.

    TIPO DE DATOS DE UN CAMPO

    Tipo de datos Descripcin Ejemplo

    Character (Carcter)

    Texto alfanumrico La direccin de un cliente

    Currency (Moneda)

    Unidades monetarias Precio de compra

    Numeric (Numrico)

    Nmeros enteros o decimales

    Cantidad de artculos pedidos

    Float (Flotante) Igual que Numeric

    Date (Fecha) Da, mes y ao Fecha en que se realiz un pedido

    DateTime (FechaHora)

    Da, mes, ao, horas, minutos y segundos

    Fecha y hora en que un empleado lleg al

  • trabajo

    Double (Doble) Nmero de precisin doble

    Datos procedentes de experimentos que requieren un elevado grado de precisin

    Integer (Entero)

    Valores numricos no decimales (nmeros enteros)

    Nmero de lnea de un pedido

    Logical (Lgico)

    Verdadero o Falso Campo que indica si se ha completado o no un pedido

    Memo Texto alfanumrico de longitud indeterminada

    Notas de un registro telefnico sobre las llamadas

    General OLE Hoja de clculo de Excel

    Character (binario)

    Igual que Character, pero los valores no se traducen cuando cambia la pgina de cdigos

    Las contraseas de usuario almacenadas en una tabla y usadas en distintos pases

    Memo (binario) Igual que Memo, pero los valores no se traducen cuando cambia la pgina de cdigos

    Un archivo de comandos de inicio de sesin empleado en distintos pases

    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. Ttulos y comentarios para cada campo de la tabla. Valores predeterminados, mscaras 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 extensin .DBC y puede contener una o varias tablas, vistas, conexiones con orgenes de datos remotos y procedimientos almacenados. Las bases de datos se pueden crear con el asistente para bases de datos o con el diseador de bases de datos

    ASISTENTE PARA BASES DE DATOS En la ficha datos del administrador de proyecto, seleccione Databases y haga clic en el botn nuevo, seleccione asistente para bases de datos y siga las instrucciones.

    DISEADOR DE BASES DE DATOS

    El Diseador de bases de datos muestra todas las tablas, vistas y relaciones contenidas en una base de datos. Cuando la ventana del Diseador de bases de datos est activa, Visual FoxPro muestra el men Base de datos y la barra de herramientas Diseador 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 Diseador de bases de datos muestra las relaciones persistentes al mostrar lneas 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 ordenacin para ofrecer flexibilidad y eficacia al programar una aplicacin. La flexibilidad supone crear y utilizar mltiples claves de ndice distintas para la misma tabla, lo que permite trabajar con los registros ordenados de formas diferentes, segn las necesidades de la aplicacin. 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 lgicamente segn los valores de una clave de ndice. El archivo de ndice es independiente del archivo .DBF de la tabla, y no cambia el orden fsico 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 Diseador de tablas, elija la ficha ndices e introduzca la informacin de una clave de ndice. Elija Normal como tipo de ndice.

    O Utilice el comando INDEX.

    Puede llevar a cabo varias tareas en funcin 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 Expresin, escriba el nombre de campo que desea

    usar para ordenar los registros. O

    Escriba una expresin que quiera usar para ordenar los registros o generar una expresin; para ello, elija el botn situado al final del cuadro para mostrar el Generador de expresiones. 4. Si quiere que los registros se muestren en orden descendente,

    seleccione el botn de flecha situado a la izquierda del nombre del ndice.

  • La flecha del botn 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 slo 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 tambin 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 ms de un ndice normal a una tabla. NDICE NICO. Por compatibilidad con versiones anteriores, este ndice selecciona y ordena un subconjunto de registros segn la primera aparicin de un valor en el campo que especifique.

    12. FORMULARIOS

    Cada uno de los elementos grficos que pueden formar parte de una aplicacin tpica de Windows 95/98/NT es un tipo de control: los botones de comando, las cajas de dilogo, los cuadros de texto, las casillas de seleccin, los botones de opcin, las barras de desplazamiento horizontales y verticales, los grficos, los mens, y muchos otros tipos de elementos son controles. Cada control debe tener un nombre a travs del cual se puede hacer referencia a l en el programa. VFP proporciona nombres por defecto que el usuario puede modificar.

    En la terminologa 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 aplicacin puede tener varios formularios, pero un nico formulario puede ser suficiente para las aplicaciones ms sencillas. Los formularios deben tambin tener un nombre, que puede crearse siguiendo las mismas reglas que para los controles.

    ADMINISTRAR FORMULARIOS tareas comunes relacionadas con la administracin 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 programacin

    Use el Mtodo 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 mtodos.

    Utilice el mtodo 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 interacta el formulario y las relaciones entre tablas que espera el formulario. Puede disear visualmente el entorno de datos en el Diseador 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. Adems, 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 DISEADOR DE ENTORNOS DE DATOS

    1. En el men Ver, elija Entorno de datos. 2. En el cuadro Agregar tabla o vista, elija Agregar. 3. En el cuadro de dilogo Abrir, elija la tabla o vista que desea

    agregar al entorno de datos.

    PROPIEDADES HABITUALES DEL ENTORNO DE DATOS

    Propiedad Descripcin 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 diseo. Si no se especifica, en tiempo de ejecucin se seleccionar inicialmente el primer cursor agregado a DataEnvironment.

    AGREGAR UNA TABLA O VISTA AL DISEADOR DE ENTORNOS DE DATOS Cuando agregue tablas o vistas al Diseador de entornos de datos, puede ver los campos y los ndices que pertenecen a la tabla o a la vista.

    Una forma fcil de agregar una tabla o vista consiste en arrastrar una tabla o una vista desde un proyecto abierto hasta el Diseador de entornos de datos.

    Cuando el Diseador de entornos de datos est activo, la ventana Propiedades muestra objetos y propiedades asociadas al entorno de

  • datos. Cada tabla o vista del entorno de datos, cada relacin 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 DISEADOR DE ENTORNOS DE DATOS

    1. En el Diseador de entornos de datos, seleccione la tabla o la vista. 2. En el men Entorno de datos, elija Quitar.

    ESTABLECER RELACIONES EN EL DISEADOR DE ENTORNOS DE DATOS

    Si agrega al Diseador de entornos de datos tablas que tienen relaciones persistentes establecidas en una base de datos, las relaciones se agregarn automticamente al entorno de datos. Si las tablas no tienen relaciones persistentes, podr relacionarlas en el Diseador de entornos de datos.

    RELACIN PERSISTENTE

    Relaciones entre tablas que duran ms que simplemente el tiempo de ejecucin. Las tablas deben estar en una base de datos para poder tener una relacin persistente.

    EL DISEADOR DE ENTORNOS DE DATOS CON RELACIONES ESTABLECIDAS ENTRE TABLAS

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

    En la ventana Propiedades, seleccione la relacin en el cuadro Objeto.

    Las propiedades de la relacin corresponden a clusulas 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 expresin, deber establecer la propiedad RelationalExpr con esta expresin. Por ejemplo, si la tabla relacionada est indexada en UPPER(cust_id), deber establecer RelationalExpr como UPPER(cust_id). Si la relacin 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 relacin 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 travs de todos los registros relacionados de la tabla secundaria. Nota Si desea crear una relacin de uno a varios en el formulario o el conjunto de formularios, establezca como verdadera (.T.) la propiedad OneToMany, aunque se haya establecido una relacin persistente de uno a varios en la base de datos.

    INTERFACES DE UN NICO DOCUMENTO E INTERFACES DE DOCUMENTOS MLTIPLES

    Visual FoxPro le permite crear dos tipos de aplicaciones: Las aplicaciones con interfaz de documentos mltiples(Multiple-

    document interface, MDI) estn formadas por una ventana principal nica y las ventanas de la aplicacin estn contenidas en la ventana principal. Visual FoxPro es fundamentalmente una aplicacin MDI.

    Las aplicaciones con interfaz de un nico documento (SDI) estn formadas por una o ms 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 creacin de aplicaciones MDI. Los formularios secundarios no se pueden mover fuera de los lmites de su formulario primario y cuando se minimizan aparecen en la parte inferior del formulario primario. Si el formulario primario est minimizado, tambin 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 detrs de su ventana primaria. Si estn minimizados, aparece un formulario flotante en la parte inferior del escritorio. Si su formulario primario est minimizado, los formularios flotantes tambin se minimizan. Los formularios flotantes tambin se usan en la creacin de aplicaciones MDI. Formulario de nivel superior. Un formulario independiente sin formulario primario, utilizado para crear una aplicacin SDI o como formulario primario de otros formularios secundarios de una aplicacin MDI. Los formularios de nivel superior funcionan al mismo nivel que otras aplicaciones de Windows y pueden aparecer por delante o por detrs de ellas. Aparecen en la barra de estado de Windows.

    Si va a crear un formulario secundario, debe especificar no slo qu debe aparecer dentro de otro formulario, sino tambin 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 ttulo, el ttulo, los mens 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 ttulo y su barra de ttulo.

    ESPECIFICAR UN FORMULARIO SECUNDARIO

    1. Cree o modifique el formulario mediante el Diseador 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

  • 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 variacin de un formulario secundario.

    ESPECIFICAR UN FORMULARIO FLOTANTE

    1. Cree o modifique el formulario con el Diseador 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 Diseador 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

    psele dos parmetros:

    Por ejemplo, puede llamar a un men llamado mimenuSDI con este cdigo: DO mimenuSDI.mpr WITH THIS, .T.

    OCULTAR LA VENTANA PRINCIPAL DE VISUAL FOXPRO

    1. En el evento Init del formulario, incluya la siguiente lnea de cdigo: Application.Visible = .F.

    2. En el evento Destroy del formulario, incluya la siguiente lnea de cdigo: Application.Visible = .T.

    CLASES

    La programacin orientada a objetos es en gran medida un modo de empaquetar cdigo de manera que se pueda volver a utilizar y mantener ms fcilmente. Los paquetes principales se llaman clases.

    Una clase es una plantilla que define las caractersticas de un objeto y describe qu apariencia y comportamiento debe tener el objeto.

    Las clases y los objetos estn estrechamente relacionados, pero no son lo mismo. Una clase contiene informacin sobre cul 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 Diseador de clases.

    Todas las clases de base de Visual FoxPro reconocen el siguiente conjunto mnimo de eventos:

    Evento Descripcin

    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 mtodo de la clase.

    Todas las clases de base de Visual FoxPro tienen el siguiente conjunto mnimo de propiedades:

    Propiedad Descripcin

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

  • 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 Diseador de clases

    El Diseador de clases proporciona la misma interfaz que el Diseador de formularios, y permite ver y modificar las propiedades de la clase en la ventana Propiedades. La ventana de edicin de cdigo le permite escribir cdigo para que se ejecute cuando ocurran eventos o se llame a mtodos.

    Por ejemplo en la ventana de propiedades colocaremos los siguientes valores

    Propiedad Valor Caption \

  • OBJETOS Y PROPIEDADES

    Los formularios y los distintos tipos de controles son entidades de las que puede haber varios ejemplares concretos en cada aplicacin. En programacin orientada a objetos se llama clase a estas entidades genricas, 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 botn de comando, que sera la clase. Cada formulario y cada tipo de control tienen un conjunto de propiedades que definen su aspecto grfico (tamao, color, posicin en la ventana, tipo y tamao 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 lgicos (True, False) o numricos 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 diseo y tambin -casi siempre- en tiempo de ejecucin. En este segundo caso se accede a sus valores por medio de las sentencias del programa, en forma anloga a como se accede a cualquier variable en un lenguaje de programacin.

    Las siguientes propiedades de formulario suelen establecerse en tiempo de diseo para definir la apariencia y el comportamiento del formulario:

    Propiedad Descripcin Opcin predeterminada

    AlwaysOnTop Controla si un formulario siempre est situado sobre las dems ventanas abiertas.

    Falso (.F.)

    AutoCenter Controla si el formulario se centra automticamente 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 lnea, de doble ancho o del sistema. Si BorderStyle es 3 (Sistema), el usuario podr cambiar el tamao del formulario.

    3

    Caption Determina el texto que aparece en la barra de ttulo 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 estn 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 botn de maximizar.

    Verdadero (.T.)

    MinButton Controla si el formulario tiene o no un botn de minimizar.

    Verdadero (.T.)

    Movable Controla si el formulario puede moverse o no a una nueva ubicacin de la pantalla.

    Verdadero (.T.)

    ScaleMode Controla si la unidad de medida para las propiedades de tamao y posicin de los objetos es fxeles o pxeles.

    Determinado por los valores del cuadro de dilogo Opciones.

    Scrollbars Controla el tipo de barras de desplazamiento que tiene un formulario.

    0 Ninguna

    TitleBar Controla si aparece una barra de ttulo 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 (opcin predeterminada) o modal. Si es modal, el usuario deber cerrar el formulario antes de tener acceso a ningn otro elemento de la interfaz de usuario de la aplicacin.

    Para cambiar las propiedades de un formulario desde la ventana de propiedades (En tiempo de Diseo):

    Las propiedades de slo lectura en tiempo de diseo, 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 carcter, 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 ttulo del formulario.

  • Para establecer el valor de la propiedad Caption en tiempo de ejecucin haga doble clic en el formulario

    O bien, haga clic en el men Ver y luego en Cdigo o tambin puede hacerlo en la ficha Mtodos de la Ventana de Propiedades del formulario haga doble clic en el Evento Load.

    Haga Clic con el botn 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 botn Ejecutar

    Se mostrar :

    Agregue This.AutoCenter=.t. al evento Load y ejecute el formulario.

    Establecer Mltiples Propiedades. Puede establecer Mltiples 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 JERARQUA DE OBJETOS

    Para manipular un objeto, hay que identificarlo en relacin a la jerarqua 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 jerarqua de contenedores se puede comparar con dar una direccin del objeto a Visual FoxPro. Cuando describe la ubicacin de una casa a otra persona fuera de su marco inmediato de referencia, debe indicar el pas, la provincia o la regin, la ciudad, la calle o bien slo el nmero de la calle donde se

  • encuentra la vivienda, segn lo lejos que se encuentre esa otra persona. De lo contrario, podra haber cierta confusin.

    En el nivel superior de la jerarqua 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 = Configuracin

    La tabla siguiente muestra las propiedades o las palabras clave que facilitan el establecimiento de referencias a un objeto en la jerarqua 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 pgina activa del formulario activo actualmente

    Parent El contenedor ms 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 ttulo de un botn 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 Ttulo"

    Utilice las palabras clave THIS, THISFORM y THISFORMSET para hacer referencia a objetos que estn en un formulario o un conjunto de formularios

    CONTROLES

    Cuando los usuarios interactan 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 cuadrculas, su propiedad RecordSource.

    Si no establece la propiedad ControlSource de un control, el valor que introduzca o elija el usuario en el control slo se almacenar como el valor de una propiedad; no se escribir en disco ni se almacenar en memoria ms all de la vida del control.

    Efecto de un valor de ControlSource sobre los controles

    Control Efecto

    Casilla de verificacin

    Si el ControlSource es un campo de una tabla, los valores lgicos verdadero (.T.) o falso (.F.), o numricos 0, 1 2 del campo ControlSource harn que la casilla de verificacin se active, desactive o atene 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 cuadrcula completa a datos, establezca la propiedad RecordSource de la cuadrcula.

    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.

    Botn de opcin Si ControlSource es un campo numrico, 0 1 se escribe en el campo, en funcin de si se elige el botn.

    Si ControlSource es un campo de caracteres, en el campo se escribir (.T.) o (.F.), en funcin de si se elige el botn o no. Sin embargo, si el puntero de registro se mueve en la tabla, el valor del botn de opcin no se actualizar para reflejar el valor de carcter del campo.

    Si el ControlSource del control OptionGroup (no del mismo botn de opcin) es un campo de caracteres, el ttulo del botn de opcin se almacena en el campo si se elige el botn de opcin. Observe que el origen de control para un botn de opcin (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 numrico El control numrico refleja y escribe valores numricos en el campo o la variable subyacente.

    Cuadro de texto o cuadro de edicin

    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 OPCIN

    Los grupos de botones de opcin son contenedores que alojan botones de opcin. Generalmente, los botones de opcin permiten a los usuarios especificar una opcin entre varias en un cuadro de dilogo, en lugar de introducir los datos.

    Propiedades Principales del botn de opcin

    Propiedad Funcin ButtonCount Establezca la propiedad con el nmero deseado

    de botones de opcin. Value indica qu botn se ha elegido en el grupo de

    botones de opcin 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 ttulo del botn de opcin seleccionado.

    Buttons especifica el nmero de ndice del botn de opcin del grupo.

    Enabled Establezca esta propiedad del grupo de botones de opcin 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 diseo.

    Propiedad Descripcin

  • ColumnCount Indica el nmero de columnas del cuadro de lista.

    ControlSource Indica dnde 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 fcilmente los elementos de la lista.

    Multiselect Indica si el usuario puede seleccionar o no ms de un elemento de la lista al mismo tiempo.

    RowSource Indica de dnde provienen los valores que se muestran en la lista.

    RowSourceType Indica si RowSource es un valor, una tabla, una instruccin SQL, una consulta, una matriz, una lista de archivos o una lista de campos.

    La propiedad Value de una lista puede ser numrica o de caracteres. El valor predeterminado es numrico. Establezca la propiedad Value como una cadena vaca 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 continuacin, la tecla retroceso para introducir una cadena vaca para una propiedad en la ventana Propiedades.

    MTODOS DE CUADRO DE LISTA QUE SUELEN UTILIZARSE CON FRECUENCIA:

    Mtodo Descripcin

    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 un cuadro combinado

    La propiedad RowSourceType determina qu tipo de origen rellena el cuadro de lista o el cuadro combinado, como una matriz o una tabla. Una vez establecida la propiedad RowSourceType, especifique el origen de los elementos de la lista; para ello, establezca la propiedad RowSource.

    RowSourceType Origen de los elementos de lista

    0 Ninguno. Agrega elementos a la lista mediante programacin.

    1 Valor

    2 Alias

    3 Instruccin SQL

    4 Consulta (.qpr)

    5 Matriz

    6 Campos

    7 Archivos

    8 Estructura

    9 Emergente. Se incluye por compatibilidad con versiones anteriores.

    Para mayor informacin de la propiedad RowSourceType consulte Usar Controles en el manual del programador de Visual FoxPro 6.0.

    CASILLAS DE VERIFICACIN

    Hay cuatro estados posibles para una casilla de verificacin, determinados por la propiedad Value.

    La propiedad Value de la casilla de verificacin refleja el tipo de datos de la ltima asignacin. Si establece la propiedad como verdadera (.T.) o falsa (.F.), el tipo ser Logical hasta que establezca la propiedad en un valor numrico.

    Almacenar o mostrar campos lgicos

    Si establece la propiedad ControlSource de la casilla de verificacin como un campo lgico de una tabla, la casilla de verificacin 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 programacin 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 Descripcin

    Alignment Especifica si el contenido del cuadro de texto est alineado a la izquierda, a la derecha, centrado o alineado automticamente. La alineacin automtica depende del tipo de datos. Los nmeros, 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 carcter escrito debe seguir.

    SelectOnEntry Especifica si el contenido del cuadro de texto se selecciona automticamente cuando el cuadro de texto recibe el enfoque.

    TabStop Especifica si el usuario puede llegar al control mediante tabulaciones. Si TabStop est establecido a .F., un usuario puede seleccionar el cuadro de texto si hace clic en l.

    Format Para determinar como se muestran los valores

  • en el cuadro de texto

    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 Descripcin

    X Puede introducirse cualquier carcter.

    9 Pueden introducirse dgitos y signos, como el signo menos ( ).

    # Pueden introducirse dgitos, espacios en blanco y signos.

    $ Muestra el smbolo de moneda actual (especificada con SET CURRENCY) en una posicin fija.

    $$ Muestra un smbolo de moneda flotante que siempre aparece junto a los dgitos del Spinner o TextBox.

    * Se muestran asteriscos a la izquierda del valor.

    . Un punto especifica la posicin de coma decimal.

    , Pueden incluirse comas para separar dgitos a la izquierda de la coma decimal.

    VALIDAR DATOS EN UN CUADRO DE TEXTO

    Para comprobar el valor del cuadro de texto, incluya cdigo en el mtodo asociado al evento Valid. Si el valor no es vlido, se devolver falso (.F.) o 0. Si Valid devuelve falso (.F.) se muestra el mensaje "La entrada no es vlida". Si desea mostrar su propio mensaje, incluya el comando WAIT WINDOW o la funcin MESSAGEBOX( ) en el cdigo 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 edicin.

    Propiedad Descripcin

    AllowTabs Si el usuario puede insertar tabulaciones en el cuadro de edicin en lugar de moverse al control siguiente. Si permite tabulaciones, asegrese de indicar que los usuarios pueden moverse al control siguiente presionando CTRL+TAB.

    HideSelection Si el texto seleccionado en el cuadro de edicin est seleccionado de forma visible cuando el cuadro de edicin no tiene el enfoque.

    ReadOnly Si el usuario puede cambiar el texto en el cuadro de edicin.

    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 Descripcin

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

    DisplayCount Especifica el nmero mximo 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 explicacin de cada uno de ellos, vea la Ayuda o la seccin 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 lnea de cdigo siguiente en el mtodo asociado al evento Valid del cuadro combinado: THIS.AddItem(THIS.Text)

    CONTROLES NUMRICOS

    Los controles numricos pueden emplearse para permitir a los usuarios realizar selecciones mostrando los valores o escribiendo directamente el valor en el cuadro del control numrico.

    ESTABLECER EL INTERVALO DE VALORES QUE PUEDEN ELEGIR LOS USUARIOS

    Propiedad Descripcin KeyboardHighValue Especifica el valor ms alto

    que puede escribirse en un control Spinner mediante el teclado

    KeyboardLowValue Especifica el valor ms bajo que puede escribirse en un control Spinner mediante el teclado

    SpinnerHighValue Especifica el valor ms alto que se puede introducir en un control Spinner al hacer clic en las flechas hacia arriba y hacia abajo

    SpinnerLowValue Especifica el valor ms bajo que se puede introducir en un control Spinner al hacer clic en las flechas hacia arriba y hacia abajo

    Increment Especifica cunto 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

  • Propiedades comunes de los botones de comando

    Propiedad Descripcin

    Cancel Especifica que el cdigo asociado al evento Click del botn de comando se ejecuta cuando el usuario presiona ESC.

    Default para convertir el botn de comando en la opcin predeterminada.

    Caption Texto que se muestra en el botn.

    DisabledPicture Imagen .bmp que se muestra cuando se desactiva el botn.

    DownPicture Imagen .bmp que se muestra cuando se presiona el botn.

    Enabled Indica si puede elegirse o no el botn.

    Picture Imagen .bmp que se muestra en el botn.

    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 Descripcin

    ButtonCount Nmero 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 pgina.

    OBJETO HYPERLINK

    El objeto Hyperlink se puede utilizar para iniciar una aplicacin que admita hipervnculos, generalmente un explorador de Internet como Microsoft Internet Explorer, y abrir la pgina especificada en la direccin. El mtodo Hyperlink NavigateTo( ) le permite especificar la direccin 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 botn de comando al formulario y, a continuacin, agregue el cdigo siguiente al evento Click del botn de comando: THISFORM.Hyperlink1.NavigateTo(www.microsoft.com)

    Cuando se ejecute el formulario puede hacer clic en el botn de comando para saltar al sitio Web de Microsoft.

    CONTROL CRONMETRO

    Los controles Cronmetro responden al paso del tiempo independientemente de la interaccin 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 cronmetro comience a funcionar en cuanto se cargue el formulario, establzcala a verdadero (.T.). De lo contrario, deje esta propiedad establecida a falso (.F.). Puede elegir un evento

    externo (como un clic en un botn de comando) para que se inicie la operacin del cronmetro.

    Interval Nmero de milisegundos entre los eventos del cronmetro.

    Con la mayora 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 cronmetro. La propiedad Interval no determina "cunto tiempo", sino ms bien "con qu frecuencia" se genera el evento del cronmetro. Puesto que existen posibilidades inherentes de error, cree el intervalo con la mitad de la precisin 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 imgenes (archivos .bmp) al formulario

    Propiedad Descripcin

    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 mostrarn las partes de la imagen que superen las dimensiones del control Image. Si Stretch se establece a 1 Isomtrico, 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 Descripcin

    Caption El texto que muestra la etiqueta.

    AutoSize Indica si el tamao de la etiqueta se ajusta a la longitud del ttulo.

    BackStyle Indica si la etiqueta es opaca o transparente.

    WordWrap Indica si el texto que se muestra en la etiqueta puede ajustarse automticamente a lneas adicionales.

    USAR FORMAS

    Una forma es un control que crea una forma que se puede mostrar como diversas variaciones de un rectngulo o un crculo.

    Las siguientes propiedades del control Shape suelen establecerse en tiempo de diseo.

    Propiedad Descripcin

  • Curvature Un valor entre 0 (ngulos de 90 grados) y 99 (crculo 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. Slo tiene efecto cuando la propiedad Curvature se establece a 0.

    USAR LNEAS

    Una lnea es un control que dibuja una lnea en un formulario.

    Propiedad Descripcin

    BorderWidth Indica cuntos pxeles de ancho tiene la lnea.

    LineSlant Cuando la lnea no es horizontal ni vertical, indica el sentido de la inclinacin. Los valores vlidos para esta propiedad son una barra diagonal ( / ) y una barra inversa ( \ ).

    USAR GRFICOS DE FORMULARIO PARA MOSTRAR INFORMACIN

    Puede mostrar informacin grficamente en un formulario con los siguientes mtodos de formulario.

    Mtodo Descripcin

    Circle Dibuja una figura circular o un arco en un formulario.

    Cls Borra grficos y texto de un formulario.

    Line Dibuja una lnea 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 PRESENTACIN DE CONTROLES

    Los botones de comando, las casillas de verificacin y los botones de opcin pueden mostrar una imagen adems de un ttulo.

    Propiedad Descripcin

    DisabledPicture Imagen que se muestra en el botn cuando ste est desactivado.

    DownPicture Imagen que se muestra en el botn cuando ste est presionado.

    Picture Imagen que se muestra en el botn cuando ste est activado y no presionado.

    Si no desea que se muestre un ttulo adems de la imagen, establezca la propiedad Caption como una cadena vaca eliminando el ttulo predeterminado en el cuadro "Edicin de propiedades" de la ventana Propiedades.

    USAR CUADRCULAS

    La cuadrcula es un objeto contenedor. Una cuadrcula uede contener columnas. Las columnas, a su ves, contienen encabezados y controles.

    Cada uno de los cuales tiene su propio conjunto de propiedades, mtodos y eventos, lo que proporciona un gran control sobre los elementos de la cuadrcula.

    Contenedor Puede contener

    Cuadrcula Columnas

    Columna Encabezados, controles

    PROPIEDADES COMUNES DE LAS CUADRCULAS Propiedad Descripcin

    AllowRowSizing .F. Impide que el usuario cambie la altura de las filas de cuadrcula en tiempo de ejecucin

    Width Establece el anco de la columna

    Height Establece el alto de las filas de una cuadrcula

    ChildOrder La clave externa de la tabla secundaria que se combina con la clave principal de la tabla primaria.

    ColumnCount Nmero de columnas. Si ColumnCount est establecida a - 1, la columna tendr tantas columnas como campos haya en la propiedad RecordSource de la cuadrcula.

    LinkMaster La tabla primaria para registros secundarios que se muestran en la cuadrcula.

    RecordSource Los datos que se muestran en la cuadrcula.

    RecordSourceType Indica de dnde provienen los datos que se muestran en la cuadrcula: una tabla, un alias, una consulta o una tabla seleccionada por el usuario como respuesta a una peticin.

    AllowAddNew Especifica si se pueden agregar nuevos registros a una tabla desde una cuadrcula.

    PROPIEDADES COMUNES DE LAS COLUMNAS

    Propiedad Descripcin

    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 cuadrcula slo se mostrarn 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 actualizacin ser ms rpida si un usuario se desplaza por una cuadrcula con muchas filas visibles.

    CurrentControl Indica cul es el control activo de la cuadrcula. 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 CUADRCULA

  • 1 Seleccione la cuadrcula y, a continuacin, 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 cuadrcula 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 cuadrcula.

    PARA ESTABLECER EL ORIGEN DE DATOS PARA UNA COLUMNA

    1 Seleccione la columna y, a continuacin, 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 CUADRCULA

    1 Agregue una cuadrcula a un formulario. 2 En la ventana Propiedades, establezca la propiedad ColumnCount

    de la cuadrcula como el nmero 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 cuadrcula dentro del Diseador de formularios, pero ser visible en tiempo de ejecucin. 5 En la ventana Propiedades asegrese 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 CUADRCULA EN EL GENERADOR DE FORMULARIOS

    1 En el cuadro Objeto de la ventana Propiedades, seleccione el control.

    2 Active el Diseador 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 pgina permiten ampliar la superficie de los formularios y los controles ActiveX permiten ampliar la funcionalidad de los formularios.

    Un marco de pgina es un objeto contenedor que contiene pginas. A su vez, las pginas contienen controles. Las propiedades pueden establecerse a nivel de marco de pgina, de pgina o de control.

    PROPIEDADES COMUNES DE LOS MARCOS DE PGINAS

    Las propiedades siguientes de los marcos de pginas suelen establecerse en tiempo de diseo.

    Propiedad Descripcin

    Tabs Especifica si las fichas son visibles o no para las pginas.

    TabStyle Especifica si las fichas tienen o no el mismo tamao y si juntas ocupan el mismo ancho que el marco de pginas.

    PageCount El nmero de pginas del marco de pgina.

    CONTROL CONTENEDOR OLE

    Agregue un objeto OLE a un formulario; para ello haga clic en esta herramienta y arrstrela para ajustar su tamao 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 extensin .ocx).

    CONTROL ACTIVEX DEPENDIENTE

    Puede crear un objeto ActiveX dependiente en un formulario; para ello, haga clic en esta herramienta y arrstrela para ajustar su tamao en la ventana Formulario. Despus de crear el objeto, conctelo a un campo General de la tabla. A continuacin, 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 nmero que se incrementa a medida que se van introduciendo ms 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 tpicos el clicar sobre un botn, el hacer doble clic sobre el nombre de un fichero para abrirlo, el arrastrar un icono, el pulsar una tecla o combinacin de teclas, el elegir una opcin de un men, el escribir en una cuadro de texto, o simplemente mover el ratn.

    Cada vez que se produce un evento sobre un determinado tipo de control, se ejecuta una determinada funcin o procedimiento que realiza la accin programada por el usuario para ese evento.

    Los eventos bsicos La tabla siguiente contiene una lista del principal conjunto de eventos de Visual FoxPro que se aplican a la mayora de los controles.

    CONJUNTO BSICO DE EVENTOS Evento Cundo 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 botn principal del mouse.

    DblClick Cuando el usuario hace doble clic en el objeto con el botn principal del mouse.

    RightClick Cuando el usuario hace clic en el objeto con el botn secundario del mouse.

    GotFocus Cuando el objeto recibe el enfoque, ya sea como resultado de una accin del usuario o al hacer clic, o porque se cambie el enfoque en el cdigo mediante el mtodo SetFocus.

    LostFocus Cuando el objeto pierde el enfoque, ya sea como resultado de una accin del usuario o al hacer clic, o porque se cambie el enfoque en el

  • cdigo mediante el mtodo SetFocus.

    KeyPress Cuando el usuario presiona y suelta una tecla.

    MouseDown Cuando el usuario presiona el botn 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 botn del mouse mientras el puntero del mouse se encuentra sobre el objeto.

    A la hora de escribir cdigo de eventos para los controles se deben tener en cuenta dos reglas bsicas:

    Los contenedores no procesan los eventos asociados a los controles que contienen.

    Si no hay cdigo de evento asociado a un control, Visual FoxPro comprobar si hay cdigo asociado al evento en algn nivel superior de la jerarqua de clase para dicho control.

    EJEMPLO DEL evento keypress Puede incluir el siguiente cdigo 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 cdigo en el evento MouseMove de un botn de comando de un formulario, ejecute el formulario y mueva el apuntador del ouse sobre el botn de comando:

    messagebox("se esta ejecutando el evento MouseMove del botn 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 ningn otro evento mediante programacin, pero s puede llamar al procedimiento asociado con el evento. Por ejemplo, la instruccin siguiente hace que se ejecute el cdigo del evento Activate de frmTELEFONO, pero no activa el formulario:

    frmTELEFONO.Activate

    Si desea activar el formulario, utilice el mtodo Show del formulario.

    Si desea activar el formulario, utilice el mtodo Show del formulario. Al llamar al mtodo Show se mostrar y activar el formulario, momento en el que tambin se ejecutar el cdigo del evento Activate:

    frmTELEFONO.Show

    MTODOS

    Los mtodos son funciones que tambin 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 mtodos realizan tareas tpicas, 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 mtodos. Por ejemplo, los controles grficos tienen un mtodo llamado Line que se encarga de dibujar lneas rectas. De la misma forma existe un mtodo llamado Circle que dibuja circunferencias y arcos de circunferencia.

    Los mtodos contienen cdigo de procedimientos que se ejecuta al llamar al mtodo

    Para liberar un formulario utilice el mtodo Release

    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 mtodos desde cualquier lugar de la aplicacin

    CONSULTAS

    Con el Diseador de consultas puede buscar aquellos registros que satisfacen las condiciones que Ud. especifique. Adems, puede ordenar y agrupar los registros como desee, as como crear informes, tablas y grficos basndose en los resultados obtenidos.

    TIPOS DE CONSULTAS

    Consultas sencillas de slo lectura basadas en tablas (archivos .DBF) o en vistas

    Consultas locales de mltiples tablas o con datos remotos

    CONSULTAS SENCILLAS DE SLO 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. Botn nuevo.

    2. Cree la consulta con un Asistente para consultas o con el Diseador de consultas.

    3. Seleccione la tabla o vista que contiene la informacin 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 DISEADOR 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 botn Asistente para consultas. 4. Seleccione el tipo de consulta que desea crear.

  • 5. Siga las instrucciones que aparecern en las pantallas del asistente.

    DESTINO DE LA CONSULTA

    Estando en el diseador de consultas, haga clic en el men Consulta y luego en la opcin Destino de la consulta La tabla de abajo muestra y describe los tipos de resultados:

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

    Grfico Transforma el resultado de la consulta a un formato disponible para usarlo con Microsoft Graph, una aplicacin independiente de incrustacin OLE incluida con Visual FoxPro.

    Pantalla Muestra el resultado de la consulta en la ventana de resultado activa.

    Informe Enva el resultado de la consulta a un archivo de informe.

    Etiqueta Enva el resultado de la consulta a un archivo de etiqueta.

    Puede copiar la instruccin SELECT y pegarla en la ventana de comandos o utilizarla en el evento clic de un botn de comando POR EJEMPLO: SELECT *; FROM datos2!inmobiliaria; WHERE Inmobiliaria.estado = "MIRANDA"

    CONSULTAS LOCALES DE MLTIPLES TABLAS O CON DATOS REMOTOS

    Con Visual FoxPro puede consultar mltiples tablas y vistas, as como combinar datos remotos y locales en una vista. Esta posibilidad resulta til cuando los datos necesarios estn almacenados en dos o ms tablas, o cuando estn repartidos entre tablas locales y tablas de un origen de datos remoto. El trmino "vista" se usa para el objeto que se crea con el Diseador de vistas.

    Cuando tenga que consultar informacin almacenada en dos o ms tablas, bastar con agregar todas las tablas necesarias a su consulta y combinarlas segn campos comunes. Despus, podr buscar la informacin necesaria en los registros de todas las tablas. En sus consultas puede usar cualquier combinacin 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 combinacin entre las tablas o las vistas segn los nombres de campos coincidentes.

    Las combinaciones aparecen automticamente 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 Diseador de consultas o elige el botn Agregar combinacin en la barra de herramientas Diseador de consultas para mostrar el cuadro de dilogo Condicin de combinacin.

    Lista de campos izquierda Lista de campos derecha

    OPCIONES DEL CUADRO DE DILOGO 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 Diseador de consultas. Seleccione en la lista un campo por el que quiera combinar las tablas. Tipo de combinacin Interna Crea una combinacin que slo 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 combinacin 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 combinacin 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 combinacin que incluye todos los registros de los dos cuadros de lista para los campos seleccionados en los cuadros de lista. Descripcin Especifica cmo se relacionan entre s los campos de cada tabla cuando selecciona las distintas opciones de combinacin.

    CREAR UNA COMBINACIN ENTRE TABLAS

    1. Agregue dos o ms tablas o vistas a una consulta. 2. En la barra de herramientas Diseador de consultas, elija el

    botn Agregar combinacin. 3. En el cuadro de dilogo Condicin de combinacin, seleccione

    los nombres de campo relacionados en las dos tablas.

    Nota Combine columnas slo si tienen el mismo tamao y el mismo tipo de datos.

    4. Seleccione un tipo de combinacin:

    Para obtener... Use...

    Slo registros de ambas tablas que cumplan los criterios de combinacin, el tipo ms comn de combinacin

    Combinacin interna

    Todos los registros de la tabla en el lado izquierdo de los criterios de combinacin

    Combinacin izquierda

  • y slo registros que cumplan los criterios de combinacin de la tabla en el lado derecho de los criterios de combinacin

    Todos los registros de la tabla en el lado derecho de los criterios de combinacin y slo registros que cumplan los criterios de combinacin de la tabla en el lado izquierdo de los criterios de combinacin

    Combinacin derecha

    Todos los registros de ambas tablas, cumplan o no los criterios de combinacin

    Combinacin completa

    5. Elija Aceptar.

    ELIMINAR UNA COMBINACIN

    Seleccione la lnea de combinacin en el Diseador de consultas y elija Quitar condicin de combinacin en el men Consulta.

    O

    En la ficha Combinacin, seleccione la condicin de combinacin y elija Quitar.

    MODIFICAR UNA COMBINACIN

    6. En la ficha Combinacin, seleccione la combinacin que desea modificar.

    7. Cambie las condiciones de combinacin segn sea necesario.

    VISTAS

    Una vista es una definicin de tabla virtual personalizada que puede ser local, remota o parametrizada. Las vistas hacen referencia a una o ms 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 orgenes de datos remotos, como Microsoft SQL Server, a travs de ODBC. Puede incluso hacer que Visual FoxPro enve actualizaciones a la tabla de origen cuando actualiza o cambia el conjunto de registros de la vista.

    Veremos la creacin de vistas sencillas, locales y remotas, de una sola tabla.

    CREAR VISTAS

    La creacin de consultas y la creacin 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 slo 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 caracterstica 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 botn Asistente para vistas. 4. Siga las instrucciones que aparecern en las pantallas del

    asistente. .

    INICIAR EL DISEADOR DE VISTAS

    Para crear una vista de una tabla local, utilice el Diseador 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 Diseador de vistas, primero debe crear o abrir una base de datos. Cuando expanda el signo ms 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 MENS

    La mayor parte del trabajo en la creacin de un sistema de mens se realiza en el Diseador de mens, en el que crea los mens, los submens y las opciones de men.

    Para crear mens, puede personalizar el sistema de mens de Visual FoxPro o bien desarrollar un sistema propio.

    CREAR UN SISTEMA DE MENS CON MEN RPIDO

  • 1. En el Administrador de proyectos, seleccione la ficha Otros, seleccione Mens y haga clic en Nuevo.

    2. Elija Men. 3. Aparecer el Diseador de mens. 4. En el men Men, elija Men rpido

    El Diseador de mens contendr ahora informacin sobre los mens principales de Visual FoxPro.

    5. Personalice el sistema agregando o modificando elementos de men

    Antes de poder usar el men en una aplicacin debe generarlo.

    GENERAR UN MEN

    En el men Men, elija Generar

    Visual FoxPro le pedir que guarde el sistema de mens en un archivo con la extensin .MNX. Este archivo es una tabla que almacena toda la informacin sobre el sistema de mens. Despus de haber guardado el sistema de mens, Visual FoxPro le pedir un archivo de salida con la extensin .MPR. Este archivo contendr el programa de men generado

    CREAR MENS SDI

    Los mens SDI son mens 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 diseando el men. Aparte de esto, el proceso de creacin de un men SDI es el mismo que el de creacin de un men normal.

    UN MEN SDI (UNA APLICACIN QUE SLO ADMITE UN DOCUMENTO CADA VEZ)