Article

From:
To:
newsgroups.borland.com
Subject:
Re: Choosing report engine
Newsgroup:
borland.public.delphi.reporting-charting

Re: Choosing report engine


Thanks for your interest in ReportBuilder. The goal and philosophy of the 
product is to embrace the architecture and spirit of Delphi by providing 
both a RAD reporting tool and an extensible reporting class library. This is 
provides you with flexibility and extensibility that is not possible using 
Crystal Reports.

> 1. use the same generic code for all reports and select report by name (or 
> somehow else) at runtime

ReportBuilder provides the flexibility to
 - embed the report definitions into your application,
 - store the report definitions as .rtm files
 - store the reports to a report explorer database for use with our Report 
Explorer interface. (Looks like the windows explorer and is used organize 
reports into a folders and to print and preview reports).
- store the reports to a database table (name, report definition)

With regards to report code, you can use Delphi code or with RB Enterprise, you can optionally use RB's run-time Pascal environment that enables you to code event-handles that can be stored as part of the report definition - outside of your application exe. You can extend RAP with custom functions that you can share with all of your reports.
> 2. assign database queries (in some apps BDE, in some other - ADO) to the 
> report and its subreports at runtime;

ReportBuilder supports most database engines and data access component sets. 
You can work with external datasets that reside on a datamodule/form and 
ReportBuilder Professional and Enterprise include a visual data access 
environment that includes query designer tools.

ReportBuilder AutoSearch feature can be used to define search fields for which RB will automatically create and display an ask-at-runtime dialog. When RB's query tools are used to define autosearch critieria, RB can dynamically modify the SQL Where clause.
The visual query environment, DADE, also includes a non-visual SQLBuilder class that can be used to programmatically modify the SQL at run-time.
 3. embed word, excel, .bmp or .jpg file into the report at runtime;
RB includes built-in support for rich text (.rtf), bmp, and jpeg.
TRichView and WPTools are Delphi third-party products that provide integration to ReportBuilder. These products provide support for advanced rich text formats and html.
> 4. show in the report the image (.bmp, .jpg) taken from BLOB field;
>

There is built-in support for this. With RB's DBImage component, there is a 
property to specify the image format contained in the blob. The DBImage can 
also read datafields that contain a string to an image file patch on disk 
and load the image from file automatically.


> 5. export report into .pdf, word, excel, ascii when it is being generated 
> and after it was generated;
>

RB includes built-in support for .pdf, delimited text, report text, archive 
(.raf), preview, and print. Additional formats are provided by third-party 
products (www.waler.com, www.gnostice.com, www.rarefind.com)


> 6. manipulate data in the report during its generation: calculated fields, 
> showing/hiding report sections depends on data;
>
A ReportBuilder report is a composite object. The report layout consists of 
the Report.Bands[].Objects[] structure that can be defined by using the 
visual report designer and/or via run-time code. Each element in the report 
is a an object that has properties, methods, and events.

The included events provide extensive control over the report generation process. For example in the report.Detail.BeforePrint event you might want to conditionally color a total as red.
if myDataPipeline['Amount'] < 0 then   myDBText.Font.Color := clRed else   myDBText.Font.Color := clBlack;
> 7. spread records from left to right (similar to crosstab in Crystal - 
> analogue to excel spread sheet).
>

RB includes the ability to produce column based reports (up then down, or 
across then down) and Crosstab reports. There is a also third party Grid 
Pack component set available.


> 8. design report without having actual data ready in the database.
>

There are a couple of options here. You can use an empty dataset or you can 
create static fields for the DBPipeline component. You could also use a 
JITPipeline component and write code to get the dataset data later on.


Good luck in your evaluation! Download a trial version of RB, take a test driver and join the ReportBuilder community on our newsgroups at news.digital-metaphors.com. Below is a list of resources for learning RB.
--------------------------------------------------------------- Article: Resources for Learning ReportBuilder ---------------------------------------------------------------
1. Learning ReportBuilder is a complete learning system designed to teach end users how to build a range of reports, but it is also an excellent resource for the developer who is just getting started with RB. Learning RB includes a 125-page PDF file, a stand-alone application complete with a database, and a help file. The PDF file contains a set of tutorials, which can be completed using the provided application. Learning ReportBuilder can be downloaded from:
   http://www.digital-metaphors.com/LearnRB/LearnRB.exe
