Lo nuevo en Visual FoxPro 9.docx

73
Lo nuevo en Visual FoxPro 9.0 Report Writer 285 de 287 MSDN - Valorar este tema Cathy Pountney www.frontier2000.com 08 2004 Se aplica a: Visual FoxPro 9.0 Lea el artículo del compañero, Visual FoxPro 9.0 Report Writer En Acción . Resumen: Aprenda acerca de las nuevas características en Microsoft Visual FoxPro 9.0 Report Writer, incluyendo los nuevos entornos reutilizables de datos, protección de memoria, y varias mejoras en la interfaz de usuario. También aprenderá acerca de las mejoras a objetos de diseño, mejoras para los usuarios internacionales, varias mejoras de impresión, y mejoras en los grupos de datos. Además, usted aprenderá acerca de dos de las mejores mejoras en el Visual FoxPro (VFP) 9.0 Report Writer: bandas- detalle y múltiples extensibilidad. Finalmente, usted aprenderá los detalles del informe Visual FoxPro (FRX) estructura. (63 páginas impresas) Contenido Introducción extensibilidad Data Environments Protección UI Mejoras Layout objeto Mejoras Internacional Características Impresión Mejoras Mejoras de datos Grupo bandas múltiples Detalle La FRX Conclusión Bio Introducción Microsoft ha mejorado significativamente el VFP 9.0 Report Writer reconociendo al mismo tiempo los desarrolladores de inversión

Transcript of Lo nuevo en Visual FoxPro 9.docx

Page 1: Lo nuevo en Visual FoxPro 9.docx

Lo nuevo en Visual FoxPro 9.0 Report Writer 285 de 287 MSDN - Valorar este tema

 Cathy Pountney www.frontier2000.com08 2004Se aplica a:    Visual FoxPro 9.0Lea el artículo del compañero, Visual FoxPro 9.0 Report Writer En Acción .Resumen: Aprenda acerca de las nuevas características en Microsoft Visual FoxPro 9.0 Report Writer, incluyendo los nuevos entornos reutilizables de datos, protección de memoria, y varias mejoras en la interfaz de usuario. También aprenderá acerca de las mejoras a objetos de diseño, mejoras para los usuarios internacionales, varias mejoras de impresión, y mejoras en los grupos de datos. Además, usted aprenderá acerca de dos de las mejores mejoras en el Visual FoxPro (VFP) 9.0 Report Writer: bandas-detalle y múltiples extensibilidad. Finalmente, usted aprenderá los detalles del informe Visual FoxPro (FRX) estructura. (63 páginas impresas)ContenidoIntroducción extensibilidad Data Environments Protección UI Mejoras Layout objeto Mejoras Internacional Características Impresión Mejoras Mejoras de datos Grupo bandas múltiples Detalle La FRX Conclusión Bio

IntroducciónMicrosoft ha mejorado significativamente el VFP 9.0 Report Writer reconociendo al mismo tiempo los desarrolladores de inversión significativos tienen en los informes FRX-basados existentes. Por lo tanto, el VFP 9.0 Report Writer es compatible con versiones anteriores de informes de VFP. La VFP 9.0 Report Writer es una gran mezcla de lo viejo y lo nuevo.

ExtensibilidadAntes de VFP 9.0, el motor de informes manejó todo, incluyendo el procesamiento de los datos, posicionamiento de objetos, renderizado, impresión y vista previa. No había manera de "gancho" en el motor de informes y personalizarlo, como usted puede con

Page 2: Lo nuevo en Visual FoxPro 9.docx

otras áreas de VFP. Un caso de la mayoría de los cambios significativos en el VFP 9.0 Report Writer es las nuevas características de extensibilidad. El Diseñador de informes, el motor de informes, y la vista previa de contenedores han sido expuestos a los desarrolladores.Generador de informesLa VFP 9.0 Report Writer incluye una nueva característica en tiempo de diseño llamado Hooks Builder . Varios eventos del Diseñador de informes se exponen y un componente Xbase independiente, llamado el Generador de informes , puede ser invocada para manejarlos. Esta aplicación se puede utilizar para invocar sus propios cuadros de diálogo, aumentar el comportamiento del Diseñador de informes nativo, o reemplazar el comportamiento nativo.VFP incluye una completa aplicación Generador de informes que incluye nuevas características y proporciona una mejor interfaz de usuario para el diseño de informes. El Generador de informes es controlado por una nueva variable del sistema, _ ReportBuilder . Si esta variable está vacía, aparecen los cuadros de diálogo nativas. Para activar los ganchos constructor, establezca esta variable en una aplicación apropiada. Por ejemplo, para utilizar el Generador de informes se incluye con VFP 9.0, ejecute el comando siguiente:_REPORTBUILDER = HOME () + "ReportBuilder.app"Algunas partes de este artículo asumen los cuadros de diálogo nativas están en su lugar y el _ ReportBuilder variable del sistema está vacía. Otros lugares asumen los nuevos cuadros de diálogo están en su lugar y el _ ReportBuilder variable del sistema se establece en " ReportBuilder.app . " Si usted no está experimentando el comportamiento descrito, o bien no están viendo los cuadros de diálogo descritos, cambiando el valor de _ReportBuilder puede solucionar el problema.Motor de informesEn el nuevo sistema de salida ( salida a objetos asistida ), el motor de informes se encarga de las tareas centradas en datos, como el movimiento a través del alcance y la evaluación de la expresión. Sin embargo, cuando llega el momento de crear una salida, se difiere el trabajo a una nueva clase base, llamada ReportListener . La nueva clase hace que el contenido del informe de una manera más sofisticada, utilizando GDI +, y también ofrece a los usuarios Xbase la oportunidad de interactuar con el proceso de salida. Figura 1 muestra cómo las piezas encajan entre sí.

Figura 1. Utilice la nueva clase ReportListener para manipular informes. (Haga clic en la imagen para ampliarla.)Para utilizar un ReportListener clase, utilice la nueva cláusula en el informe FORM comando de la siguiente manera:

Page 3: Lo nuevo en Visual FoxPro 9.docx

oListener = CREATEOBJECT ("ReportListener")oListener.ListenerType = 1 && Vista previa o 0 para ImprimirMODELO DE INFORME <nombre> <clauses> OBJETO oListenerVFP 9.0 también proporciona una segunda técnica para usar un ReportListener clase. Puede establecer el valor de una nueva variable de sistema, _REPORTOUTPUT , con el nombre de una aplicación que puede determinar qué ReportListener clase que se utiliza en función del tipo de producto que ha elegido.Cuando se utiliza la salida a objetos con asistencia, un informe se procesa mediante uno de dos modos principales, dependiendo de su ListenerTypevalor de la propiedad. Usted puede pensar en estos dos modos como impresión apropiada y vista previa en su caso , o de la página-at-a-tiempo ytodo-pages-at-once . En el primer modo, la escucha activa una OutputPage evento, que se prepara cada página, al igual que envía cada página a la impresora o cola de impresión.En el segundo modo, el Listener prepara todas las páginas de la representación y los almacena en caché. Cuando esté terminado, se puede invocar elOutputPage método para pedir la salida de página de cualquiera y todas las páginas incluidas en el producto, por número de página.Ver ContainerEn VFP 9.0, una pieza más del rompecabezas de la extensibilidad es la Vista previa de contenedores . Con este libro, puede utilizar el nuevo contenedor de vista previa se incluye con VFP 9.0 o danos tu contenedor de vista previa. El antiguo depósito de previsualización nativa está disponible cuando usted no está utilizando la nueva salida a objetos asistida.Una nueva variable de sistema, _ REPORTPREVIEW , contiene el nombre de la aplicación que determina qué contenedor de vista previa para usar. De forma predeterminada, esta variable apunta a ReportPreview.app . Esta nueva aplicación contiene una gran cantidad de mejoras con respecto a la edad de vista previa, incluyendo: más niveles de zoom, el control de la barra de herramientas, el control de los subtítulos, varias páginas de vista previa, y una mejor calidad utilizando GDI +. Figuras 2 y 3 muestran las diferencias entre la antigua vista previa superficie y la nueva superficie vista previa.

Page 4: Lo nuevo en Visual FoxPro 9.docx

Figura 2. La salida en el recipiente de previsualización mayor no es muy nítida. (Imagen Haga clic para agrandar.)

Figura 3. El nuevo contenedor de vista previa tiene mucho mejor calidad y opciones más sofisticadas. (Imagen Haga clic para agrandar.)Note la diferencia de calidad entre los antiguos y los nuevos contenedores de vista previa. El nuevo envase tiene fuentes más nítidas tanto que el anterior. Esto puede atribuirse al uso de GDI + a la información de salida. También tenga en cuenta las diferencias en la barra de herramientas acoplada.La barra de herramientas en la vista previa del nuevo estilo tiene más opciones, incluyendo presentaciones de varias páginas.Salida tradicional

Page 5: Lo nuevo en Visual FoxPro 9.docx

Un nuevo comando SET REPORTBEHAVIOR , se puede utilizar para activar la salida a objetos asistida encendido o apagado. El nuevo motor de procesamiento de la producción y la nueva superficie Previa tanto tienen algunas diferencias significativas con el viejo estilo de la producción. Alineación, kerning y espaciado son diferentes entre GDI y GDI +, que podría cambiar significativamente la apariencia de sus informes existentes. Por lo tanto,REPORTBEHAVIOR se establece en 80 de forma predeterminada, lo que convierte la salida a objetos asistida off e informa de los procesos como lo hicieron antes de VFP 9.0.Si desea desactivar globalmente la salida a objetos asistida, usted puede cambiar el valor de este parámetro en el Opciones de cuadro de diálogo (que se muestra en la figura 4 ), o tal vez el siguiente comando:SET REPORTBEHAVIOR 90

La Figura 4. Utilice la opción de comportamiento en tiempo de ejecución en el cuadro de diálogo Opciones para cambiar la configuración de SET REPORTBEHAVIOR.Cuando REPORTBEHAVIOR se establece en 90 , formulario de informe de comandos se comportan de forma automática, como si ha utilizado elOBJETO cláusula, sin más cambios a su código. VFP utiliza el _ REPORTOUTPUT variable del sistema para determinar qué aplicación utilizar para la designación del correspondiente ReportListener clase para cada informe FORM comando.Con las nuevas características de extensibilidad en VFP 9.0 Report Writer, se puede aprovechar el Generador de informes, el motor de informes, y la superficie vista previa. Usted puede dar vuelta a nivel mundial en las nuevas funciones o puede convertirlos en forma individual para diversos informes.También puede dejar las

Page 6: Lo nuevo en Visual FoxPro 9.docx

nuevas características de despegue y ejecutar informes como si estuvieras en las versiones anteriores de VFP.Para obtener más información acerca de cómo utilizar la salida a objetos asistida, véase: La VFP 9.0 Report Writer En Acción .

Entornos de datosLa VFP 9.0 Report Writer ahora puede compartir los entornos de datos con otros informes. Entornos de datos también se pueden guardar como una clase y luego cargados en informes, según sea necesario. Esto ofrece un escenario de gran reutilización de definir las necesidades comunes de información.Guardar como clasePara guardar un entorno de datos como una clase, empezar por definir el entorno de datos de un informe, como de costumbre. Mientras la ventana entorno de datos sigue activa, seleccione las nuevas Guardar como clase ... la opción del archivo de menú (véase la Figura 5 ).

Figura 5. Un nuevo "Guardar como clase ..." opción aparece en el menú Archivo en el entorno de datos es la ventana activa.Después de seleccionar las Guardar como clase ... opción, el Guardar como clase aparece el cuadro de diálogo que se muestra en la Figura 6 . Elentorno de datos del botón Guardar grupo de opciones es el único botón de opción habilitada cuando se guarda un entorno de datos de un informe.

Page 7: Lo nuevo en Visual FoxPro 9.docx

