|
|
Rave 8.0
Visual Report Designer |
|
|
La Tecnologia
di Reporting Definitiva - Vedere per Credere per i RAVE Visual Developer
|
|
| Gli strumenti di layout visuale di Rave attraggono instintivamente i designer non adusi alle banded view. Quando gli utenti modificano o creano report, avranno bisogno solo dell' approccio self-contained di RAVE che non ha bisogno di altri strumenti di design. Se gli sviluppatori non sono proprio al livello power-user, RAVE ha un livello beginner, intermedio, e avanzato per venire incontro a tutti. Le sezioni possono essere bloccate fino al minimo livello così che solo il Report Administrator possa modificare il report in tutto o in parte, permettendo solo il giusto livello di controllo all' utente finale per dargli la massima flessibilità con il minimo rischio di eventi disastrosi, per così dire. | |
| E se il livello beginner fosse ancora troppo, ci sono Report Wizard per lasciar creare all' utente tutti i report che vuole. I RAVE wizard sono pronti a fare magie sin da subito. Il vantaggio dell' uso di RAVE è ancora più evidente dall' uso del concept di Nevrona "The Reporting Project" - la capacità di salvare e condividere oggetti da report multipli e correlati in un singolo file che ne semplifica la manutenzione e riduce grandemente il tempo richiesto per fare cambiamenti globali. | |
| Il Reporting Project | |
| Tutte le applicazioni hanno più di un report. Effettivamente, molte ne hanno dozzine o centinaia. Perchè gestire i report uno alla volta? Per questo Rave è stato creato intorno al concetto di reporting project, permettendo di creare, modificare e manutenere tutti i report di una applicazione. Non si ha a che fare con molti file separati dato che un reporting project viene salvato in un singolo .RAV file. Dato che i file .RAV possono essere esterni all' applicazione, si può aggiungere o cambiare report senza senza dover ricompilare l' applicazione ogni volta. Se non si vuole un file .RAV esterno, nessun problema, il file si può piazzare ovunque compreso un campo blob in un database. | |
| The Project Tree (shown at right) provides an efficient way to visually manage all of the reports in your project. It quickly tells you the structure of your reporting project and the types of components contained on each page with icons that are the same as the component buttons. The Project Tree also visually shows parent-child relationships, the print order of component as well as the current selection (green check marks). You can select components by clicking on the component in the page designer or Project Tree. Non-visual components appear only in the Project Tree so they won't clutter up your report design. |
![]() |
| There are three main sections in the Project Tree: the Report Library, Global Page Catalog and Data View Dictionary. Reports themselves can contain any number of page definitions. Global Pages are used to hold items that you want accessible to multiple reports. Global Pages are discussed further in the topic, Reuse and Maintenance Tools. Data Views contain your field definitions and provide a link to the data in your application. Data Views are discussed further in the DataBase Access topic. | |
| Design Tools | |
| Rave is all about easy management. Besides making reporting easy and organized, Rave likes to keep itself organized and all according to what you want. | |
![]() |
|
|
Since Rave is designed to be of ease to you there are three easy three ways for you to manage the many toolbars within Rave, which are: Tab-docking, normal docking and free-floating of toolbars. You will be able access any of the toolbars according to what is easy for you. Rave's many toolbars make it easy to design even the most complicated report. The toolbars include: Project, Designer, Zoom, Alignment, Color, Line, Font, Standard, Drawing, Report and Barcode component toolbars. Since it is possible to create and install new components, you may have other component toolbar buttons in your designer. |
|
|
The Project toolbar provides quick access to
project level function such as New Project, Project Open, Project Save,
New Report, New Global Page, New Data View, New Report Page or Execute
Report.
|
![]() |
|
The Designer toolbar allows you to change
the characteristics of the page designer such as whether the grid is
being shown, snap to grid, draw grid on top, auto-remove component
toolbars and show band headers. The last button brings up Rave's
extensive Preferences dialog which is described later.
|
![]() |
|
When you are
working on a report with a complex design, you will find it much easier
if you become familiar with the Zoom toolbar
which gives you quick access to Rave's extensive zooming capabilities.
Select the zoom percent from a drop down list, type it in or use the
Zoom Tool, Zoom In, Zoom Out, Zoom Selected, Zoom Page Width or Zoom
Whole Page buttons.
|
![]() |
| To help keep your report looking professional, Rave's Alignment toolbar provides access to a whole host of options to micro-manage the components on your page. The Left/Top, Center, Right/Bottom, Center In Parent, Space Equally, Equate Widths/Heights options offer the traditional alignment options. The Move Forward, Move Behind, Bring To Front and Send To Back order movement buttons allow you to change the print order of components and is visually backed up by the listing of the components in the Project Tree. Lastly, the buttons Tap Left, Tap Right, Tap Up and Tap Down allow you to micro-adjust the position of components to the exact position you need. | |
![]() |
|
| The Color toolbar allows you to quickly select the primary and secondary colors of your components. There are 8 color spots that you can use to store any custom colors that you will be reusing throughout the project. If the colors available aren't enough, you can double click on the custom color palettes and create a different color using Rave's Color Editor (shown at right). With the Color Editor, you can select from a wider variety or colors or create your own combination of Red, Green and Blue and even select a percent saturation for the current color. |
|
![]() |
|
| The Line toolbar is a useful tool for changing the line/border thickness and style for components such as Line and Circle. Sizes are listed in points instead of pixels so that your lines will always be the same thickness on your reports no matter the resolution of the printer that you are using. |
![]() |
|
The Font toolbar provides quick access to a text component's font and alignment properties. It can also be useful for quickly viewing the font options for the currently selected text component(s). |
![]() |
| The Font Editor provides quick access to a text
components font and alignment properties. It can also be useful for
quickly viewing the font options for the currently selected text
component(s). The Standard, Drawing, Report and Barcode Component ToolBars are discussed in following topics. |
|
| Reuse and Maintenance Tools | |
|
Reports often take a large part of the development time for an application. Many times, there are many similarities between the design of separate reports. Wouldn't you like a way to reuse portions of a report in another? This is where Rave's Mirroring technology comes in. When a component is set to mirror another, it assumes the appearance and properties of the component it is mirroring (see the example to the right which shows an address block being mirrored in an international and US address template). The two components can be on the same page, across pages within the same report or on a global page. This is the primary purpose of a global page. You can almost think of it like Delphi's Object Repository, a central location for you to store reporting items that you want accessible to more than one report. If the component is a container control like TRaveSection (similar to Delphi's TPanel), all child components are mirrored as well. When the original component changes, all mirroring components will also change. While the mirrored component cannot change it properties, you can add additional components if it is a container control. |
|
| Here are just a few examples of where Mirroring would be useful: | |
|
Your customer wants a standard page header and footer on every page of their 50 reports. Now imagine you have all the reports done and your customer wants to change the layout of the headers and footers.
|
|
|
You have to replicate a pre-printed form. The problem is there are 6 different variations of this form with only minor differences between each.
|
|
|
Since we designed Rave to handle even the most complex report designs, we also built in Component Level Locking to allow you to safeguard sections of your report that are complete and tested. This definitely helps out in the maintenance phase of a report project where an accidental movement of a component may not be noticed until your customer goes to print out the report and stuff just isn't where it is supposed to be. You can lock individual components, pages, reports and even the whole project itself. |
|
| While the FontMaster Component will be described later in the Standard Components topic, it's primary purpose is to help you reuse and maintain font settings in your report. Every text component has a FontMirror property which you can assign to a FontMaster component. This will allow you to change the fonts of many text controls from a single location. Imagine having Header, Body and Footer FontMaster components on a global page and changing the appearance of all of your reports with just a few mouse clicks. | |
| Another important aspect of maintaining any large project is documentation. The Project and every Report, Page, Data View and Data Field component has a multi-line Description Property that can be used to comment the intended usage or other information. This can be useful if you are coming back to a project that you last worked on 6 months ago or especially if another programmer or your end user will be modifying reports that you created. | |
| Standard Components | |
| Text - This component is used to display fixed text on your report for items such as column headers or report titles. |
![]() |
|
Memo - This component is used to display fixed text in a word wrapped fashion on your report. Using the MailMergeItems property and the Mail Merge Editor shown below, you can create a mail merge type of report where Rave will replace tokens in the memo text with a replacement string. Note that this replacement string can be edited with the Edit button which will display the Data Text Editor for quite a bit of extra functionality. Section - This component doesn't really do anything except act as a container for other components. By properly using section components and mirroring, you can create reusable and maintainable reports in no time flat. Bitmap - This component is used to display a bitmap (*.bmp). Through the FileLink property you can reference a file on the hard disk. MetaFile - This component is used to display a metafile (*.wmf). Through the FileLink property you can reference a file on the hard disk. FontMaster - This component is used to control the font characteristics of any text control through their FontMirror properties. See Reuse and Maintenance for more information. |
![]() |
| Drawing Components | |
|
Line - Draws a diagonal line. (This may not seem like a unique feature but did you know that most Delphi reporting tools cannot create a diagonal line visually.) HLine - Draws a horizontal line. VLine - Draws a vertical line. Rectangle - Draws a rectangle. Square - Draws a square. Ellipse - Draws an ellipse. Circle - Draws a circle. |
![]() |
| Reporting Components | |
| TRaveRegion - This component acts as a container for band and databand components. To create a composite or sub-report, simply drop more than one region on a page and add the appropriate bands to each. |
![]() |
|
Band - This component is primarily used to create header and footer bands in a banded style report. A band component can only be created within a region and it's purpose is controlled through the Band Style Editor shown below. The Band Style Editor displays a virtual layout of all of your bands for the given print locations of each band or data band. Note that you can create as many band as you like and a band may print in multiple locations if the report design requires it. So for example, if you want a solid horizontal line to appear above and below a detail body, you could create a single band and set it to print on both the Body Header and Body Footer. You can also control the Print Occurrence for a band, having it continue on a new page or column or any combination of occurrence settings. You can set a band to group on specific fields and can create as many different types of group headers or footers as your report requires. Basically, with Rave's band and databand components, you'll be able to create just about any banded style layout that you can imagine. DataBand - The databand component is fairly similar to a band component except that it is tied to a particular data view and iterates across the rows in the data view. You can link data bands together for master-detail to unlimited levels or multiple details on the same level. Some advanced features that are supported by a databand include KeepBodyTogether, KeepRowTogther, StartNewPage, MaxRows and Orphan/Widow control. |
![]() |
| DataText - The datatext component is the primary means to output fields from your database. You can quickly select a specific dataview and data field with Property Panel or use the Data Text Editor shown below to create any combination of string constants, data fields, report variables or project parameters. The & concatenation operator is the same as the + operator except that it also inserts a space. Report Variables are items such as total pages or current date and time in a variety of formats. Project Parameters are custom variables that you create and initialize from your Delphi application. Project Parameters can be used for items such as user defined report titles, printing the current user name or other custom information. | |
| DataMemo - This component is very similar to TRaveMemo except that it retrieves it's data from a data field. DataMemo's print text data out in a word wrapped fashion and the data field can be any text type, not just memo fields. It also has RTF and mail merge support. | |
| CalcText - This component is used to perform simple operations such as Sum, Average, Count, Min and Max on a data field. You can set the value as a running total and place it in any type of band or anywhere on the page) you need it. | |
| TRaveDataMirrorSection - The data mirror section component is similar to Rave's normal section component with one major difference, it will dynamically mirror another section depending upon the value of a data field. You configure the data mirror section using the Data Mirror Editor (shown below). This component is very useful for printing out data that has different formats depending upon the type of data. One example is an address field that could print a US format if the country field is "US" and an international format otherwise (using the Default option in the Data Mirror Editor). You could also print boolean field values with your own custom bitmaps. | |
![]() |
|
| Barcode Components | |
|
PostNetBarCode - Prints a US PostNet bar code. I2of5BarCode - Prints Interleaved 2 of 5 barcodes. Code39BarCode - Prints standard and extended Code 39 barcodes. Code128BarCode - Prints A, B and C Code 128 barcodes. UPCBarCode - Prints UPC-12 barcodes. EANBarCode - Prints EAN-13 barcodes. |
![]() |
| Anchors | |
| Anchors are a powerful way to create a report that dynamically adjusts to changing sizes. This allows you to create reports that can print well whether the user selects landscape or portrait, 8.5" by 11" or A4. There are 6 different anchor values for both the horizontal and vertical dimensions to allow you to control each component in exactly the manner that it needs. The Anchor Editor (shown at right) even shows you a helpful bitmap of how each anchor setting works. |
![]() |