ReportBuilder Enterprise v19.02 Build 243 for Delphi 10.1 Berlin

With ReportBuilder Enterprise, you get everything included in ReportBuilder Professional, plus the RAP language, which allows developers and end users to code calculations and complex event handlers at run-time. RAP enables the entire report definition (data, calculations, and layout) to be stored outside of the application executable.

In ReportBuilder Enterprise, the goal is to deliver a full-fledged reporting solution to end users. This goal is achieved by delivering visual, easy-to-use solutions in each of these four areas. This screen shot of the ReportBuilder Report Designer shows the ergonomic design of the user-interface.

Within the work environment of the Data tab, end users can quickly create dataviews, which can then be used to supply data to reports. Dataviews are usually created via the Query Wizard or Query Designer. Both of these tools are visual; they also allow the end user to select the tables, fields, search criteria, and sort order necessary for the report. Behind the scenes, an SQL statement is generated and used to retrieve the data from the database. A screen shot of a completed dataview is shown below.

The solution described above is the standard behavior within the data workspace. However, the developer can customize this user-interface by doing one of three tasks:

1. Register a replacement query wizard or query designer.
2. Remove the query wizard or query designer.
3. Create new dataview template classes that can simplify the data selection process even further by establishing the relationship between the tables in the database and presenting an alternative user-interface (such as a single form that allows search/sort criteria to be entered).

Each of the four areas of reporting has a representative notebook tab containing a visual environment for the creation and configuration of components within that area. The results of each area then become inputs to the next area: data feeds into calculations, calculations feed into components within the report layout, and the report layout is rendered into a preview of the report. The implementation used by ReportBuilder Enterprise for each area of reporting is described below.

Within the work environment of the Data tab, end users can quickly create dataviews, which can then be used to supply data to reports. Dataviews are usually created via the Query Wizard or Query Designer. Both of these tools are visual; they also allow the end-user to select the tables, fields, search criteria, and sort order necessary for the report. Behind the scenes, an SQL statement is generated and used to retrieve the data from the database. A screen shot of a completed dataview is shown below.

Calc (RAP)
The Calc workspace is used to manage the RAP code associated with the Report. The Calc workspace contains a tree view of the report, all the bands within the report, and all the objects within each band. When a band or component is selected, all the events for that component are shown in a list. The user can then select an event and code the event handler in the syntax-sensitive code editor at the bottom. The following screen shot shows an OnPrint event as coded for a Line component.

This screen shot shows the Calc workspace in its most feature-rich and complex configuration. Development work completed here can be passed on to end users so that they can modify it, locked down so that end users can only view it, hidden completely so that end users do not know it is there. The most scaled-down version of the Calc tab is provided by the dialog only interface, where no Calc tab exists at all, and a single syntax-sensitive code-editor dialog is accessible from the Calculations menu option of the variable component. The user-interface and behind-the-scenes architecture has been made highly scalable in order to meet the various needs of developers.

The Design workspace contains the actual layout of the report. The user-interface is identical to the one presented to developers using ReportBuilder at Delphi design-time; in other words, it is full-featured and professional. The Office97 interface-style makes the Design workspace especially easy to learn for end users. A Report Wizard is available for creating reports quickly. You can customize this interface by replacing any of the dialogs it uses and by registering your own report wizards.

The Preview workspace contains the rendered report. The report can be printed to the printer or to various file formats from this workspace.

ReportBuilder 19 now available!


New AutoSave / Recovery for report layout Periodically autosave to AppData\Local\RBuilder\Report_autosave.rtm Clear on close of designer, but if crash the file remains Check for file when designer opens, prompt user to recover RBuilder.ini Designer Preferences for AutoSave, AutoSaveInterval

New View | Margins for workspace Display page margins for layout workspace Store ShowMargins preference to RBuilder.ini

New Sort DataPipelines in DataTree Right-mouse on DataTree to Sort

New set Report.SaveAsTemplate True for TppDesigner Show/ShowModal

User Interface

New ThemeManager, use Default theme when no RBuilder.ini New RichText double-click to launch RTF Editor New Subscription reminder at Delphi design-time New Update serial number from within About Box


New Right-to-Left language support New RTLReading Boolean for Text, Memo, Crosstab, RichText.Paragraph Output device support for screen, printer, pdf, html


New IndySMTP.UseTLS boolean property Uses port 587 and TLS/SSL required for GMail, Office365 etc.

Output Devices

New Xlsx architecture to optimize performance and minimize memory Optimized for exporting big data (large number of pages/rows) New Xlsx support for Title, subject, Author, etc. New Xlsx hyperlink support for text and images New Html font family fallback support Only convert text to images for symbol fonts (wingdings,..) Improved Printer, use GetDefaultPrinterName instead of GetProfileString API New PDF form button support added Submit and Reset button options added Submit option sends form field info over HTTP via POST or GET Submit option supports executing Adobe supported jР°vascript