La Figura 6. Utilice el cuadro de diálogo Guardar como clase para declarar el nombre de la nueva clase y la biblioteca de clases para guardar el entorno de datos de un informe.Escriba un nombre para la clase en el Nombre cuadro de texto. A continuación, escriba el nombre de la biblioteca de clases que desea guardar la nueva clase pulg Si se introduce el nombre de una biblioteca de clases que no existe, se crea la nueva biblioteca de clases para usted. También puede utilizar la elipse (...) botón para localizar una biblioteca de clases. Por último, puede introducir opcionalmente una descripción de la nueva clase.Carga de un DEAdemás de definir manualmente el entorno de datos de un nuevo informe, VFP 9.0 también le da la posibilidad de cargar el entorno de datos de un informe existente o de un guardado entorno de datos de clase. El entorno de datos de carga ... opción en el Informe de menú (ver Figura 7 ) le permite seleccionar el entorno de datos a cargar.

Page 8: Lo nuevo en Visual FoxPro 9.docx

Figura 7. Utilice el entorno de datos de carga ... opción de cargar un entorno de datos de un informe existente o de una clase de entorno de datos.Nota    La característica de entorno de datos de carga sólo está disponible a través de los nuevos cuadros de diálogo ReportBuilder. Debe emitir _REPORTBUILDER = HOME () + "ReportBuilder.app" para tomar ventaja de esta característica.

A partir de un informeAl cargar el entorno de datos de otro informe, todo el código y los miembros de la original de entorno de datos se copian en el nuevo informe. Esto significa que los cambios realizados en el entorno de datos del informe original después de los hechos no se propagó a los informes creados a partir del informe original.La Propiedades del informe cuadro de diálogo, como se muestra en la Figura 8 , aparece después de seleccionar Load Data Ambiente ... Del Informemenú. Utilice este menú para seleccionar el informe que el entorno de datos que desea copiar en el presente informe.

Page 9: Lo nuevo en Visual FoxPro 9.docx

Figura 8. Utilice la ficha entorno de datos del cuadro de diálogo Propiedades del informe para decidir qué informe desea copiar un entorno de datos de.Seleccione la copia de otro archivo de informe de botón de opción y haga clic en Seleccionar ... botón. Esto invoca el Abierto cuadro de diálogo para que pueda elegir la que informe a copiar. Una vez que eligió un informe, aparece un cuadro de diálogo de confirmación (ver Figura 9 ).

La Figura 9. Confirme sus intenciones para copiar un entorno de datos mediante este cuadro de diálogo.VFP 9.0 está a punto de copiar el entorno de datos de otro informe al informe actual. Por lo tanto, VFP 9.0 le notifica que está a punto de sobrescribir el entorno de datos actual, y usted debe hacer clic en Sí para continuar. Esto le ayuda a recordar que todo lo que se ha definido en el entorno de datos del informe actual está a punto de ser sobrescritos. Si hace clic en No , no se hacen cambios y el proceso es abortado. Al hacer clic en Sí , el entorno de datos se copia y se le notificó con la caja de diálogo que se muestra en la Figura 10 .

Page 10: Lo nuevo en Visual FoxPro 9.docx

La Figura 10. Este cuadro de diálogo confirma que el entorno de datos se ha copiado con éxito en el informe actual.Ya ha terminado de copiar el entorno de datos. Puede manipular el entorno de datos según sea necesario. Sin embargo, recuerde que los cambios realizados en el entorno de datos del informe original después de este punto, no se propaguen a este informe.Desde una Clase DEAl cargar el entorno de datos de una clase, se añade código al entorno de datos del nuevo informe que se enlazará con el original entorno de datos de clase y crear una instancia en tiempo de ejecución. Esto significa que los futuros cambios realizados en el entorno de datos de clase se propagarán en los informes utilizando el entorno de datos de clase.Usando el Propiedades del informe cuadro de diálogo, se muestra en la Figura 8 , haga clic en el enlace a una clase visual DE botón. A continuación, haga clic en el Select ... botón para invocar el Abierto cuadro de diálogo que puede utilizar para elegir la biblioteca de clase ya qué clase de usar. El mismo cuadro de diálogo de confirmación que se muestra en la Figura 9 aparece después de seleccionar una clase. Después de confirmar sus intenciones, el entorno de datos se actualiza y se le notifica para su finalización, con el cuadro de diálogo que se muestra en la Figura 10 .En este punto, el código ha sido añadido a algunos de los métodos de entorno de datos. Algunos de los métodos tienen un código muy simple, sin nada más que un DODEFAULT () de comandos. La razón de esto es BindEvents () no funciona a menos que el método contiene al menos una línea de código.Código de entornos de datosCarga de un entorno de datos de una clase agrega automáticamente código para varios métodos como se muestra y se describe a continuación.Método InitEl siguiente código en el Init se necesita método para garantizar BindEvents () funciona como se esperaba.* ------------------------------------------------- ---- ** ESTE CÓDIGO método fue insertado por el Generador de informes ** ------------------------------------------------- ---- * DODEFAULT ()BeforeOpenTables MétodoEl siguiente código crea una nueva propiedad en el entorno de datos que contiene una referencia de objeto para el entorno de datos de clase que se está cargando. A continuación, los eventos en este entorno de datos están vinculados a los eventos correspondientes en el entorno de datos de clase.Sin embargo, las Init y Destroy eventos no están obligados. Por último, el BeforeOpenTables caso del entorno de datos de clase se dispara.* ------------------------------------------------- ---- *

Page 11: Lo nuevo en Visual FoxPro 9.docx

