Components for Delphi, C++Builder, Lazarus
- TRichView – components for displaying, editing and printing hypertext documents. [VCL, LCL for Windows]
- ScaleRichView – components for WYSIWYG editing (TRichView add-on). [VCL, LCL for Windows]
- Report Workshop – reporting components (TRichView add-on). [VCL]
What is TRichView
TRichView is a suite of native Delphi/C++Builder VCL and Lazarus (Free Pascal) LCL components for displaying, editing and printing hypertext documents.
The components support various character attributes (fonts, subscripts/superscripts, colored text background, custom drawn). Documents can contain tables, pictures, images from imagelists, footnotes and endnotes, any Delphi controls. Left, right, center or justify paragraph allignment, custom margins and indents, multilevel bullets and numbering, background images, print preview, data-aware versions and more...
Using TRichView rich text control, you can create an RTF editor which is able to export documents in HTML and DocX formats.
TRichView is completely written in Delphi, it does not require external DLL or ActiveX files. It is not based on Microsoft RichEdit control. A registered version of the Package includes full source code.
TRichView VCL components support Unicode text not only in new versions of RAD Studio, but also in Delphi 5–2007 and C++Builder 6–2007.
List of Features
Click the links below to read detailed information:
- Rich text and paragraph formatting
Custom fonts, colors, alignments, indents...
- Images in documents
Gif animations, semitransparent Png images, bitmaps, metafiles, icons, jpegs, and more
- Delphi/C++Builder controls in documents
HTML-style tables with formatted contents in every cell
- Bullets & numbering
- Styles of text and paragraphs
- Multi-language support
Multiple character sets, Unicode, bi-directional text
- hypertext and related features
Hyperlinks, checkpoints, tags
- Import and export, databases
Import from RTF, export to RTF, DocX (Microsoft Word Document) and HTML, PDF, and more
- Special editing features
Undo and text protection
- Printing with preview
Including live spelling with third-party spell checkers
Interactions with third-party products
You can use TRichView together with third-party components. For example, you can use Addict spelling checker with our editor to highlight misspelled words; or you can add TRichView objects in ReportBuilder reports; or you can use TRichView as an editor for cxGrid developed by Developer Express Inc.
Note: TRichView does not include neither a source code nor an object code of these third-party components. Copyright to these third-party components belongs to the respective owners.
Components in the Package
TRichView – component for displaying hypertext
TRichViewEdit – component for editing hypertext
TRVStyle – collection of [DB]RichView[Edit]s' text and paragraph styles, etc.
TRVPrint – component for printing [DB]RichView[Edit]s
TRVPrintPreview – component for print preview of [DB]RichView[Edit]s
TDBRichView – data-aware version of TRichView
TDBRichViewEdit – data-aware version of TRichViewEdit
TRVOfficeConverter allows using text import and export converters from Microsoft® Office
TRVReportHelper allows drawing RichView documents onto the specified Canvases
What is ScaleRichView
ScaleRichView is a set of Delphi/C++Builder VCL and Lazarus (Free Pascal) LCL components for WYSIWYG editing (“What You See Is What You Get”), created basing on TRichView and RichViewActions. ScaleRichView uses TRichView engine for document rendering, but it repaginates, scales and draws pages in its own way.
A document in ScaleRichView is accessible via hidden (or external) TRichViewEdit component, so you can use the same methods for document generation and editing as you use in TRichView. Headers, footers, endnotes, footnotes and text boxes are accessible in a similar way.
ScaleRichView is an addon to TRichView. In order to install ScaleRichView package, you need to install packages of TRichView and RichViewActions before. You can order ScaleRichView as a bundle “TRichView+ScaleRichView”, or later, after ordering TRichView.
The main features of ScaleRichView are:
- support for almost all TRichView features;
- WYSIWYG editing mode;
- real-time repagination;
- support for more than 120 standard paper formats: ISO (Europe), ANSI (USA), JIS (Japan), etc.;
- ability to display and print in different formats (for example, document can be edited as A5 but printed as A3);
- custom page positioning;
- multiple layout modes (Web mode, Normal Layout, Page Layout and more);
- tooltip on scrolling, showing page number and text;
- vertical and horizontal graphic menus (toolbars) in scrollbar area;
- complete support of RichViewActions;
- controls in documents, both standard and special for ScaleRichView;
- editing a main document, headers, footers, footnotes, endnotes, text boxes directly in the editor.
List of Features
Click the links below to read detailed information.
- Editing and displaying documents
- Printing posters
- Special set of components for insertion in documents
Components in the Package
TSRichViewEdit – text processor for WYSIWYG editing, with scaling and multiple layouts (including page view mode).
TDBSRichViewEdit – data-aware version of TSRichViewEdit.
TSclRVRuler – ruler, an analog of TRVRuler from RichViewActions, but working with TSRichViewEdit.
TSRVPageScroll shows all pages as thumbnails.
TSRVToolBar – toolbar for insertion in scrollbar area of TSRichViewEdit.
TSRVToolWindow shows toolbar in popup window.
TSRVPrint prints documents from TSRichViewEdit; an editor component can print documents itself, but TSRVPrint supports several special printing modes, including posters.
TSRVPreview shows how document will be printed by TSRVPrint.
TSRVScrollBar – a skinnable scrollbar; this component is used inside TSRichViewEdit, but may be useful as a separate component as well.
TSRVTabSet – a skinnable set of tabs having icons and text labels; this component can be used to implement a tabbed multiple document interface.
TSRVSkinManager applies skins to TSRVTabSet and TSRVScrollBar.
What is Report Workshop
Report Workshop is a set of VCL components for creating reports. Report Workshop is based on TRichView.
Report Workshop can be logically divided into the following groups:
- Report design
- Report generation
- Data providers
Reports are designed in TRichView editor. ScaleRichView may be used as well. Report Workshop extends a user interface of RichViewActions by adding commands for report designing: a dialog for editing report-related document properties, dialogs for associating data queries with table rows and cells, dialogs for defining properties of cross tabulation tables (pivot tables), etc.
Reports are generated in TRichView (ScaleRichView) editors as well.
There is a single component for report generation:
Just call the Execute() method, and a report will be built.
Data providers are a collection of components supplying data for reports. A data provider component processes data queries and returns data.
Report Workshop includes data providers based on standard and popular third-party components (including FireDAC, dbExpress, ADO/dbGo, Interbase Express, BDE, AbsoluteDB, NexusDB, DBISAM, ElevateDB, UniDAC, others DACs by DevArt and MicroOLAP), as well as a data provider working with any TDataSet-based components.
- Data providers for reports
- Making simple and master/detail reports
- Cross tabulation (pivot tables)
- Color scales and data visualizers
Comparison to other reporting components
There are many reporting components available for Delphi and C++Builder. However, Report Workshop is a unique product offering a new approach and features that cannot be found in competing products.
Existing reporting components can be divided into two groups:
- components creating reports in a way of a vector graphic editor
- components based on some text editing engine
The first group of components is the most developed software for report making. At a design mode, they allow placing objects (like labels, images, shapes, text boxes) at any positions on a working space. These components have some disadvantages following from their design:
- Users need to study a special user interface used in their report designers.
On the contrary, the Report Workshop’s report designer has a familiar text editor (word processing) user interface, and analogs of 90% of its commands can be found in other advanced text editors, such as Microsoft Word or Open Office. There is only one special object: report table.
- Complexity of report designing.
Users need to align objects to each other and maintain correct spacing between them to create a beautiful professional-looking reports. Any change in exiting report design (adding or deleting objects) may require to realign objects and may be as complex as creating a new report. On the contrary, Report Workshop places objects automatically in a text flow (although it supports floating text boxes). You can build a perfect report (in code or in a user interface) without specifying a single coordinate.
- Fixed report result.
Normally, the report results cannot be edited. On the contrary, in Report Workshop, both report templates and report results are editable documents. Additionally, report results can contain hypertext links from one parts of reports to other parts, allowing to build cross references and tables of contents.
- Lower quality of exported results of reports.
While export to some formats are OK, export to text documents (HTML, RTF, Microsoft Word documents) is not good. A report content is exported as floating objects making it almost impossible to modify these documents. On the contrary, Report Workshop can export reports in these formats with the maximum possible quality.
- Design limitation.
Usually, these report components allow placing sub-reports only in special places. In Report Workshop, any table cell may be a sub-report. For example, you can make a sub-report inside cells of a cross tabulation (pivot) table.
The second group of reporting components (based on text editors) usually offer less features. Users need to study some scripting language to make reports from text documents. Limitations of their text engines do not allow adding report-oriented features other than scripting. On the contrary, in Report Workshop provides user interface for report designing, where user can define report properties in special dialog windows. The power of TRichView text engine allows extending capabilities of documents and tables to add reporting features in their properties.
Features not included in the first release
The following features are not yet implemented, we plan to add them in future updates:
- user interface for editing data fields (editing field types and format strings)
- user interface for editing report variables