2. Learning to RAP is designed to teach end-users how to use ReportBuilder's Calc workspace to perform calculations and control visual aspects of the report while it is generating. Learning to RAP includes a 59-page PDF file and a stand-alone application complete with a database. The PDF file is comprised of a series of tutorials that step end users through the process of coding calculations and event-handlers to dynamically control report generation. The application is used in conjunction with the tutorials so that the learning experience is interactive. Learning ReportBuilder - RAP can be downloaded from:
   http://www.digital-metaphors.com/LearnRB/LearnRap.exe
3. Developer's Guide
When you install RB, this guide is automatically installed into the RBuilder\Developers Guide directory. It contains extensive conceptual information and step by step tutorials which show how to construct reports and reporting applications within the context of the Delphi IDE.

4. On-Line Help
Accessible via a single click of the F1 key from with the Delphi IDE, this reference resource explains the classes, methods, properties and events which make up the product. It is also an excellent source of information regarding installation, troubleshooting and version history.

5. Examples
There are a large number of example reports and reporting applications included with RB. These show how to accomplish some of the most frequently requested types of reports. In total there are probably over 200 different examples covering everything from crosstabs to full-blown end-user reporting solutions. The RAP functionality included with ReportBuilder Enterprise has a separate set of demos, tutorials, and help files.

6. news.digital-metaphors.com
The newsgroups are very active with both Digital Metaphors engineers, TeamDM members (volunteers specially selected for their knowledge of RB and their willingness to help) and RB developers all pitching in to answer questions and help each other out. There is also a Tech Tips 'newsgroup' maintained by DM Engineers which lists over 100 different articles outlining various tips and techniques. Probably the easiest way to connect to the newsgroups is to surf the digital metaphors site, go to the support section and click the newsgroup of your choice:
http://www.digital-metaphors.com/Subpages/Support/newsgroups.html

ReportBuilder newsgroup archives may be searched using a search engine hosted by Tamarack Associates. Access the the following URL and then search the Borland Newsgroup database. Tamarack has indexed the ReportBuilder newsgroup archives in this database.

http://www.tamaracka.com/



7. ✉digital-metaphors.com
When you are working on the really advanced stuff, and need an additional point of view, we're always glad to help.


-- Tech Support mailto:✉digital-metaphors.com Digital Metaphors http://www.digital-metaphors.com
"newsgroups.borland.com" <✉interlog.com> wrote in message 
news:447e1442$✉newsgroups.borland.com...
> We have been using Crystal Reports as our report engine for 5 years and we 
> aren't happy with this even though they've fixed a lot since version 7.
> We think of switching to something else but because the way how we use 
> reports is rather complex we need the report engine to be very flexible 
> and sophisticated. We keep reports and their subreports information in the 
> database (report name, report file name, database query, etc.) and have 
> one generic code to take care of all our reports (about 110 altogether).
>
> As I can see there are three major report engines on the market today: 
> Rave, Fast Reports and Report Builder.
> If some of them was able to do the following we would probably switch to 
> it:
>
> 1. use the same generic code for all reports and select report by name (or 
> somehow else) at runtime;
>
> 2. assign database queries (in some apps BDE, in some other - ADO) to the 
> report and its subreports at runtime;
>
> 3. embed word, excel, .bmp or .jpg file into the report at runtime;
>
> 4. show in the report the image (.bmp, .jpg) taken from BLOB field;
>
> 5. export report into .pdf, word, excel, ascii when it is being generated 
> and after it was generated;
>
> 6. manipulate data in the report during its generation: calculated fields, 
> showing/hiding report sections depends on data;
>
> 7. spread records from left to right (similar to crosstab in Crystal - 
> analogue to excel spread sheet).
>
> 8. design report without having actual data ready in the database.
>
>
> Thanks in advance, I appreciate any comments.
>
> Sincerely,
> Valery
> 
FYI: Phrase searches are enclosed in either single or double quotes
 
 
Originally created by
Tamarack Associates
Thu, 28 Mar 2024 11:59:35 UTC
Copyright © 2009-2024
HREF Tools Corp.