Nevrona Rave Reports v12.0.1 for Delphi 11 Alexandria Source Code
The Rave Visual Report Designer is a component-based system specifically written with reporting in mind. Rave's total page-based layout offers a more intuitive visual interface when compared to traditional reporting tools that only offer a banded view.
End User Report Design Capability (Architect Version)
If your end users need to modify or create reports, they will have
full access to the set of design capabilities since Rave is completely
self contained and doesn't rely on items such as Delphi's
Object Inspector or other Delphi designer tools.
Project Style Report Management for Large Applications
Most applications have more than one report in them. In fact, many applications have dozens
or even hundreds of reports. Why should you be forced to manage your reports one at a time? That's why we
built Rave around the concept of a reporting project, allowing you to quickly create, modify and maintain all reports in your application.
Reuse and Maintenance Tools
Reports often take a large part of the development time for an application. Many times, there are 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 (including children components). The two components can be on the same page, across pages within the same report or on a global page that is accessed by many separate reports.
Code Based Printing Library for Ultimate Flexibility
With Rave's code-based system, numerous Delphi components and over 500 methods, properties and events provide complete control over any aspect of your printing and reporting process. Code-based printing is used by many of our customers to create fast and maintainable reports that would be impossible to do without coding directly to TPrinter or the Windows API, while hiding all of the nasty details that those latter approaches require. The code-based printing library can also be used in an application with simple printing requirements for an extremely small memory footprint.
Report from Traditional Database Sources or Code Based/Calculated Data
Database access is done through Rave's advanced Data Connection System. Whether you want direct-to-SQL data connections or if you want to access data that is accessible to your Delphi or C++Builder application, Rave can handle it. You can even access custom, non-database data such as memory arrays or record structure files. One very unique feature of Rave's data connection system is it's ability to run reports from data connections that are not even in the same application. So if you are creating an accounting system with separate General Ledger, Payroll, A/R and A/P executables, you could create reports that access and join data from each module.
Rave supports Rad Studio, Delphi and C++Builder versions 7.0, 2005, 2006, 2007, 2009, 2010, XE, XE2, XE3, XE4, XE5, XE6, XE7, XE8, 10.0 Seattle, 10.1 Berlin and 10.2 Tokyo. Full source code for everything that is compiled into your application is provided. Rave Reports is written in 100% Delphi code and was originally released as the product ReportPrinter Pro back in 1996 for Delphi 1.0. Since then we have added many new features but have worked hard to maintain compatibility as you upgrade you applications through newer versions of Delphi, C++Builder and operating systems.
Choosing the right reporting tool is a very important task! Reports are the most permanent and visible aspect of your application, often seen and used by many who do not even use your software. Reports are also the primary means for your customers to retrieve information from their data.
You need to choose a reporting tool that will allow you to create great looking, informative and efficient reports. You also need to choose a reporting tool that is easy to use yet at the same time remains flexible and powerful enough to grow with your application's development and meet your customer's future demands. You need Rave 11.0!
Rave has always stood for unsurpassed power, flexibility and speed. Now it combines those essential requirements with the easiest yet most powerful visual design environment available. Please join us for a short tour of some of the features of Rave 11.0, and see for yourself why it should be your choice for your application's reporting tool.
Rave Reports is for programmers using Embarcadero's Delphi and C++Builder development platforms. Rave contains not only the Rave visual designer, but the code based report library as well. Reports created with Rave can be compiled into your applications or stored externally on disk or in a database. An optional End User Designer License (Architect version) provides for the distribution of the Rave designer in addition to the reports within your application. Rave supports common Delphi databases like Interbase, BDE, and Advantage but it can easily work with any data that you can access from your Delphi/C++Builder application.
How is Rave Reports different from other reporting tools?
Rave Reports was created to give you complete control over the printing and reporting process while making it easy to create efficient and maintainable reports. Our philosophy behind every feature we add to Rave is to give you the most functionality in the most efficient code possible. You can see this philosophy in the attention to detail that is put into every Rave feature. You'll benefit from this philosophy as you create reports with Rave and find a system that is flexible and powerful enough to handle anything you throw at it. You'll also benefit from Rave's amazingly small footprint (50K minimum up to 300K for complete code-based and visual functionality) and unsurpassed execution speed.
Rave is actually two products in one, a code-based printing engine and a visual reporting interface called RAVE (described in the rest of this document). With Rave's code-based system, 14 Delphi components and over 500 methods, properties and events provide complete control over any aspect of the printing and reporting process. Code-based printing is used by many of our customers to create fast and maintainable reports that would be impossible to do without coding directly to TPrinter or the Windows API, while hiding all of the nasty details that these latter approaches require. The code-based printing library can also be used in an application with simple printing requirements with a small footprint. If you are looking for a visual reporting tool, then read on and we guarantee you won't be disappointed.
Our visual report designer, Rave (Report Authoring Visual Environment), is a component-based designer specifically written with reporting in mind. Rave's page-based layout offers a more visual interface when compared to traditional designers that only offer a banded view. If your end users need to modify or create reports, they will have full design capabilities since Rave is completely self contained and doesn't rely on items such as Delphi's Object Inspector or other Delphi designer tools. Also, Rave allows you to work with a reporting project where you can store and share items between all the reports of your application in a single file. These and many other exciting items will be described in more detail in the following sections.
End User Functionality
If you need to give your end users the capability to create or modify their own reports, then look no further than Rave. As was mentioned earlier, Rave is completely external to Delphi and does not rely on items such as Delphi's Object Inspector or other designer tools. This means that instead of providing your end users with a watered down version, you can give them just as much functionality as you, the programmer, have. Now if your end users aren't quite at the power user level, never fear, Rave has three different levels, Beginner, Intermediate and Advanced, that allow your end user to select the functionality level that they are comfortable with.
If you don't think your customers can handle the Beginner level of Rave, Report Wizards can provide the ability to create all the reports your users will ever need. Rave comes with a few wizards already (see sample shown at right), but with Rave's unique open architecture, you can create reporting wizards specifically tailored to your customer's needs. Then you can dynamically install them in the visual designer and/or call them directly from your application. In fact, a special location on the Nevrona web site will soon be created specifically for downloading custom reporting components and wizards that are created by either Nevrona Designs or other Rave users. The end user designer is available in the Architect version of Rave Reports and it comes with an unlimited distribution count license so you don't have to worry about paying royalties.
Direct Database Access
Database access is done through Rave's advanced Data Connection System. Rave can print any data that is accessible to your Delphi or C++Builder application and can even be used to print non-database data such as memory arrays or record structure files using the TRPCustomConnection component. You create a data connection by hooking a data connection component, such as TRPDataSetConnection, to a TTable component (TQuery, TClientDataSet and 3rd party dataset descendants are also supported) and giving it a unique connection name. Then, in your report project, you create a data view with that same connection name and you're all set. Now when you execute a visually created report, it goes through the data connection component and accesses your data from your application. One very unique feature of Rave's data connection system is it's ability to run reports from data connections that are not even in the same application. So if you are creating an accounting system with separate General Ledger, Payroll, A/R and A/P executables, you could create reports that access and join data from each module.
Another important aspect of Rave's data connection system is it's efficiency in the way it accesses your data. Many advanced reporting options such as Rave's KeepBodyTogether or Orphan control properties require quite a bit of backpedalling when the data won't fit on the current page. Most other reporting tools use database features such as bookmarks to backtrack through the table and end up reading the same data from the database again and again. Rave uses an advanced buffering system so that as far as your database is concerned, Rave only reads from the first record to the last in one continuous motion. This is especially useful if you happen to be reading data from a source that doesn't have bookmark support such as memory arrays or record structure files. Rave's buffering system also solves a rare but dangerous problem that haunts other reporting systems. If a change is posted to the data that the report is backtracking through, the report may not be able to resolve the differences or even worse may print incomplete or incorrect data. Fortunately this is not a problem with Rave.