* ESTE CÓDIGO método fue insertado por el Generador de informes ** ------------------------------------------------- ---- * LOCAL loMember, laDEEvents [1], liMember, liMembers, loBoundMember THIS.AddProperty ("BoundDE", NEWOBJECT ("de_insurance", "c: \ VFP9 \ rwde.vcx")) SI VARTYPE (THIS.BoundDE) = "O" Y SUPERIOR (THIS.BoundDE.BaseClass) = "entorno de datos" * Eventos Enlazar aquí, omitiendo el Init y Destroy. * La FRX DE y sus miembros sólo pueden tener eventos de base, * No de manera que tanto la comprobación de PEMSTATUS es necesario: liMembers = AMEMBERS (laDEEvents, esto, 3) PARA liMember = 1 A liMembers SI INLIST (SUPERIOR (laDEEvents [liMember, 1]), "INIT", "destruir") LAZO ENDIF SI INLIST (SUPERIOR (laDEEvents [liMember, 2]), "event", "método") BINDEVENT (ESTA,; laDEEvents [liMember, 1]; THIS.BoundDE,; laDEEvents [liMember, 1]) ENDIF ENDFOR * Ahora haz los miembros con la comprobación correspondiente, * De nuevo sin esperar Init y Destroy: PARA CADA loMember EN THIS.Objects SI PEMSTATUS (THIS.BoundDE, loMember.Name, 5) Y; SUPERIOR (PEMSTATUS (THIS.BoundDE, loMember.Name, 3) = "objeto" loBoundMember = eval ("THIS.BoundDE." + loMember.Name) IF (loBoundMember.BaseClass == loMember.BaseClass) liMembers = AMEMBERS (laDEEvents, loMember, 3) PARA liMember = 1 a liMembers SI INLIST (SUPERIOR (laDEEvents [liMember, 1]), "INIT", "destruir") LAZO ENDIF SI INLIST (SUPERIOR (laDEEvents [liMember, 2]), "event", "método") BINDEVENT (ESTA,; laDEEvents [liMember, 1]; loBoundMember,; laDEEvents [liMember, 1]) ENDIF ENDFOR ENDIF ENDIF ENDFOR THIS.BoundDE.BeforeOpenTables ()

Page 12: Lo nuevo en Visual FoxPro 9.docx

ENDIFMétodo AfterCloseTablesEl código siguiente en el AfterCloseTables se necesita método para garantizar BindEvents () funciona como se esperaba.* ------------------------------------------------- ---- ** ESTE CÓDIGO método fue insertado por el Generador de informes ** ------------------------------------------------- ---- * DODEFAULT ()Destruye MétodoEl código siguiente agrega al Destroy método desenlaza métodos de entorno de datos de este informe del entorno de datos de clase. El código también elimina la referencia de objeto al entorno de datos de clase.* ------------------------------------------------- ---- ** ESTE CÓDIGO método fue insertado por el Generador de informes ** ------------------------------------------------- ---- * LOCAL loMember UNBIND de (ESTE) PARA CADA loMember en THIS.Objects UNBIND de (loMember) ENDFOR SI PEMSTATUS (this, "BoundDE", 5) y superior (PEMSTATUS (this, "BoundDE", 3)) = "PROPIEDAD" THIS.BoundDE = NULL ENDIFMétodo ErrorEl código siguiente en el error que se necesita método para garantizar BindEvents () funciona como se esperaba.* ------------------------------------------------- ---- ** ESTE CÓDIGO método fue insertado por el Generador de informes ** ------------------------------------------------- ---- * LPARAMETERS nError, cMethod, nLinea DODEFAULT (nError, cMethod, nLinea)

ProtecciónEn VFP 9.0, puede crear protección para uno o más objetos de la presentación cuando se utiliza el Diseñador de informes o el Diseñador de etiquetas.Esto le da la capacidad de permitir a sus usuarios modificar un informe, sin embargo, evitar que hagan ciertos cambios.Establecer indicadores de protecciónObjetos de diseño tienen cinco modos de protección diferentes que se pueden establecer, con objetos de campo que tienen una opción de protección adicional. Bandas tienen dos modos de protección diferentes que se pueden establecer. El informe en sí tiene una gran variedad de modos de protección que se pueden establecer.Tenga en cuenta    las nuevas características de protección sólo se pueden establecer a través de las nuevas ReportBuilder cuadros de diálogo. Debe emitir _ ReportBuilder = HOME () + "ReportBuilder.app" para tomar ventaja de estas características.

La protección de un objeto

Page 13: Lo nuevo en Visual FoxPro 9.docx

Para proteger un objeto de diseño en el Diseñador de informes, seleccione el Propiedades cuadro de diálogo para el objeto. La Propiedades cuadro de diálogo se puede invocar desde el Informe menú después de seleccionar el objeto, en el menú contextual del objeto, o haciendo doble clic en el objeto. Figura 11 muestra la protección ficha del Propiedades cuadro de diálogo para un objeto de campo.

La Figura 11. Utilice la ficha Protección del cuadro de diálogo Propiedades para establecer modos de protección de un objeto de diseño.Puede establecer los siguientes cinco modos de protección de los objetos de diseño:

Coloque una marca de verificación en el cuadro de selección de objeto no se puede mover o cambiar de tamaño para evitar que el usuario mueva el objeto de presentación a una posición diferente en la superficie de diseño y para evitar que el usuario cambiar el tamaño de este objeto.

Coloque una marca de verificación en el cuadro de selección de objeto no puede ser editado para evitar que el usuario realice ningún cambio en las propiedades de este objeto de diseño.

Coloque una marca de verificación en el cuadro de selección de objeto no se puede eliminar para evitar que el usuario elimine este objeto.

Coloque una marca de verificación en el cuadro de selección de objeto no se puede seleccionar para evitar que el usuario seleccione el objeto.Cuando se selecciona esta opción, las conductas de protección de los objetos no pueden ser movidos o tamaño , a objeto no se puede editary objeto no se puede eliminar también se imponen.

Coloca una marca de verificación en el cuadro de selección de objeto no es visible en el Diseñador de prevenir este objeto aparezca en el Diseñador de

Page 14: Lo nuevo en Visual FoxPro 9.docx

informes en modo protegido. Cuando se selecciona esta opción, se impone también el comportamiento de protección de las otras cuatro opciones.

El subtítulo de tiempo de diseño parte de este cuadro de diálogo sólo se aplica a los objetos de campo. La cadena literal entrado en este cuadro de texto se muestra en el Diseñador de informes, en lugar de la expresión . Esto le da la oportunidad de mostrar algo que es fácil de usar en lugar de una expresión complicada.Protección de una bandaPara proteger a una banda en el Diseñador de informes, seleccione el Propiedades cuadro de diálogo para la banda. La Propiedades cuadro de diálogo se puede invocar desde las Edit Bands ... opción en el Informe de menús, en el menú contextual de la banda, o haciendo doble clic en la barra gris de la banda. Figura 12 muestra la protección ficha del Propiedades de diálogo caja para una banda.

Figura 12. Utilice la ficha Protección del cuadro de diálogo Propiedades de la banda para establecer modos de protección de la banda.Puede configurar los dos modos de protección para las bandas siguientes:

Coloque una marca de verificación en el cuadro de selección de banda no se puede editar para evitar que la banda Propiedades cuadro de diálogo de ser accesible para el usuario.

Coloque una marca de verificación en el cuadro de selección de banda no se puede cambiar de tamaño para evitar que el usuario pueda cambiar el tamaño de la banda.

La protección de un InformePara establecer la protección general del informe, seleccione el Propiedades del informe cuadro de diálogo. Puede invocar este cuadro de diálogo seleccionando Propiedades desde el Informe de menús o en el menú de contexto del

Page 15: Lo nuevo en Visual FoxPro 9.docx

informe. Figura 13 muestra la protección ficha del Propiedades del informe cuadro de diálogo.

La Figura 13. Utilice la ficha Protección del cuadro de diálogo Propiedades del informe para establecer modos de protección generales de un informe.La parte superior de este cuadro de diálogo le permite definir las fichas de la Propiedades del informe cuadro de diálogo no están disponibles para el usuario. Para cada una de las selecciones realizadas en esta área, en la ficha correspondiente de las Propiedades del informe cuadro de diálogo está deshabilitada. La protección opción está siempre activada y desactivada. La opción Regla / Cuadrícula está desactivado porque la etiqueta no puede ser protegido, sin embargo, aparece en el cuadro de diálogo para que las selecciones son consistentes con las lengüetas del Informe cuadro de diálogo.La parte inferior de este cuadro de diálogo le permite definir qué opciones de menú no están disponibles para el usuario. Para cada una de las selecciones en esta área, la opción del menú de aplicación está desactivado.Honrando Flags ProtecciónPara invocar la protección durante un diseñador de informes o una sesión de Marca de diseño, utilice el PROTEGIDA palabra clave como se muestra en los siguientes ejemplos:Crear informe MyReport PROTEGIDAMODIFICAR INFORME MyReport PROTEGIDACrear etiqueta MyLabel PROTEGIDAMODIFICAR LA ETIQUETA MyLabel PROTEGIDASi el PROTEGIDA no se utiliza la palabra clave, el informe de las funciones de diseño como si no la protección se aplica a los objetos de la presentación.

Mejoras en la interfaz de usuario

Page 16: Lo nuevo en Visual FoxPro 9.docx

Muchos cambios se han hecho para la interfaz de usuario para hacer informes de diseño más sencillo e intuitivo. Los menús se han revisado, los menús contextuales se han cambiado, y nuevas opciones se han añadido a la barra de herramientas del Diseñador de informes. El Generador de expresionescuadro de diálogo Opciones de generador de expresiones cuadro de diálogo tienen nuevos comportamientos, y algunas otras mejoras en la interfaz de usuario diversos han sido añadidos a la VFP 9.0 Report Writer.MenúsEl sistema de menús informe ha sido revisado en VFP 9.0 para dar cabida a nuevas opciones. Además, algunas opciones se han re-etiquetado de claridad y algunas opciones se han repetido en varios menús para permitir un acceso más fácil. Figuras 14-16 muestran los nuevos cambios en el menú.

La Figura 14. La nueva "Guardar como clase ..." opción aparece en el menú Archivo.

Page 17: Lo nuevo en Visual FoxPro 9.docx

La Figura 15. Una nueva opción se ha añadido a la barra de herramientas del Diseñador de informes y las líneas horizontales se han añadido a separar las líneas de cuadrícula y Mostrar opciones de posición de las otras opciones.

La Figura 16. Muchos cambios aparecen en el menú Informe, incluidas las opciones relabeled, nuevas opciones, y la adición de la opción Vista preliminar.Menús contextualesMenús contextuales existentes se han mejorado con elementos adicionales y son más consistentes con los cuadros de diálogo que invocan. Otros artículos en el Diseñador de informes que anteriormente no tenían menús contextuales hacen ahora. Figuras 17-19 muestran los nuevos cambios.

Page 18: Lo nuevo en Visual FoxPro 9.docx

La Figura 17. El menú de contexto global tiene nuevas opciones y una opción relabeled.

Figura 18. Invoque el nuevo menú contextual banda haciendo clic derecho en la barra gris de cualquier banda.

La Figura 19. Invocar el menú contextual del objeto de diseño, haga clic en un objeto de diseño.Barra de herramientasLa barra de herramientas de Report Designer tiene algunos nuevos botones, como se muestra en la Figura 20 .

La Figura 20. Nuevas opciones de configuración de página y propiedades de fuente se han añadido a la barra de herramientas del Diseñador de informes.Cuadro de diálogo Generador de expresionesAlgunos cambios se han hecho para la Expresión de informe cuadro de diálogo. Figura 21 muestra la ampliación de Expresión de informe cuadro de diálogo, lo que permite más espacio para introducir una expresión de informe.

Page 19: Lo nuevo en Visual FoxPro 9.docx

La Figura 21. Tome ventaja de la "Expresión de campo sobre el Informe:" más alto cuadro de edición al entrar expresiones prolijas.Cuando el _REPORTBUILDER variable del sistema está vacía, el comportamiento nativo del Generador de expresiones cuadro de diálogo es el siguiente.Sólo las tablas definidas en el entorno de datos se muestran en el Campos cuadro de lista. Tablas abra fuera del entorno de datos no están disponibles en el cuadro de lista.Cuando el _REPORTBUILDER variable del sistema se establece en ReportBuilder.app , el comportamiento del generador de expresiones cuadro de diálogo es muy diferente. En primer lugar, el Generador de expresiones se definen en _GETEXPR se invoca en lugar de los nativos Generador de expresiones . Figura 22 muestra los indicadores predeterminados Generador de expresiones cuadro de diálogo.

Page 20: Lo nuevo en Visual FoxPro 9.docx

La Figura 22. Utilice el cuadro combinado "de la tabla" para seleccionar campos de cualquier tabla abierta.Este generador de expresiones cuadro de diálogo tiene un cuadro combinado para elegir qué tabla se debe utilizar cuando se enumeran los campos de la Campos cuadro de lista. Sin embargo, sólo las tablas que están actualmente en uso se muestran en el cuadro combinado. Este es un punto importante de recordar, porque las tablas definidas en el entorno de datos no se abren automáticamente mediante el Diseñador de informes, por lo que no aparecen automáticamente en el cuadro combinado.Esto le da la capacidad de controlar lo que las tablas están disponibles para los usuarios finales, cuando se les permite modificar los informes en la aplicación. Es posible que haya definido algunas mesas en el entorno de datos que usted necesita, pero usted no quiere que el usuario tenga acceso. Así pues hay que abrir específicamente las tablas que desee a los usuarios acceder, puede omitir las tablas que desee evitar que.Generador de expresiones cuadro de diálogo OpcionesEl campo alias de grupo de opciones está activada en el Generador de expresiones Opciones de cuadro de diálogo, como se muestra en la Figura 23 .Este grupo de opciones le permite indicar si desea o no que el alias de tabla añaden a la expresión de informe al momento de retirar los campos desde el Generador de expresiones cuadro de diálogo.

Page 21: Lo nuevo en Visual FoxPro 9.docx

La Figura 23. Utilice el alias de grupo de opciones de campo para indicar si o no los alias de campo se agregan a los campos seleccionados en el cuadro de diálogo Generador de expresiones.El Siempre agregue alias y Nunca agregue alias botones de opción causan VFP 9.0 para agregar automáticamente los alias de la tabla, o no poner los alias de la tabla, para todos los campos. El comportamiento de los Añade alias no seleccionados sólo botón de opción depende del valor de la _ReportBuilder variable del sistema. Si el _ ReportBuilder variable del sistema está vacía, cualquier campo elegido de una tabla que no es elInitialSelectedAlias es prefijado con el alias de tabla. Los campos de la InitialSelectedAlias mesa no tienen el prefijo del alias de tabla.Si el _ ReportBuilder variable del sistema se establece en ReportBuilder.app , los Añade alias no seleccionados sólo opción utiliza lógica un poco distinta. El alias seleccionado actualmente se utilizan en lugar de las InitialSelectedAlias para determinar si procede o no el prefijo campo con el alias de tabla.Además de seleccionar un campo del Generador de expresiones cuadro de diálogo arrastrando un campo desde el entorno de datos para el informe de diseño honra la superficie de ajuste del alias de campo grupo de opciones. Además, existe una nueva opción en el Informe de la pestaña Opciones de cuadro de diálogo, como se muestra en la Figura 24 . Esta opción determina cuáles son los predeterminados alias de campo es la creación de todos los informes de nueva creación.

Page 22: Lo nuevo en Visual FoxPro 9.docx

La Figura 24. Utilice la opción Generador de expresiones en la ficha Informes del cuadro de diálogo Opciones para configurar el comportamiento predeterminado para el Generador de expresiones.Mejoras Varios UIVarias otras mejoras en la interfaz de usuario ha mejorado el diseño de informe experiencia.El cursor del ratónEl cursor del ratón cambia ahora para proporcionar una indicación visual cuando un objeto puede cambiar de tamaño (véase la Figura 25 ).

La Figura 25. Utilice el nuevo cursor del ratón para saber cuando un objeto se puede cambiar de tamaño.Cuadro de diálogo Selección múltipleVFP 9.0 tiene ahora una selección múltiple cuadro de diálogo, que le permite configurar la protección y la impresión cuando las propiedades de más de un objeto de diseño a la vez. También le permite cambiar cualquiera de las otras propiedades de cualquier objeto de diseño individual. Para utilizar esta nueva función, seleccionar más de un objeto de diseño y, a continuación, haga doble clic en cualquiera de los objetos para invocar la selección múltiple cuadro de diálogo, se muestra en la Figura 26 .

Page 23: Lo nuevo en Visual FoxPro 9.docx

La Figura 26. Utilice la ficha Selección del cuadro de diálogo de selección múltiple para escoger qué diseño objetos que desea trabajar.Los objetos de la presentación que se seleccionaron al invocar este cuadro de diálogo se enumeran en la primera pestaña de este cuadro de diálogo.Para trabajar con los objetos de la presentación definidos en un informe, utilice CTRL + A para seleccionar todos los objetos de presentación antes de invocar este cuadro de diálogo.El Ordenar por opción le permite ordenar la lista de objetos de la presentación por Tipo o Localización en el informe. La Eliminar de la lista de botón elimina los objetos de la presentación seleccionada de la lista. Haga doble clic en cualquier elemento de la lista, y la aplicable Propiedades del cuadro de diálogo del objeto individual se invoca. El Properties ficha del Selección múltiple cuadro de diálogo, se muestra en la Figura 27 , se utiliza para cambiar las propiedades de todos los elementos que se enumeran en el Selección de tabulación.

Page 24: Lo nuevo en Visual FoxPro 9.docx

La Figura 27. Use la ficha Propiedades del cuadro de diálogo de selección múltiple para cambiar las propiedades de protección y la impresión cuando la lógica de los objetos de la presentación seleccionados a la vez.Seleccione el Aplicar estos parámetros de protección de los objetos seleccionados casilla de verificación para permitir que los Protección opciones.Seleccione el Aplicar esta condición a los objetos seleccionados al guardar casilla de verificación para habilitar la impresión en opción. Cambie laprotección y la impresión cuando los ajustes según sea necesario, a continuación, seleccione Aceptar para cerrar el cuadro de diálogo y aplicar los cambios a todos los objetos de la presentación que figuran en la primera ficha.Más niveles de zoomLa ventana de vista previa tiene más niveles de zoom (ver Figura 28 ).

La Figura 28. Utilice cualquiera de los nuevos niveles de zoom en la vista previa de VFP 9.0 para una mejor visibilidad.

Page 25: Lo nuevo en Visual FoxPro 9.docx

VFP 9.0 ha hecho un montón de mejoras en la interfaz de usuario, incluyendo menús, menús contextuales y barras de herramientas. Los cambios en elGenerador de expresiones cuadro de diálogo y opciones Generador de expresiones cuadro de diálogo también se han incrementado las opciones disponibles para usted. Otras mejoras incluyen el cursor del ratón, la selección múltiple cuadro de diálogo y, a más niveles de zoom.

Mejoras de objetos de diseñoAlgunas mejoras se han añadido a los objetos de diseño, incluyendo una opción para controlar los caracteres de la plantilla, un modo de ajuste de expresiones de caracteres, y la posición relativa y absoluta.Nota    Para aprovechar las ventajas de la mejora de modo Trim, debe utilizar la nueva salida asistida objeto, ya sea directamente mediante la creación de un ReportListener objeto, o indirectamente a través de la SET REPORTBEHAVIOR 90 comandos.

Caracteres plantillaLa propiedades del campo cuadro de diálogo tiene una nueva sección para personajes de plantilla , como se muestra en la Figura 29 . Las dos opciones disponibles son Overlay y Interleave . Determinan cómo se utilizan los caracteres especiales en el formato.

La Figura 29. Los caracteres de plantilla determinan cómo se aplican los caracteres especiales de formato a los datos.Cuando el recubrimiento se utiliza la opción, los caracteres especiales se tratan como parte de los datos y la superposición de cualquier otro carácter específico en la

Page 26: Lo nuevo en Visual FoxPro 9.docx

posición dada. Por ejemplo, cuando la expresión de formato es "999-999", y los datos contienen "123456", el informe muestra "123-56".Observe cómo el "4" se sustituye por el guión en la expresión de formato.Cuando el Interleave se utiliza la opción, el carácter especial se inserta en entre caracteres existentes en los datos. Por ejemplo, cuando la expresión de formato es "999-999", y los datos contienen "123456", el informe muestra "123-456". Tenga en cuenta que el guión se inserta entre "3" y "4".Modo de ajuste de expresiones de caracteresAntes de VFP 9.0, objetos de campo siempre se recortaron a la palabra más cercana cuando el texto era demasiado largo. En VFP 9.0, una nueva opción en la propiedades del campo cuadro de diálogo le permite determinar cómo se recorta el texto (ver Figura 30 ).

La Figura 30. Utilice el modo de ajuste de expresiones de caracteres para indicar el método utilizado para cortar texto largo.Las seis opciones de acabado son los siguientes:

Seleccione Por defecto recortar de utilizar el comportamiento predeterminado, que es el mismo que el ajuste a la palabra más cercana, añada puntos suspensivos opción. Este comportamiento es similar a las versiones anteriores de VFP, con la excepción de que tiene los puntos suspensivos anexa.

Seleccione Recorte de carácter más cercano a tener el texto recortado hasta el último carácter completo que cabe en el área definida.

Page 27: Lo nuevo en Visual FoxPro 9.docx

Seleccione Recortar a la palabra más cercana para que el texto recortado a la última palabra completa que cabe en el área definida.

Seleccione Recorte de carácter más cercano, añadir puntos suspensivos para que el texto recortado hasta el último carácter completo que cabe en el área definida, una vez que una elipsis (...) se añade el texto que se imprime.

Seleccione Recortar a la palabra más cercana, añada puntos suspensivos para que el texto recortado a la última palabra completa que cabe en el área definida, una vez que una elipsis (...) se añade el texto que se imprime.

Seleccione Filespec: Mostrar camino interior como puntos suspensivos para que los directorios internos de una larga ruta y el nombre sustituido por una elipsis (...) cuando el texto completo no cabe en el área definida.

Tamaño y posiciónOtra nueva función disponible en objetos de diseño es un mejor control del tamaño y la posición del objeto, como se muestra en la Figura 31 .

La Figura 31. Utilice el tamaño y la posición en las opciones de diseño en el cuadro de diálogo Propiedades para el control de posicionamiento relativo y absoluto.

Page 28: Lo nuevo en Visual FoxPro 9.docx

Cuando se agrega un objeto con el informe, los valores de partir de la página arriba , de izquierda a derecha , altura y anchura se ajustan automáticamente. Es importante tener en cuenta que la parte superior de la página es la propiedad con respecto a la parte superior de la página en el Diseñador de informes, lo que significa que tiene en cuenta la altura de las barras grises sobre el objeto. Cambio de la parte superior de la página de propiedades puede sin querer mover el objeto a otra banda.Posicionamiento relativoLa primera página de la propiedad y el Alto inmuebles trabajar juntos para determinar si se utiliza la posición absoluta o posición relativa. Cuando laparte superior de la página propiedad se establece en un valor que cae dentro de la superficie del Diseñador de informes, y el valor de la Alturapropiedad es menor o igual a la altura de la banda que el objeto se encuentra en, se utiliza la posición relativa. Se necesita el posicionamiento relativo de los objetos en bandas distintas del encabezado y pie de página.Posicionamiento absolutoCuando la parte superior de la página propiedad se establece en un valor que está fuera de la superficie del Diseñador de informes o el valor de laAltura propiedad es mayor que la altura de la banda que el objeto se encuentra en, se usa el posicionamiento absoluto. Posicionamiento absoluto significa que el objeto se imprime exactamente en el mismo lugar en cada página.Posicionamiento absoluto se puede utilizar para crear una marca de agua en un informe. Coloque una imagen gráfica en la banda Encabezado de página, y ponerlo a contenidos de escala, mantener la forma . Cambie la parte superior de la página propiedad y el de izquierda a derecha para indicar la propiedad de la esquina superior izquierda de donde desea que la marca de agua para comenzar. Cambie la altura y la anchura propiedades para indicar el tamaño global de la marca de agua, con cuidado de no extenderse más allá de los márgenes de impresión de la impresora.

Características internacionalesAlgunos cambios se han hecho para VFP 9.0 para hacer informes más funcional en situaciones internacionales. En concreto, los conjuntos de caracteres o secuencias de comandos de lenguaje, se puede configurar para las fuentes. Las unidades tienen más opciones, y la STRCONV () comando tiene más opciones.FontCharSetEl juego de caracteres, o escritura de la lengua, de una fuente pueden establecerse en el fuente cuadro de diálogo, como se muestra en la Figura 32 .Esto se puede configurar para un objeto específico en el informe y que también se puede configurar para la fuente predeterminada de todo el informe.

Page 29: Lo nuevo en Visual FoxPro 9.docx

La Figura 32. Use el menú desplegable de secuencias de comandos para seleccionar un conjunto de caracteres o lenguaje de script.UnidadesLa escala de la cuadrícula Set cuadro de diálogo tiene tres adicionales Scale Ruler opciones para permitir que usted fije específicamente la escala en pulgadas o métricas / centímetros o para activar la regla de fuera. Esto le da un mejor control cuando se tiene clientes con varios valores predeterminados del sistema. Figura 33 muestra las nuevas opciones en la escala de cuadrícula Set cuadro de diálogo.

La Figura 33. Utilice el nuevo cuadro combinado desplegable en el cuadro de diálogo Escala Cuadrícula Set para un mejor control sobre la escala de la regla.Los mismos cambios realizados en la escala de cuadrícula Set cuadro de diálogo también se han hecho con el Informe de la pestaña Opciones delcuadro de diálogo.STRCONV ()

Page 30: Lo nuevo en Visual FoxPro 9.docx

Otro cambio de VFP 9.0 que ayuda con los reportes internacionales es un cambio en el STRCONV () función. Ahora puede utilizar para manejar transformaciones utilizando páginas de códigos y FontCharSet valores, junto con los ID de configuración regional. La siguiente documentación de ayuda explica la nueva funcionalidad de la STRCONV () de comandos.STRCONV (cExpression, nConversionSetting [, nRegionalIdentifier [, nRegionalIDType]])

nRegionalIDType: 0 - (predeterminado) nRegionalIdentifier se LocaleId.1 - nRegionalIdentifier es la página de código.2 - nRegionalIdentifier es FontCharSet.

Para nConversion ajustes 1, 2, 3, 4, 7, y 8, sólo nRegionalIdentifier = 0 se admitePara el diseño de informes no están en inglés, las nuevas mejoras en el FontCharSet , las unidades y el STRCONV () comando permitir una mayor flexibilidad en el diseño.

Mejoras en la impresiónAlgunos comandos existentes y cuadros de diálogo se han mejorado para una mejor funcionalidad. El SYS (1037) de comandos tiene un nuevo parámetro y el valor de cambio, el GetFont () comando tiene un nuevo estilo, y los APRINTERS () comando tiene tres nuevas columnas.SYS (1037)El SYS (1037) comando se utiliza para invocar la configuración de impresión cuadro de diálogo, así como cambiar la impresora predeterminada de VFP. Antes de VFP 9.0, el SYS (1037) comando no tenía ningún valor significativo retorno. Siempre devuelve una cadena vacía, independientemente de lo que hizo el usuario. Esto hace que sea imposible saber si el usuario pulsa el Cancel botón.En VFP 9.0, un nuevo parámetro ha sido añadido a la SYS (1037) la función, así como un valor de retorno significativa (ver la Tabla 1 .)Tabla 1. Nuevo parámetro y valor devuelto por SYS (1037)

Parámetro Descripción Valor devuelto

SYS (1037) El mismo comportamiento que las versiones anteriores, sólo que ahora devuelve un valor significativo.

0 cancelas = Usuario

1 = El usuario selecciona

SYS (1037,1) Si el área de trabajo actual contiene una estructura equivalente a la de una estructura FRX, y no hay información de impresora se almacena en el área de trabajo actual, se invoca el cuadro de diálogo Configurar página. Si el usuario selecciona Aceptar en el cuadro de diálogo, VFP escribe la EXPR , TAG y tag2campos en el primer registro del cursor, y luego restaura el cursor a la anteriorRECNO () .

0 = El usuario cancela o estructura no era válida

1 = El usuario seleccionaactualizará en consecuencia

Page 31: Lo nuevo en Visual FoxPro 9.docx

Si el área de trabajo actual no contiene la estructura adecuada, ningún cuadro de diálogo se invoca y se devuelve cero.

SYS (1037,2) Si el área de trabajo actual contiene una estructura equivalente a la de una estructura FRX, la información de la impresora por defecto VFP se escribe en elEXPR , TAG , y TaG2 campos del primer registro, y luego se restaura el cursor a la anterior RECNO () .

Si el área de trabajo actual no contiene la estructura adecuada, no hay información se escribe en el cursor y se devuelve cero.

0 = No se tomaron medidas, la estructura no válido

1 = VFP información de la impresora por defecto se guarda en la exitosa FRX

SYS (1037,3) Si el área de trabajo actual contiene la estructura equivalente a la de una estructura FRX, el entorno de la impresora del FRX se guarda como la nueva impresora predeterminada de VFP. Además, se reescribe el entorno de la impresora a la FRX, por si acaso había alguna información no válida.

Si el área de trabajo actual no contiene la estructura adecuada, no se toma ninguna acción y se devuelve el cero.

0 = No se tomaron medidas

1 = VFP información de la impresora por defecto se ajusta desde el FRX

GetFont ()Unos pequeños cambios se han hecho a la GetFont () de comandos.Fuentes para imprimir únicamenteEl tercer parámetro de GetFont () tiene un nuevo valor. Pasando P dice VFP para mostrar sólo las fuentes imprimibles para la impresora predeterminada, como se muestra a continuación.= GetFont ('', 0, 'P')FontCharSetComo en las versiones anteriores de VFP, el cuarto parámetro de GetFont () se utiliza para identificar la FontCharSet . Sin embargo, un ligero cambio se ha hecho para el sentido de pasar 0 o 1 como el cuarto parámetro.

Pasando 0 permite que el script cuadro combinado, establece expresamente "la escritura occidental", y devuelve el FontCharSet junto con los otros datos.

Paso 1 permite que el script cuadro combinado, se establece el valor de la configuración regional del usuario y devuelve la FontCharSet junto con los otros datos.

Al igual que en versiones anteriores, omitiendo el cuarto parámetro desactiva el script cuadro combinado y no devuelve el FontCharSet como parte del valor de retorno.APRINTERS ()Un nuevo parámetro se ha añadido a los APRINTERS () de comandos para obtener información acerca de las impresoras. Usando el segundo parámetro opcional, como se muestra a continuación, hace que la matriz se rellena con tres columnas adicionales.lnPrinters = APRINTERS (laPrinters, 1)

Page 32: Lo nuevo en Visual FoxPro 9.docx

Las dos primeras columnas son las mismas que en las versiones anteriores; nombre de la impresora y el puerto de la impresora . Las tres nuevas columnas son del conductor , comentario , y ubicación .Llamadas APRINTERS () sin el segundo parámetro opcional proporciona el mismo comportamiento que en las versiones anteriores, es decir, dos columnas se devuelven.Cuadros de diálogo modernosLa configuración de impresión cuadro de diálogo ha sido renombrado a Configurar página y se ha modernizado. La impresora cuadro de diálogo también se ha modernizado cuando se ejecuta en Windows 2000 o sistemas operativos posteriores.Cuadro de diálogo Configuración de páginaLa Página de configuración cuadro de diálogo, se muestra en la Figura 34 , puede ser invocada por cualquiera de los métodos siguientes:

Cuando el Diseñador de informes no es WONTOP () , seleccione Configuración de página del archivo de menú.

Cuando el Diseñador de informes es WONTOP () , seleccione la página Configuración del botón Configurar página Informe cuadro de diálogo.

Utilice SYS (1037).

La Figura 34. El nuevo cuadro de diálogo Configuración de página reemplaza el cuadro de diálogo Configuración de impresión mayor.Cuadro de diálogo ImprimirLa impresión cuadro de diálogo, se muestra en la Figura 35 , puede ser invocada por cualquiera de los métodos siguientes:

Page 33: Lo nuevo en Visual FoxPro 9.docx

Seleccione Imprimir desde el archivo de menú. Utilice la impresora para cláusulas de comandos en un comando, como REPORT

FORM.

La Figura 35. El nuevo cuadro de diálogo de impresión tiene un aspecto más moderno a la misma cuando se ejecuta en Windows 2000 o posterior.

Mejoras Data GroupAlgunas mejoras se han hecho para grupos de datos en el VFP 9.0 Report Writer.Grupos máximos de DatosEl número máximo de grupos de datos se ha aumentado de 20 a 74.Las columnas horizontalesAnteriormente, los informes con más de una columna definida como horizontal con un grupo de datos, desperdician una gran cantidad de espacio. La primera posición (fila 1, columna 1) se deja en blanco y de datos se inició en la columna 2 de la fila 1. También, una banda en blanco se desperdicia en entre cada conjunto de grupos de datos, como se muestra en la Figura 36 . Incluso si la altura de la banda Encabezado de grupo de datos es cero, VFP todavía reservado el espacio, como se muestra en la Figura 37 .

Page 34: Lo nuevo en Visual FoxPro 9.docx

La Figura 36. Las versiones anteriores de VFP desperdicia mucho espacio al utilizar columnas horizontales con grupos de datos. (Haga clic en la imagen para ampliarla.)

Figura 37. Las versiones anteriores de VFP reservado espacio para conectores de grupo de datos, incluso cuando ninguno que define. (Haga clic en la imagen para ampliarla.)En VFP 9.0, el comportamiento de los grupos de datos y columnas horizontales ha sido cambiado. Cuando se encuentra un nuevo grupo de datos, se imprime en la columna 1 de la siguiente fila completa. El resto de esta fila se deja en blanco y no se utiliza para los detalles de impresión. Los detalles pertenecientes al grupo de datos comienzan en la columna 1 de la fila inmediatamente después de la fila del grupo de datos es impreso en, como se muestra en la Figura 38 . Además, no hay espacio adicional está reservado si la altura de la banda Encabezado de grupo de datos es cero, como se muestra en la Figura 39 .

Page 35: Lo nuevo en Visual FoxPro 9.docx

La Figura 38. VFP 9.0 no desperdicia tanto espacio como las versiones anteriores cuando se utilizan columnas horizontales y grupos de datos.(Haga clic en la imagen para ampliarla.)

Figura 39. VFP 9.0 no reserva espacio adicional cuando la banda Encabezado de grupo de datos es 0 "de altura. (Click en la imagen para ampliarla.)El nuevo comportamiento, evitando la situación descrita anteriormente, puede romper algunos informes existentes. Sin embargo, un beneficio adicional de la nueva comportamiento es que la banda de grupo de datos puede ser estirado a través de todas las columnas, como se muestra en la Figura 40 .

La Figura 40. En VFP 9.0, se puede ampliar la banda Encabezado de grupo de datos a través de múltiples columnas. (Haga clic en la imagen para ampliarla.)

Page 36: Lo nuevo en Visual FoxPro 9.docx

Bandas de múltiples DetalleAdemás de las mejoras de extensibilidad en el VFP 9.0 Report Writer, la nueva característica de banda de múltiples detalles es una de las mayores y más frecuentemente requeridos, mejoras. La nueva característica le permite procesar múltiples tablas secundarias para cada registro de una tabla principal.Un ejemplo de este tipo de informe se muestra en la Figura 41 .

La Figura 41. Este informe muestra la banda de múltiples detalle tiene tres bandas de detalle distintos para cada cliente. (Haga clic en la imagen para ampliarla.)Tablas y RelacionesLa comprensión de cómo las tablas padre e hijo trabajan juntos son la clave para la comprensión de cómo utilizar esta nueva característica. Como ejemplo de un escenario de múltiples detalles, supongamos que usted está escribiendo el informe se muestra en la Figura 41 . La base de datos para este escenario se muestra en la Figura 42 .

Page 37: Lo nuevo en Visual FoxPro 9.docx

La Figura 42. Una base de datos de la muestra de los clientes, usuarios, Vehículos y Viviendas en una compañía de seguros.La tabla Customer es la tabla primaria y contiene un registro para cada cliente de la compañía de seguros. Los Miembros, Vehículos y tablas Homes son tablas secundarias de la tabla de clientes. La tabla de los miembros tiene un registro por cada miembro de la familia del cliente. La tabla de Vehículos mantiene un registro de cada vehículo asegurado por el cliente. La tabla Homes tiene un registro por cada vivienda asegurada por el cliente.Conducir el InformeUna mesa es necesario para conducir el informe. En este ejemplo, la tabla de clientes es la mesa de conducción. Si utiliza el entorno de datos del informe para definir las tablas, establezca el InitialSelectedAlias propiedad a esta tabla. Si utiliza código para definir las tablas, asegúrese de que la tabla de clientes es el área de trabajo actual en el momento se ejecuta el informe.Los "Alias de destino"Los alias de destino es el término utilizado para describir qué tabla es la tabla de conducir por una banda de detalle en particular. En este ejemplo, la tabla de miembros es el alias destino para la banda de detalle 1, la tabla de Vehículos es el alias destino para el detalle banda 2, y la mesa de los hogares es el alias destino para el detalle banda 3.Si no se define un alias destino para una banda de detalle, el comportamiento que se necesita es que en las versiones anteriores de VFP. En otras palabras, una banda de detalle se procesa por registro primario. Sin embargo, si se introduce el nombre de la tabla primaria como el alias destino, obtendrá resultados muy diferentes. Para cada

Page 38: Lo nuevo en Visual FoxPro 9.docx

registro de la tabla principal, VFP procesa a través de todos los registros de toda la tabla principal, imprimir cada registro primario en la banda de detalle. Por lo tanto, si usted tiene una tabla con 10 registros primarios, y se establece el alias destino de una banda de detalle de la tabla primaria, el informe final imprime 10 series de 10 registros, o un total de 100 registros.RelacionesEs importante darse cuenta de que las relaciones juegan un papel importante en el funcionamiento de las bandas de detalles múltiple. VFP utiliza las relaciones entre la tabla principal y las tablas secundarias para desplazarse por los registros. Puede utilizar SET RELATION o SET SKIP para definir estas relaciones. Si va a abrir las tablas en el entorno de datos y las relaciones ya están definidos en la base de datos, estas relaciones son honrados.Si va a abrir las tablas en el código, el siguiente ejemplo muestra cómo configurar las tablas de la lista Seguro cliente se muestra en la Figura 41 .* - Abrir las tablas secundariasUSO EN Miembros 0 ORDEN CustomerFKUtilizar un vehículo en 0 ORDEN CustomerFKUSO EN Homes 0 ORDEN CustomerFK

* - Abra la tabla primariaSELECT 0USO cliente CustomerPK ORDEN

* - Establecer las relaciones entre los padres y los niñosJUEGO EN RELACIÓN CON CustomerPK MiembrosJUEGO EN RELACIÓN CON CustomerPK Vehículos ADITIVOJUEGO EN RELACIÓN CON CustomerPK Homes ADITIVO

* - Ejecutar el informeINFORME FORM PREVIEW SegurosDefinir Bandas múltiples DetallePor defecto, los nuevos informes se crean con una banda de detalle.Adición de bandas adicionales DetalleBandas de detalle adicionales se agregan a través de la Bandas Opcional cuadro de diálogo que se muestra en la Figura 43 . Para llamar a este cuadro de diálogo, seleccione Bandas opcionales ... Del Informe menú. Este es el mismo cuadro de diálogo que antes se llamó Título / Resumen . Se ha cambiado el nombre para ajustarse mejor a la opción adicional añadido.

Page 39: Lo nuevo en Visual FoxPro 9.docx

La Figura 43. Utilice los detalles del hilandero en el cuadro de diálogo Bandas opcional para ajustar el número total de bandas de detalle.Aumentar el Detalles spinner con el número total de bandas de detalle que desee en el informe. Es posible definir hasta 20 bandas de detalle para cada informe. Figura 44 muestra cómo se ve el Diseñador de informes después de elegir tres bandas de detalle.

La Figura 44. Este informe muestra tiene tres bandas de detalle definidos. (Haga clic en la imagen para ampliarla.)Definición de los alias de destinoEl alias de destino se le asigna a una banda de detalle a través del Detalle cuadro de diálogo (ver Figura 45 ). Este cuadro de diálogo se puede invocar al seleccionar Edit Bands ... Del Informe menú y seleccionar la banda de detalle correspondiente. También puede llamar a este cuadro de diálogo haciendo doble clic en la barra gris de la banda de detalle correspondiente.

Page 40: Lo nuevo en Visual FoxPro 9.docx

La Figura 45. Definir los "alias de destino" para cada banda de detalle en el cuadro de diálogo Detalle aplicable.Los alias de destino es una expresión, por lo tanto, se debe envolver el nombre de la tabla entre comillas. Una vez que tenga cada alias de destinatarios definidos, las barras grises que representan las bandas de detalle muestra el alias de destino (véase la Figura 46 ).

La Figura 46. El Diseñador de informes identifica a cada banda de detalle con un número y el alias destino asociado con él para que pueda identificar fácilmente las diferentes bandas de detalle. (Haga clic en la imagen para ampliarla.)Al crear informes banda múltiple detalle, es importante que los nombres de campos de prefijo con el nombre de alias aplicable. Esto evita cualquier confusión en cuanto a qué tabla un campo viene.Los encabezados y pies de páginaOtra característica de la mejora de banda múltiple detalle es la posibilidad de agregar encabezados y pies de página a cada banda de detalle. Estos son similares a los encabezados y pies de grupo en algunos aspectos, pero diferentes en otros. Para cada registro primario que se procesa, se produce lo siguiente:

Page 41: Lo nuevo en Visual FoxPro 9.docx

El detalle 1 banda de cabecera se procesa. 1 La banda de detalle se procesa una vez para cada registro hijo en el alias

destino asociado El detalle 1 banda de pie de página se procesa. El grupo encabezado detalle 2 se procesa. La banda de detalle 2 se procesa una vez para cada registro hijo en el alias

destino asociado. La banda de pie de página detalle 2 se procesa. El detalle de 3 bandas encabezado es procesado. La banda de detalle 3 se procesa una vez para cada registro hijo en el alias

destino asociado. El detalle de 3 bandas pie de página se procesa.

Para encender los encabezados y pies de página detalle, coloque una marca de verificación en el cuadro de selección de Detalle Encabezado / Pie de página en el Detalle de cuadro de diálogo para cada una de las bandas de detalle (véase la Figura 45 ). Para ayudar a resolver las bandas de detalle de otras bandas, en el triángulo que precede al nombre de la banda es sólida, donde los otros triángulos son claras (véase la Figura 47 ).

La Figura 47. Las bandas de detalle están marcados con triángulos sólidos y todas las otras bandas están marcados con triángulos abiertos.(Haga clic en la imagen para ampliarla.)Además del Diseñador de informes identificar cada banda de detalle, el Edit Bands cuadro de diálogo también indica que cada banda de cabecera, detalle banda de pie de página, y la banda de detalle utilizando el número secuencial de la banda. El Edit Bands cuadro de diálogo se puede invocar al seleccionar Edit Bands ... Del Informe menú (ver Figura 48 ).

Page 42: Lo nuevo en Visual FoxPro 9.docx

La Figura 48. El cuadro de diálogo Edit Bands utiliza el número secuencial de cada banda de detalle para ayudar a identificar a cada banda de detalle, la banda de cabecera detalle, y el detalle de banda pie de página.Es importante tener en cuenta que, incluso si no existen registros de detalle de una banda de detalle en particular, el detalle de cabecera asociada y detalle bandas de pie de página todavía imprimir. Si no desea que el encabezado de detalle y bandas de pie de página del detalle en estas condiciones, puede utilizar la siguiente impresión cuando la lógica en cada objeto de diseño se define en las bandas de suprimir su impresión. Asegúrese de colocar una marca de verificación en el cuadro de selección de Quitar línea si en blanco para estos objetos de la presentación también.NO EOF (alias> <sistema)Al igual que en los encabezados y pies de grupo, encabezados y pies de página de detalle tienen algunas de las mismas opciones. Como se observa enla Figura 45 , el detalle cuadro de diálogo tiene muchas nuevas opciones:

Empezar una nueva columna: Utilice esta opción para que el conjunto detalle inicia en una nueva columna del informe. Tenga en cuenta que esta opción no le permiten asignar específicamente un detalle establecido en una columna específica. Si un conjunto detalle tiene suficiente información para desbordamiento de la columna, que se continúa en la siguiente columna.

Comience en una nueva página: Utilice esta opción para que el conjunto detalle comenzar en una nueva página.

Cambiar número de página a 1 para cada detalle set: Utilice esta opción, junto con el inicio de una nueva página de opciones, para restablecer el número de página a 1 para cada nuevo conjunto detalle.

Comience conjunto detalle en página nueva cuando menos: Utilice esta opción para ayudar a prevenir los huérfanos. El conjunto detalle comienza en una página nueva si la cantidad indicada de espacio no está disponible.

Detalle Encabezado / Pie de página: Utilice esta opción para agregar un encabezado de detalle y la banda de pie de página detalle en torno a esta banda de detalle.

Reimpresión encabezado detalle en cada página: Esta opción, junto con el detalle Encabezado / Pie opción, tener la banda de cabecera detalle vuelve a imprimir cada vez que el juego se desborda detalle a una nueva página.

Variables de informe y cálculos

Page 43: Lo nuevo en Visual FoxPro 9.docx

Con la introducción de bandas múltiples detalles, variables y cálculos del informe tienen algunos nuevos giros a ellos. Es necesario comprender totalmente cómo se procesan con el fin de utilizarlos de manera efectiva. De lo contrario, puede que no obtenga los resultados que usted está esperando.El reinicio de sistema en el Informe Variables cuadro de diálogo ha sido renombrado a restablecer basado en . Esto define más claramente que la variable asume el valor basado en el cambio en el valor de la opción seleccionada. Además de cambiar el nombre del control, si más de una banda de detalle se define en el informe, que se añade cada banda de detalle de la lista desplegable. Consulte la Figura 49 para una mirada a la nueva Variables Informe cuadro de diálogo.

La Figura 49. Variables de informe calculados tienen un nuevo "Reset basada en" opciones.Selección de Detalle en que el restablecimiento basado en el valor, dice VFP para procesar sólo este cálculo cuando se procesan los registros de detalle en el alias destino de esta banda de detalle. La variable de informe no se altera mientras que los registros en otros alias de destino se encuentran en trámite. Esto le permite atar un informe variable para una banda de detalle particular. El valor de la variable de informe no se borra hasta que la banda encabezado detalle de este mismo conjunto detalle se procesa para el siguiente registro primario.

Page 44: Lo nuevo en Visual FoxPro 9.docx

Si ha elegido un reajuste basado en valor distinto de una de las bandas de detalle, el cálculo se procesa en varios lugares. En primer lugar, para cada registro padre, se aplica el cálculo. A continuación, el cálculo se aplica para cada registro en el alias destino de la primera banda de detalle. A continuación, el cálculo se aplica para cada registro en el alias destino de la segunda banda de detalle, y así sucesivamente.En el informe de dos páginas se muestra en la Figura 50 , se puede ver un ejemplo de variables de informe calculados asociados con bandas de detalle individuales. También puede ver los registros procesados totales al final del informe, muestran un valor de 20. Este número representa el total de miembros procesados (7), además de los vehículos totales procesada (7), además de las viviendas totales procesada (3), además de los clientes totales de procesado (3).

Figura 50. Variables de informe calculados pueden estar asociados con una banda de detalle o se pueden aplicar a todos los registros procesados. (Haz clic en las imágenes para vistas más grandes.)DiversoHay algunos otros artículos diversos para explicar en cuanto a bandas múltiples detalles.FRX AlmacenamientoBandas se almacenan en el FRX con un OBJTYPE valor de 9 y un OBJCODE valor que determina qué tipo de banda que el registro es. Cabecera bandas de detalle se almacenan con un OBJCODE valor de 9 , y las bandas de pie de página detalle se almacenan con un OBJCODE valor de 10 .El nuevo objetivo de alias de expresión se almacena en el EXPR campo del registro banda de detalle aplicable.Las peticiones ResumenUso del Resumen cláusula del informe FORM comando impide la banda de detalle de la impresión, sin embargo, todos los encabezados y pies de página, encabezados y pies de página, columnas y encabezados y pies de grupo se imprimen. Cualquier On entrada o en la salida expresiones en una banda de detalle no se procesan cuando el Resumen se utiliza la cláusula. Al expedir Resumen de un informe multibanda-detalle, los encabezados, pies de página detalle detalle, y las bandas de detalle no se procesan.Mucho que aprenderConseguir sus manos en torno a bandas múltiples detalle puede tomar mucho tiempo. Usted tiene que entender cómo todas las mesas de trabajo en conjunto, saber lo que es un objetivo alias es, y comprender las relaciones entre las tablas. Usted

Page 45: Lo nuevo en Visual FoxPro 9.docx

también tiene que tener una idea de cómo las variables y los cálculos se ven afectados por múltiples bandas de detalle. Puede que tenga que leer a través de esta sección más de una vez antes de que todo se hunde pulg

La FRXPara mantener la compatibilidad con versiones anteriores, el VFP 9.0 Report Writer utiliza la misma estructura FRX como en las versiones anteriores. Para cada registro en el FRX, los OBJTYPE y OBJCODE campos se utilizan juntos para definir qué tipo de datos se encuentran en el expediente. No todos los campos en el FRX se aplican a todos los tipos de registros. Por lo tanto, para dar cabida a todas las nuevas características de la VFP 9.0 Report Writer, campos existentes están sobrecargados cuando sea necesario.Otro cambio clave en el Informe VFP 9.0 es la forma en que el USUARIO campo se trata. Antes de VFP 9.0, los datos almacenados en el USUARIO campo se borran. Este comportamiento derrotó el propósito del USUARIO de campo y lo inutilizó. En VFP 9.0, los datos almacenados en el USUARIO campo se mantiene y la dejaron en paz. También puede crear campos adicionales en el FRX, siempre y cuando se añaden al final de la FRX. Los campos adicionales son retenidos por VFP y no se borrarán.Además de mantener el USUARIO campo, el VFP 9.0 Report Writer ahora conserva ningún registro de tipo desconocido. En lugar de eliminarlos del FRX, el Report Writer mantiene estos registros al final de la tabla FRX e ignora estos registros durante el proceso. Esto le da la posibilidad de añadir sus propios tipos de registro para el proceso especial.En teoría, también puede escribir informes en VFP 9.0, y siempre y cuando no se utilicen las nuevas características, puede ejecutar los informes en versiones anteriores de Visual FoxPro. Por supuesto, si agrega nuevos campos o registros en el FRX, se destruyen si se edita y guarda el informe en una versión anterior de VFP.Los RegistrosHay varios tipos diferentes de registros almacenados en los metadatos informe. El OBJTYPE campo identifica el tipo cada registro es y el resto de la información en el registro es muy variable, dependiendo de la OBJTYPE . En otras palabras, los campos de la tabla tienen múltiples propósitos y es necesario conocer la OBJTYPE de descifrar el significado del resto del registro. Los tipos válidos son los siguientes:

Informe definición (OBJTYPE = 1): El primer registro de la tabla es un registro de definición de informe. Contiene información general sobre el informe global, como la información de la impresora y la información de configuración de página. Hay un registro de definición de informe por mesa.

Informe objetos: Existen diferentes tipos de objetos se utilizan para representar el texto, datos y gráficos en un informe. En conjunto, estos objetos se les conoce como Informe objetos y consisten en los siguientes cinco tipos.

Label (OBJTYPE = 5): Una etiqueta de objeto es un término usado para describir una pieza estática de texto puesto en un informe. Es de uso general para los títulos de calificaciones, títulos de columnas, nombre de la empresa, y otra información que no cambia cada vez que se imprime el informe. Cada etiqueta de objeto en un informe se representa por un registro.

Page 46: Lo nuevo en Visual FoxPro 9.docx

Line (OBJTYPE = 6): Una línea de objeto se utiliza para representar las líneas horizontales y verticales en un informe. Cada línea deobjeto en un informe se representa por un registro.

Shape (OBJTYPE = 7): Una forma de objeto se utiliza para representar rectángulos y rectángulos redondeados en un informe. Cadaforma del objeto en un informe se representa por un registro.

Field (OBJTYPE = 8): Un campo de objeto es uno de los objetos más utilizados en un informe. Se utiliza para imprimir los datos de un informe. Los datos pueden ser un campo de una tabla o el resultado de una expresión. Incluso puede utilizar los cálculos internos proporcionados por el VFP Report Writer para obtener los resultados. Cada campo de objeto en un informe se representa por un registro.

Picture (OBJTYPE = 17): Una imagen de objeto se utiliza para representar una imagen / Bound ActiveX control en un informe. CadaPicture / ActiveX objeto en un informe se representa por un registro.

Band (OBJTYPE = 9): Una banda de objeto se utiliza para representar una banda individual en un informe. Como mínimo, todos los informes tienen tres objetos de banda: encabezado , detalle y pie de página . Un informe puede contener varias bandas opcionales: título , título de la columna , cabecera del grupo de datos , la columna de pie de página , pie de grupo de datos , resumen , encabezado detalle y detalle de pie de página .

Grupo (OBJTYPE = 10): Un grupo de objeto se utiliza para representar un grupo de objetos de informe que se han agrupado con el Grupo deopción Formato del menú desde el Diseñador de informes (no confunda esto con grupos de datos).

Variable (OBJTYPE = 18): Una variable de objeto se utiliza para representar una variable de informe individual. Cada variable de informe en un informe se representa por un registro.

Fuente (OBJTYPE = 23): Una fuente del objeto se utiliza para representar una fuente única utilizada en alguna parte en el informe. Cada tipo de letra diferente utilizado en el informe se representa por una fuente de registro de objeto. Como mínimo, una fuente existe objeto (por la fuente por defecto).

Entorno de datos (OBJTYPE = 25): Un entorno de datos de objeto se utiliza para representar el entorno de datos de un informe. Todas las propiedades y el código de procedimiento para el entorno de datos se almacenan en este disco. Hay un registro entorno de datos por mesa.

Los datos (OBJTYPE = 26): Una de datos de objeto se utiliza para representar ya sea un cursor de objeto o una relación objeto. Cada cursor o la relación que se define en el entorno de datos de un informe se representa por un registro.

Los registros se colocan en la mesa en un orden físico específico y es importante honrar ese orden si usted agrega mediante programación nuevos registros. Puede utilizar el comando sort para copiar los registros a una tabla temporal y luego de vuelta a la mesa de informe en el orden correcto, que es el siguiente:

El registro de definición de informe ( OBJTYPE = 1 )

Page 47: Lo nuevo en Visual FoxPro 9.docx

Los registros de banda ( OBJTYPE = 9 ). Las bandas se agregan a la tabla en el orden de los ascendientes OBJCODE campo, con las siguientes excepciones:

Cuando varios grupos de datos se definen en el informe ...

... Las bandas de cabecera de grupo ( ObjCode = 3 se añaden) en el mismo orden en que aparecen en los datos Agrupación de cuadro de diálogo.... Las bandas de pie de página del grupo ( ObjCode = 5 se añaden) en el orden inverso en que aparecen en los datos Agrupación decuadro de diálogo.

Cuando las bandas múltiples detalles se definen en el informe, el primero de la banda de detalle encabezado detalle , detalle y pie de página detalle bandas se agregan como un conjunto. A continuación, se añaden conjunto de registros de la segunda banda de detalle, y así sucesivamente.

El informe de los objetos ( OBJTYPE = 5 , 6 , 7 , 8 y 17 ) se añaden en el orden de su Z-Order, con el objeto situado más abajo añaden primero.

Registros Group ( OBJTYPE = 10 ) Informe registros variables ( OBJTYPE = 18 ). Los registros de variables de

informe se agregan a la tabla en el mismo orden en que aparecen en el Informe Variable cuadro de diálogo.

Registros Fuente ( OBJTYPE = 23 ) El récord entorno de datos (OBJTYPE = 25 ) Los registros de datos ( OBJTYPE = 26 ) se añaden en el orden en que se

agregan al entorno de datos.

La unidad de medidaVisual FoxPro utiliza su propia unidad de medida, las unidades de informe FoxPro (FRU), cuando se refiere al tamaño y la ubicación de los objetos en el informe. Si su sistema está configurado con pulgadas, la unidad de medida es 1/10, 000 de una pulgada. Si su sistema está configurado con centímetros, la unidad de medida es de 1/1, 000 de un centímetro.La PosiciónNo hay campo de la tabla que representa a qué banda pertenece un objeto. En su lugar, Visual FoxPro determina la banda mediante el cálculo de la altura definida de cada banda, los VPOS del objeto, y luego determina que una banda particular, cae en VPOS.Al mirar a la altura de cada banda, sin embargo, VFP también tiene en cuenta la altura de la barra gris horizontal que representa cada banda cuando se muestra en la pantalla por el Diseñador de informes. El valor de la altura de la barra gris horizontal es 2083.33333333 al usar pulgadas y 529.16666667utilizando centímetros.Los CamposDescribiendo lo que representa cada campo es difícil porque los campos se pueden utilizar para diferentes propósitos, dependiendo de lo que elOBJTYPE es de el registro en particular. Tabla 2 enumera cada campo de la tabla y cuál es el significado de los diferentes tipos de objetos.

Page 48: Lo nuevo en Visual FoxPro 9.docx

Además de la tabla 2, Microsoft ha proporcionado una DBF que contiene información acerca de las tablas de FRx. Este DBF se ha actualizado para VFP 9.0 y se encuentra en el HOME () + directorio 'tools \ especificación de archivo'.Tabla 2. La estructura de la tabla de un informe de VFP 9.0 (FRX)

Campo OBJTYPE Descripción

PLATAFORMA Todo Siempre "WINDOWS"

UniqueID Todos, excepto:

0-Comment23-FontMedio Ambiente 25-Datos26-Datos

Este es un identificador único para la mayoría de los registros. Usted puede utilizar SYS (2015)valor único al agregar registros.

TIMESTAMP Todos, excepto:

Conductor 21-impresora (2.x)23-FontMedio Ambiente 25-Datos26-Datos

Un sello de tiempo de cuando este registro se modificó por última vez.

OBJTYPE 0-49 reservada para la nativa.

50-99 disponible para uso personalizado.0 = Comentario1 = Report Definition2 = El área de trabajo (informes 2.x)3 = Índice (informes 2.x)4 = Relaciones (informes 2.x)5 = Label6 = Línea7 = Forma8 = Campo9 = Band10 = Los objetos agrupados (no grupos de datos)17 = Picture / OLE Bound18 = Variable21 = configuración del controlador de impresora (informes 2.x)23 = fuente25 = Entorno de datos26 = (Cursor, Relación, o el cursor adaptador) Data

Page 49: Lo nuevo en Visual FoxPro 9.docx

ObjCode Cuando el OBJTYPE campo por sí sola no es suficiente para identificar un tipo de registro, el OBJCODEidentificar, además, un tipo de registro.

1-Report Definition Siempre 53.

Zona 2-Work (2.x) Área de la mesa de trabajo.

3-Index (2.x) Área del IDX trabajo.

4-Relación (2.x) Área de la mesa de trabajo infantil.

5-Label

6-Línea8-Field10-Group17-Picture

Siempre 0.

7-Shape Siempre 4.

9-Band Describe el tipo de banda:

0 = Título1 = Encabezado de página2 = Encabezado de columna3 = Encabezado de grupo4 = Detalle5 = Pie de grupo6 = Pie de Columna7 = Pie de página8 = Resumen9 = Encabezado de detalles10 = Pie de Detalle

NOMBRE Zona 2-Work (2.x) Nombre de archivo de la tabla.

Page 50: Lo nuevo en Visual FoxPro 9.docx

3-Index (2.x) Nombre de archivo del archivo de IDX.

8-Field El subtítulo de tiempo de diseño.

17-Picture Si se define como Imagen de archivo y un archivo de imagen que se elija, está en blanco.

Si definió como Picture from File , y una expresión se introduce, contiene la expresión.Si se define como Imagen de campo , contiene el nombre del campo en general.

18-Variables Nombre de la variable.

Conductor 21-impresora (2.x) Nombre de la configuración.

Medio Ambiente 25-Datos "Entorno de datos"

26-Datos "Cursor" para cursores

"Relación" de las relaciones"CursorAdapter" para los adaptadores de cursor

EXPR 1-Report Definition Controlador de la impresora y la información de configuración de la impresora.

3-Index (2.x) La expresión de orden.

4-Relación (2.x) La expresión de la relación.

5-Label El texto del objeto Label.

8-Field La expresión del objeto de campo.

Page 51: Lo nuevo en Visual FoxPro 9.docx

9-Band/Group Header El Grupo de Datos expresión.

9-Band/Detail El alias Target expresión.

18-Variables El Valor de almacenar expresión.

Medio Ambiente 25-Datos

26-Datos

Las propiedades del entorno de datos o un objeto de datos.

VPOS 1-Report Definition Número de conjuntos de columnas.

10-Group Este número representa el primer objeto incluido en este grupo.basa en el orden z de los objetos del informe.objetos agrupados pueden pertenecer a otros objetos agrupados. Cuando esto ocurre, el grupo entero de objetos sólo se cuenta una vez cuando la determinación de este número.

23-Font Altura de los caracteres en píxeles, FONTMETRIC (1).

Objetos de informe La posición vertical del objeto, en la FRU.

HPOS 1-Report Definition Margen izquierda, en las FRU.

En relación con el margen de impresión siimprimible que se elija.En relación con el límite físico del papel sielegida.

10-Group Este número representa el número total de objetos de informe en este grupo.Sin embargo, si los objetos agrupados se incluyen en otro grupo, el grupo sólo se cuenta como un objeto.

23-Font El ancho promedio de carácter en píxeles,

Page 52: Lo nuevo en Visual FoxPro 9.docx

Objetos de informe La posición horizontal del objeto, en la FRU.

ALTURA 1-Report Definition Distancia entre columnas, en las FRU.

9-Band Altura de la banda, en el FRU.

23-Font Ascenso carácter en píxeles, FONTMETRIC (2).

Objetos de informe Altura del objeto, en la FRU.

ANCHO 1-Report Definition Ancho de cada columna, en las FRU.

9-Band/Detail

9-Band/Group Header

Se corresponde con el grupo de inicio en la nueva página cuando menos del valor de los datos de agrupacióndiálogo o Detalle decuadro de diálogo, en el FRU.

23-Font Anchura de carácter máximo en píxeles,

Objetos de informe Anchura del objeto, en la FRU.

ESTILO 1-Report Definition Si el informe utiliza un entorno de datosun entorno de datos de otro informe, éste contiene datos XML sobre el entorno de datos.

Objetos de informe 2.x B = Negrita

I = CursivaR = CriadoL = BajadaJ = Haga alinearC = Centro-align

Page 53: Lo nuevo en Visual FoxPro 9.docx

IMAGEN 5-Label Contiene caracteres de formato de alineación.

8-Field Corresponde a la expresión introducida en elde texto en la Expresión de informe cuadro de diálogo.

Si Intercalar está seleccionada, la expresión de formato tiene el prefijo @ R .

17-Picture Si se define como Imagen de archivo y un archivo de imagen que se elija, este contiene el nombre de ruta de acceso relativa para el archivo.

Si se define como imagen desde archivointroduce, está en blanco.Si se define como imagen del campo , está en blanco.

ORDEN All-pre VFP 9.0 No se utiliza.

All-VFP 9.0 Contiene un valor de carácter que representa un valor numérico (banderas binarias sumados) para identificar las características de protección.

Los objetos (bit, valor, significado)0, 1, Lock (movido o cambiando las proporciones)1, 2, Hide (visible)2, 4, No Eliminar3, 8, No Editar6, 64, No SeleccioneBandas (bit, valor, significado)4, 16, No Editar14, 16384, No ajustar el tamañoInforme (bit, valor, significado)7, 128, No hay vista previa8, 256, pero no los vendas opcionales9, 512, ninguna agrupación de datos10, 1024, No hay Variables11, 2048, No Page Layout12, 4096, No Multiple Select13, 8192, n º de entornos de datos15, 32768, No Imprimir16, 65536, n º Informe rápido

Page 54: Lo nuevo en Visual FoxPro 9.docx

UNIQUE 1-Report Definition . T. Informe generado = Asistente Temporal

. F. = Informe Permanente

Zona 2-Work (2.x) . T. = Un índice está en uso para este área de trabajo

. F. = Un índice no está en uso para este área de trabajo

18-Variable Corresponde a la salida después del informe deverificación en el Informe Variables cuadro de diálogo.

COMENTARIO Todo Corresponde al Comments cuadro de edición.

ENVIRON Medio Ambiente 25-Datos . T. = Sesión de datos privada

. F. = Sesión de datos predeterminada

Boxchar Todo No se utiliza.

FillChar 8-Field C para los campos de caracteres.

N para los campos numéricos.D para los campos de fecha.

TAG 1-Report Definition Información de controlador de impresora binaria.

Zona 2-Work (2.x) Alias de la zona de trabajo.

9-Band La entrada en la expresión.

18-Variable El valor inicial.

Medio Ambiente 25-Datos

26-Datos

Contiene código de evento y método.

Page 55: Lo nuevo en Visual FoxPro 9.docx

TAG2 1-Report Definition Información de controlador de impresora binaria.

9-Band La salida en la expresión.

Medio Ambiente 25-Datos

26-Datos

Contiene el evento compilado y código de método.

PENRED 23-Font El descenso carácter en píxeles, FONTMETRIC (3).

Objetos de informe El primer plano Red valor, como en RGB ().

PENGREEN 23-Font Conduce extra en píxeles, FONTMETRIC (5).

Objetos de informe El primer plano verde de valor, como en

PENBLUE Objetos de informe El primer plano Azul valor, como en RGB ().

FILLRED Objetos de informe El fondo rojo de valor, como en RGB ().

FILLGREEN Objetos de informe El fondo verde de valor, como en RGB ().

FILLBLUE Objetos de informe El fondo azul de valor, como en RGB ().

Pensize 6-Línea

7-Shape

Tamaño Pen (ajustados al seleccionar Penelegir una de las plumas sólida forradas).

0 = rayita1 = 1 punto2 = 2 puntos4 = 4 puntos6 = 6 puntosEl grosor de la línea completa no estará visible a menos que la

Page 56: Lo nuevo en Visual FoxPro 9.docx

altura o la anchura se establece en (pensize x 104.167).

PENPAT 6-Línea

7-Shape

Patrón de la pluma (ajustados al seleccionarmenú y elegir una de las plumas no sólidos forradas).

0 = Ninguno1 = Salpicado= 2 puntos3 = PUNTOTRAZO4 = DashDotDot8 = Normal / Solid

FILLPAT 7-Shape Llenar patrón (seleccione Llenar el formato de

0 = Ninguno1 = Sólido2 = Las líneas horizontales3 = líneas verticales4 = Las líneas diagonales, inclinándose a la izquierda5 = líneas diagonales, inclinándose a la derecha6 = cuadrícula (líneas horizontales y verticales)7 = Hatch (líneas diagonales izquierdo y derecho)

Fontface 1-Report Definition El nombre de la fuente de la fuente predeterminada.

5-Label

8-Field23-Font

El nombre de la fuente.

FontStyle 1-Report Definition

5-Label8-Field23-Font

0 = Normal

1 = negrita2 = cursiva4 = Subrayado128 = TachadoLos números anteriores pueden combinarse juntos para lograr múltiples estilos de fuente.

Tamaño de letra 1-Report Definition

5-Label8-Field

El tamaño de la letra.

Page 57: Lo nuevo en Visual FoxPro 9.docx

23-Font

MODO Objetos de informe Modo

0 = Opaco1 = TransparenteOrden de lectura0 = Izquierda a derecha2 = De derecha a izquierda4 = ContextoModo de Lectura y valores de orden se suman.

REGLA 1-Report Definition 0 = Ningún gobernante

1 = medida de la regla es pulgadas2 = medida de la regla es métrica3 = medida de la regla es el píxel4 = medida de la regla es el carácter (1/12 ")5 = Ruler respeta por defecto del sistema actual

RULERLINES 1-Report Definition 0 = No mostrar las líneas de cuadrícula en el Diseñador de informes

1 = Muestra las líneas de cuadrícula en el Diseñador de informes

8-Field Se corresponde con el modo de ajuste de expresiones de caracteres opción en el formato de cuadro de diálogo.

0 = por defecto recorte1 = Recorte de carácter más cercano2 = Recortar a la palabra más cercana3 = Trim de carácter más cercano, anexar puntos suspensivos5 = Mostrar camino interior como puntos suspensivos6 = Trim a la palabra más cercana, añadir puntos suspensivos

RED 1-Report Definition . T. = Ajustar a cuadrícula está en

. F. = Ajustar a la cuadrícula está desactivada

GRIDV 1-Report Definition Distancia vertical entre las líneas de cuadrícula en píxeles.

GRIDH 1-Report Definition Separación horizontal de las líneas de cuadrícula en píxeles.

Page 58: Lo nuevo en Visual FoxPro 9.docx

FLOAT Objetos de informe Corresponde a la flotación opción del objetodiálogo.

ESTIRAR 6-Línea

7-Shape

Corresponde al Stretch relación con la altura de la bandacasilla de verificación del objeto de la propiedaddiálogo.

8-Field Corresponde a la Stretch rebosarán deel objeto dela propiedad cuadro de diálogo.

STRETCHTOP 6-Línea

7-Shape

Se corresponde con el estiramiento en relación con objeto más alto del grupo en casilla de verificación en el objetopropiedad cuadro de diálogo.

TOP 1-Report Definition . T. = Área de impresión es la página entera

. F. = Área de impresión es la página para imprimir

Objetos de informe Corresponde a la corrección relativa al inicio de la banda de opción en el objeto de la propiedad 

FONDO 1-Report Definition . T. = Múltiples conjuntos de columnas se imprimen en orden de izquierda a derecha

. F. = Múltiples conjuntos de columnas se imprimen en orden de arriba a abajo

Objetos de informe Corresponde a la corrección relativa a la parte inferior de la banda deopción en el objeto de la propiedad

SUPTYPE Todo No se utiliza.

SUPREST Todo No se utiliza.

NOREPEAT Objetos de informe Corresponde a la línea de filtro si está en blanco

Page 59: Lo nuevo en Visual FoxPro 9.docx

verificaciónImprimir en el cuadro de diálogo.

9-Bands/Detail Corresponde a la cabecera detalle Repetir en cada páginacasillaDetalle cuadro de diálogo.

RESETRPT Todo No se utiliza.

PageBreak 9-Band/Title Página del título se imprime en su propia página.

9-Band/Group Header Se corresponde con el inicio de cada grupo en una página nueva casilla en la Agrupación de datos

9-Band/Group Pie de página Coincide con el correspondiente registro de encabezado de grupo.

9-Band/Summary Página Resumen se imprima en su propia página.

9-Band/Detail Header Se corresponde con el inicio de una nueva páginacasilla Detallecuadro de diálogo.

9-Band/Detail Pie de página Coincide con el correspondiente registro de encabezado detalle.

ColBreak 9-Band/Group Header Se corresponde con el grupo de inicio en la nueva columna de casilla de verificación en la Agrupación de datosdiálogo.

9-Band/Group Pie de página Coincide con el correspondiente registro de encabezado de grupo.

9-Band/Detail Header Se corresponde con el inicio de una nueva columnacasilla Detallecuadro de diálogo.

Page 60: Lo nuevo en Visual FoxPro 9.docx

9-Band/Detail Pie de página Coincide con el correspondiente registro de encabezado detalle.

RESETPAGE 9-Band/Group Header Se corresponde con el número de la página Restaurar a 1 para cada grupo de la casilla de verificación en ladatos cuadro de diálogo.

9-Band/Group Pie de página Coincide con el correspondiente registro de encabezado de grupo.

9-Band/Detail Header Se corresponde con el reinicio de número de página a 1 para cada detalle Establecer casilla de verificación en elde cuadro de diálogo.

9-Band/Detail Pie de página Coincide con el correspondiente registro de encabezado detalle.

GENERAL 17-Pictures Clip / Escala de ajuste:

0 = Clip1 = Escala de mantener la forma2 = escala y el marco de relleno

ESPACIO 5-Label 0 = Sencilla

1 = 1,52 = Doble

8-Field Siempre ajustado a 0 .

DOBLE 17-Pictures Corresponde a la foto Center casilla de verificación del objeto de la propiedad cuadro de diálogo.

1-Report Definition

Objetos de informe

. T. indica FontCharSet aplica a este objeto (Ver

SWAPHEADER Todo No se utiliza.

Page 61: Lo nuevo en Visual FoxPro 9.docx

SWAPFOOTER Todo No se utiliza.

EJECTBEFOR 9-Band/Summary Imprimir encabezado de la página.

EJECTAFTER 9-Band/Summary Imprimir pie de página.

PLAIN 1-Report Definition Corresponde a los Añade alias no seleccionados sóloopción en elGenerador de expresiones Opciones dediálogo. (Un valor de. T. tiene prioridad sobre el valor de ADDALIAS .)

9-Band . T. = Altura de banda constante

RESUMEN Todo No se utiliza.

ADDALIAS 1-Report Definition Corresponde a los nombres del grupo de opciones enGenerador de expresiones cuadro de diálogo.

. T. si agregue Siempre alias se selecciona el botón opción.

. F. si Nunca agregue alias se selecciona el botón opción.de. T. en el campo PLAIN tiene prioridad sobre este valor.)

DESPLAZAMIENTO 6-Línea Siempre 1.

7-Shape El radio se utiliza en objetos rectángulo redondeado (cuadro de diálogo predeterminado utiliza 12, 16, 24, 32 y 99).

8-Field 0 = Alinear a la izquierda

1 = Alinear a la derecha2 = Alinear centro

17-Picture Indica Archivo o campo general:

0 = Nombre de archivo (almacenado en el campo IMAGEN)

Page 62: Lo nuevo en Visual FoxPro 9.docx

1 = campo General (almacenado en el campo NAME)2 = Expresión (almacenado en el campo NAME)

TOPMARGIN Todo No se utiliza.

BOTMARGIN Todo No se utiliza.

TotalType 8-Field

18-Variable

Tipo de cálculo:

0 = nada1 = Cuenta2 = Sum3 = Promedio4 = Menor5 = más alto6 = desviación estándar7 = Varianza

RESETTOTAL Cuando TotalType <> 0

8-Field18-Variable

Determina cuando los cálculos se restablecen:

1 = Al final del informe2 = Al final de la página3 = Al final de la columna5 + = Al final del grupo de datos que es el número de grupo de datos (por ejemplo, 6 reinicia el cálculo en el grupo de datos 1, 7 restablece el cálculo en el grupo de datos 2, y así sucesivamente).79 + = Al final de la banda de detalle establece que es el número de la banda de detalle (por ejemplo, 80 restablece el cálculo en detalle Set 1, 81 restablece el cálculo en detalle Set 2, y el hijo de).

Cuando TotalType = 0

8-Field

Si una banda de detalle existe:

1 = Cambiar al interior del grupo / bandaSi existen múltiples bandas de detalle:1 = Cambiar a banda de detalle del objeto

Cuando TotalType = 0

18-Variable

1 = Cambiar al final del informe

RESOID 1-Report Definition Indica el FontCharSet que se aplica a este objeto (o el informe

Page 63: Lo nuevo en Visual FoxPro 9.docx

Objetos de informeglobal).

CURPOS 1-Report Definition . T. = Mostrar la posición está en ON

. F. = Mostrar posición está desactivado

SUPALWAYS 7-Shape Corresponde a la impresión repetida valoresopciones de impresión cuando el cuadro de diálogo, pero es al revés (tenga en cuenta que este campo y el campo SUPVALCHG se establecen para las formas).

. T. = No se

. F. = Yes

SUPOVFLOW Objetos de informe Corresponde al detalle cuando se desborda a la columna nueva página /casilla de verificación de la impresión cuandode diálogo.

SUPRCOL Objetos de informe Corresponde a la primera en toda la banda de la columna nueva página /cuadro de control de la impresión en(0 = sin control, 3 = activado).

SUPGROUP Objetos de informe Corresponde a los cambios Cuando este grupo decombinado desplegable.

El número es 5 + el número de grupo (por ejemplo, un 6 reimpresiones de Grupo de datos 1, un 7 reimpresiones de Grupo de datos 2, y así sucesivamente).

SUPVALCHG Objetos de informe Corresponde a la impresión repetida valoresopciones de impresión cuando el cuadro de diálogo, pero es al revés.

. T. = No se

. F. = Yes

SUPEXPR Objetos de informe Corresponde a la impresión sólo cuando la expresión es verdadera caja de texto en la impresión cuandodiálogo.

Page 64: Lo nuevo en Visual FoxPro 9.docx

USUARIO Todo Disponible para que el desarrollador utilice.

ConclusiónLa VFP 9.0 Report Writer tiene muchas características nuevas para ayudarle a crear mejores informes. Las características de extensibilidad de exponer el funcionamiento interno de la VFP Report Writer. Los nuevos entornos de datos reutilizables le permiten compartir datos entre entornos de informes.Diversos aspectos de los informes, como los objetos y bandas, se pueden proteger. Una mejor experiencia de desarrollo ha sido creado a través de la nueva interfaz de usuario. Las nuevas mejoras de diseño de objetos, características internacionales, mejoras de impresión y mejoras del grupo de datos ofrecen más opciones que anteriormente disponibles. Y, por último, la nueva característica de banda múltiple detalle abre muchas más opciones de informes. En conjunto, todas estas mejoras y mejoras le dan la capacidad de crear informes más complejos que nunca.

BioCathy Pountney es un Visual FoxPro MVP de Microsoft y ha sido el desarrollo de software desde hace 22 años, trece de los cuales eran como consultora independiente especializada en FoxPro. En 2001 tuvo el privilegio de pasar seis meses en un lugar contratista en Redmond con el equipo de Fox Microsoft. Actualmente trabaja para las soluciones óptimas en desarrollo aplicaciones de VFP para las escuelas. Cathy ha sido ponente en numerosas conferencias FoxPro y grupos de usuarios en los EE.UU., artículos escritos para diversas revistas, y su libro, The Visual FoxPro Report Writer: Empujar hasta el límite y más allá , está disponible en Hentzenwerke Publishing . Puede ponerse en contacto con Cathy en [email protected] , ver su sitio web enwww.frontier2000.com , y ver el sitio web de Optimal en www.optimalinternet.com .