RBAddOn 
Components For ReportBuilder

RBAddOn is a set of components from Roberts Browne Limited designed to work with Digital Metaphors ReportBuilder. The component set consists principally of a set of RCL components that can be dropped into a report and work in conjunction with existing ReportBuilder components. There are three non-report components designed to enhance the capabilities of the reporting components. In order to use this component set you must have licensed versions of Delphi and ReportBuilder.

Most RBAddOn report components descend from the ReportBuilder tppStretchable component and therefore support the ShiftRelativeTo and Stretch properties. In addition the components support ParentWidth and ParentHeight properties. Plain text components also support the Autosize property. A list of the principal components appears at the bottom of this section.

While many of the components replicate the behavior found in their ReportBuilder counterparts they typically offer additional functionality. The plain text and rich text components, both static text and db versions, provide enhanced merge capabilities. Fields from any pipeline, not just the report pipeline, can be used as merge fields and can have an associated display format. In addition merged text can include merge fields which will also be processed.

Extended support is provided for the DisplayFormat property and mail merge display formats. This support makes it very easy to construct properly formatted names and addresses based on multiple database fields. Formats are also available for printing cheque (check) amounts as words, and currency fields with left & right padding.

All text components have an AlternateTransparent property. When set the property will cause the component to toggle its transparency each time it is printed. This can be used, for example, to produce detail sections with an alternating background color.

The tRBText component also introduces properties to control printing on odd and even pages. Double sided reports can use this property to generate opposing headers and footers.

All text components support the KeepTogether property. When set, the component's text will not be split across page boundaries.

The tRBCodedField component can be used to print text in place of a numeric value. Used in conjunction with the tRBSystemPipeline control the component can be used to print different text on each copy of a report.

TRBPageBreak can be used to automatically force a new page when less than a specified amount of space is left on a page. An event is available that can be used to programmatically cause page breaks when desired. Components that ShiftRelativeTo a page break will, of course, then start printing on a new page.

There are six components in the package that are designed specifically for printing traditional calendar layouts. Designed to work in conjunction with either the tRBCalendarDataSet or tRBCalendarPipeline these components provide capabilities for printing many different styles of 7 day by six week calendars.

The tRBSytemPipeline is a tppDataPipeline descendant that provides access to a variety of system information and supports user defined calculations. The pipeline component provides this information to DB aware and merge capable report components as field data. Data available includes: master page count, master  page number, group page count, group page number, copy count, current copy number, current date and time, print date and time, report name, template name, Windows Username, RBAddOn version, ReportBuilder version, and application copyright, company name, version, and description.

The tRBCalendarDataSet is a tDataSet descendant while tRBCalendarPipeline is a tppDataPipeline descendant. Both components provide the same functionality. The latter is slightly more efficient while the former allows other data sets to be linked as detail tables. Given a starting and ending month both components provide a stream of records, one for each day, that can be used to print calendars. Data can be provided in either traversal method supported by ReportBuilder. The components calculate the first date that will appear on a 7 day by 6 week calendar and provide 42 records for each month in the range. In addition, the components can be configured to simply provide a single record for each day in the range of dates.

All of the report components provide pop-up tool windows that allow for the non-modal setting of component properties. Collectively these forms are called Properties Editors and support is provided to register new editors either for each class, descendant classes, and/or particular component instances.

A number of visual components are included in the package to support the development of Properties Editors. These include font name, color, pen style, pen mode, brush style, and shape combo boxes, a numeric edit, a numeric spinner, and a boolean property check list are also included.

The components in the RBAddOn package include:

tRBText - prints plain text provided at design time, includes merge capabilities

tRBDBText - prints plain text taken from a database field, includes merge capabilities

tRBRichText - prints rich text provided at design time, includes merge capabilities

tRBDBRichText - prints rich text taken from a database field, includes merge capabilities

tRBDBCalc - prints a value calculated from a database field, includes average, sum, count, minimum and maximum

tRBCodedField - prints plain text (specified at design time) based on the value of a numeric database field

tRBPageBreak - conditionally forces a page break based on space left on a page or when instructed by the program

tRBDBFieldName - prints the field name if the field contents are not zero or blank

tRBShape - prints a shape: rectangle, rounded rectangle, square, rounded square, circle, and ellipse

tRBLine - prints a line: single or double line in several different styles

tRBCalendarText - descendant of tRBText that can have different font characteristics for each day of the week

tRBCalendarDBText - descendant of tRBDBText that can have different font characteristics for each day of the week

tRBCalendarCodedField - descendant of tRBCodedField that can have different font characteristics for each day of the week

tRBCalendarDBCalc - descendant of tRBDBCalc that can have different font characteristics for each day of the week

tRBCalendarShape - descendant of tRBShape that can have different brush and pen characteristics for each day of the week

tRBCalendarLine - descendant of tRBLine that can have different pen characteristics for each day of the week

tRBSystemPipeline - a pipeline that provides system data as fields, includes: absolute page number, absolute page count, group page number, group page count, number of copies, current copy number, current date and time, print date and time, Windows username, Windows computer name, ReportName, ArchiveFileName, DocumentName, PrinterName, TemplateName, FileName, ReportBuilder version, RBAddOn version, application file name, application parameters, application company name, application copyright, application file version, application product name, application product version, application description, application title. Also supports program defined calculations

tRBCalendarDataSet and tRBCalendarPipeline - provide date organized records that facilitate the printing of 7 day by 6 week calendars

ReportBuilder is a trademark of Digital Metaphors Corp.
2012 Roberts Browne Limited. All rights reserved world wide.