New PDF form field settings property (FormFieldSettings) New PDF form field character limit property (FieldMaxLength) New PDF form field Read-Only property (FieldReadOnly) New PDF form field field title property (FieldTitle) New PDF form field form submit info property including jР°vascript, SubmitMethod, and URL properties. New PDF right-to-left text support New PDF file attachment support Attach external files to exported PDF files New PDFAFormat property to define which PDF/A standard to use. New PDF/A-2B, PDF/A-3B, and PDF/A-3B ZUGFeRD support New PDF/A2, PDF/A3, and PDF/A3-ZUGFeRD file devices Improved PDF/A now supports embedded font subsets with Unicode encoding Improved PDF SetMapMode support added for PDF metafile reader


Optimized component SaveOrder calc, when exporting to XlsData, Delimited file New left to right columns support for toggling Band.Visible


New DataPipeline FieldLink.IgnoreTrailingSpaces boolean


New Thumbnail Viewer highlight current page New AccessoryToolbar (Outline, Thumbnail, Text Search) .ini support


New TableGrid undo support, improved Undo architecture New Border.Padding property (margin) and implement in DrawInfo (ppCtrls) Improved accuracy for diagonal lines (screen, preview, PDF) Improved RichText performance (speed) and stability for scrollable page preview New Viewer.AbsolutePageCount property New ArchiveReader support for file path variables such as ($MyDocuments) New PreviewFormSettings.SaveWindowPlacement property, default True New Rotated Wrapped Text support for Labels (increments of 90 degrees) New Aztec Code barcode support New QRCode ECI support for multiple binary charsets


New Dade FieldLink.IgnoreTrailingSpaces based on database type


New Cut, Copy, Paste options added to the Report Explorer Tool buttons, menu options, and popup menu options added


New RAP Code Editor copy/paste option to include procedure/function declaration New RAP RTTI for TStringList.Delimiter, DelimitedText, QuoteChar New run-time error checking for missing parameter value in program call

REST and Mobile

Enhanced to force nbBlankReport for no data condition Enhanced viewer to work around WebBrowser bug on Windows platform.

*features may vary by ReportBuilder Edition and Delphi version *RB 19 includes support for Delphi versions: Delphi 10.2 Tokyo, D10.1 Berlin, D10 Seattle, XE8, XE7, XE6, XE5, XE4, XE3, XE2, D2007, D7


Designer – Wizards, Fix for window management when app minimized – Label Wizard, When listbox item selected, update Label description

RCL – TableGrid, Adding a Column (Cols.Add) did not assign Units – TableGrid, Fix for CellAttributes feature, it was only updating borders – RTF, Re-added fix to improve accuracy of exported RTF – Text/Memo, Added ‘default False’ keywords to RTLReading prop declarations

DataPipeline – DataPipline[‘FieldName’], when dtLargeInt null, default to 0

Engine – Threading, When no printers installed screen printer can get corrupted – Clear page cache when PrinterSetup changes – Publisher, Added try..finally to EndJob/CancelJob to better handle exceptions

Output – Thread-safety, Extensive mods to lock/unlock bitmap canvas – Graphics, Mod to render images the same for preview as for print/pdf – Preview, When no printers installed screen printer can get corrupted – Preview, Added checks to prevent list out of bounds errors – Printer, Mod to handle case when Copies is set to 0 – Archive, Fixed loading error for old archive files – PDF, Files could be cut off in some rare cases – PDF, Creation date did not take Daylight Savings into account – PDF, Improved support for PDF standard fonts – PDF, Rotated wrapped text not aligning correctly – PDF, Creation date and File ID not written – Xlsx, Default font not assigned to workbook default style – Xlsx/Xls, Fix AV that can occur when exporting rich text – Xlsx/Xls, Re-add fix for change in page orientation – Xlsx/Xls, Fix index out of bounds when exporting large reports w/rich text

RAP – RTTI, Added code to register enum TppPageDisplayType

DADE – Wizards, Fix for window management when app minimized

– SQL, Calc expression fix to allow quoted ‘as’ references, for example ‘not as good’ – SQL, Fix SQL generation for mySQL, SQLite when parameters are dtBoolean


support, report, ReportBuilder, property, workspace, screen, users, interface, Delphi, field, layout, Designer, Improved, Enterprise, added, within, calculations, component, Report, which, support, report, ReportBuilder, workspace, property, screen, users, interface, Delphi, field, layout, Enterprise, Improved, Designer, within, added, calculations, event, Report, which