Types of solutions for generating reports and documents

FastReport .NET

Sets of components that simplify and automate the process of creating reports and documents in C# for diverse technologies.

FastReport VCL

Sets of VCL, FMX, and Lazarus components with full sources codes for creating reports and documents in Delphi and Pascal.

WEB reporting

Components for cross-platform projects to develop, build, display, print, and export reports directly in the browser.

Solutions for end-users

Independent software solutions for designing, building, converting, and viewing ready-made reports on your computer.

OLAP and Business Graphics

Data presentation and analytical processing tools for obtaining pivot tables with subsequent visualization based on Business Graphics.

Service solutions

Ready-made services and client-server systems for fast data visualization and automatic execution of information processing tasks.

News

November 12, 2024

Our Halloween "Guess How Many?" game - results

For Halloween, we offered you to guess how many jelly beans are in the jar to win a discount on a product of your choice. We took a little time to make sure that all our players placed their guesses correctly and are ready to announce the results: 337 jelly beans! We've contacted our winners and invite you to participate next year!  
Read
October 28, 2024

Update of Delphi and Lazarus Products to Version 2025.1

Our products are constantly evolving, with new features continuously added and the quality of the code improving. This update includes enhancements and fixes for the entire line of Delphi and Lazarus products. Version 2025.1 introduces a new application to demonstrate the capabilities of FastReport VCL, expands the component library, and improves the report designer and export filters.     New App for Demonstrating FastReport VCL Capabilities We have updated our main demo application for FastReport VCL to ensure that the product not only delights you with its rich functionality but also with its appearance.     Expansion of the Component Library for Delphi and Lazarus We introduce the new visual component TfrShellTreeView for developing applications in Delphi or Lazarus. This is a fully functional file system navigation component that works on Windows and Linux (Lazarus). Key Features:•    Native rendering (icons and themes from the operating system)•    Subscription to file system changes and automatic updates•    Fast rendering (utilizes a virtual tree)•    Customization and overriding options allow you to extend the component to suit your needs.     Improvements in the FastReport VCL Designer The FastReport VCL designer offers extensive functionality for designing your reports. In version 2025.1, we have added the ability to customize the highlighting of expressions, which you can find in the designer settings. A search feature has been introduced in built-in editors such as Memo and SQL. Improved working with hiDPI modes in Embarcadero RAD Studio 12 and fixed issues affecting the user experience of creating templates. A new interactive editor for the "Table" object has been added. Edit the table in a familiar way, just like in Microsoft Word.     FastReport VCL Reporting Engine A new feature in the reporting engine allows you to create chains of Subreports with printing on the parent (Subreport.PrintOnParent). This approach enables printing structures similar to tree-like structures and stretching elements located on the parent band. This method is based on the height of the structure printed in the Subreport.     Export Filters The ability to edit the CellularText object in interactive PDF forms has been added. You can now use CellularText as an element of an interactive form. In table export filters, a new feature has been added to select the quality of objects exported as images. This setting allows you to set the scale for all images in table export filters. Fixes and quality improvements have been made to export filters: PDF, DOCX, PPTX, XLSX, SVG.     Preview The ability to copy the contents of the RichView object in the preview has been added, including group selection of objects via Shift + Right Mouse Button.     FastReport FMX A new export to PPTX has been added for Windows, macOS, and Linux platforms.     Delphi and Lazarus Version 2025.1 also supports Embarcadero RAD Studio 12.2 (including the new Windows 64 Modern platform for C++ Builder) and Lazarus 3.6.     Version 2025.1  ---------------   [Designer]+ Added expression highlighting settings in the report designer;+ Added basic search in editors with Memo;* Improved mouse functionality in SimpleMemo;- Improved scrolling in the Memo editor;- Fixed the issue when opening the report designer;- Fixed a potential AV error after deleting a StyleSheet element in the report designer;- Fixed name duplication when dragging from DataTree;- Fixed stretching of the object toolbar when the height is insufficient in the designer;- Fixed calling the text editor through the object inspector;- Fixed an issue with the Auto Update Fields option enabled;- Fixed navigation issues in the Report Tree of the designer;- Fixed SmartMemo (code editor) for HiDPI;   [Engine]+ Added TfrShellTreeView control for shell management in VCL and Lazarus with Linux support;+ Added nested handling for Subreport.PrintOnParent in the reporting engine;+ Added support for the Win64x compiler during development;+ Implemented native rendering of controls for VCL and Lazarus in Linux;+ Added WideString type in FastScript;- Fixed compatibility with C++ Builder and JVCL;- Fixed updating DBX parameters when extracting field definitions;- Fixed an issue when using a multi-column page along with PrintOnPreviousPage and KeepTogether options;- Fixed a problem in automatically generated headers for C++ Builder;- Fixed the HTML editor;- Fixed RTL output with tags in TfrxHTMLView;- Changed data field updates to clear automatically defined fields when DataSet is modified;- Fixed incorrect rendering of SliceGrid when loading a scheme at high DPI;- Fixed icon caching during scaling for HiDPI;- Fixed an issue when changing the DBDataSet.DataSet property did not clear field definitions;- Fixed TfrxComboBoxView and TfrxListBoxView;- Fixed the field type definition for ftFixedChar;- Fixed memory leak when displaying SVG;- Fixed an issue where DataLink did not clear previous data;- Fixed the error 'Resource FCXBUTTONS not found' in FMX RS12 Builder when calling the formula editor;- Fixed the state of the old XML format flag after clearing;- Fixed initialization of the interactive parameters structure;- Fixed warning in frxGetCertificate.   [Exports]+ Added the ability to edit the CellularText object in interactive PDF forms;+ Added the FromName field in TfrxMailExport when using Indy SMTP;- Fixed EMF export to SVG;- Fixed font substitution in PDF export;- Fixed line break issue when exporting to .rtf format from Lazarus on Linux;- Fixed export of katakana, hiragana, and geometric symbols in PDF export;- Fixed line selection and bottom field line during DOCX export;- Fixed EMF export to PDF;- Fixed hyperlinks in RTF export;- Eliminated GDI object leaks;- Fixed customizable PDF signature;- Fixed alignment issues in TfrxMemoView and reduced sizes of images with alpha channels in PDF export;- Fixed date formatting in XLSX export;- Fixed compiler warnings;- Fixed XLS export for empty pages;- Fixed date format in XLSX export;- Fixed "Unexpected variant error" in XLS export;   [Lazarus]- Fixed ODF export when AllowHTMLTags is enabled;- Fixed RTF export when AllowHTMLTags is enabled;- Fixed TfrxDateEditControl in Linux under Lazarus;- Removed unnecessary ScrollBar rendering in the designer;- Fixed selection reset in the Linux Lazarus Rich editor;- Fixed infinite loading when using Linux Lazarus Rich;   [Other]+ Added VarIsNull function;- Fixed issue with displaying the Data Highlighting dialog in FastCube;- Fixed converters for QuickReport, ReportBuilder, and Rave Reports;   [Preview]+ Added the ability to copy RichView content in preview;- Fixed issues with active preview tabs when exporting all open preview tabs;- Fixed toolbar issues in HiDPI mode in version 10.4, when some toolbar buttons were disabled;- Fixed AV when calling preview in XE2;- Fixed display of double tooltips in the preview window;   [Report object]+ Added property TfrxFIBDatabase.LibraryName;* Added Tab key handling in TfrxRichView editor;- Fixed serialization of TfrxPictureView.Stretched property;- Fixed barcode positioning after changing BarType when Align is set to [baCenter, baRight];- Fixed Swiss preset in QR barcode;   [Resources]* Updated Polish resources;* Updated German resources for FastCube;- Fixed FCXBUTTONS resources for applications with run-time packages;   [FastReport FMX]- Added export to PPTX for Windows, macOS, and Linux platforms;- Fixed export dialog display in macOS;- Export dialogs have been separated from export filter modules (ability to override export dialogs with custom ones).
Read

Articles

November 01, 2024

New Features of the FastReport VCL Editor

Our products are constantly evolving, with new features being continuously added and the quality of the code improved. In this article, we will explore new capabilities of the report editor that are not covered in the user manual. Object Inspector You now have the option to add individual properties to "Favorites." To do this, focus the cursor on the object inspector and press the CTRL key. Checkboxes will appear next to the property names; select the properties you need and add them to your favorites list. You can remove properties in the same way from the "Favorites" tab. Events cannot be added to favorites. A search input box has been added next to the object inspector tabs for quick property searching. The search window may not be visible if the object inspector is narrow. When you enter data into this box, the inspector will begin displaying only those properties that contain the entered string. The inspector highlights property values in bold if they differ from the default values. This allows for quick identification of object properties that have been changed during editing. Note: Not all properties have default values, so not all properties may be highlighted.     Report Tree A search feature for components by name has also been added to the report tree. To display the search bar, click the >> icon located at the bottom right of the tree. Additionally, you can select multiple items in the report tree using the CTRL key. You can also call the editing menu using the right mouse button—it is similar to the menu that appears when you click on a component. When multiple components are selected, you can edit them all simultaneously. For example, you can hide all of them using the Visible property or delete them, for instance.     Data Tree An interesting feature of the data tree is the ability to drag and drop fields onto the designer's workspace from the "DB Fields" tab. If you have activated the "Insert Field" or "Insert Header" buttons (buttons F and C in the image above), a frxMemoView will be created in the designer's workspace, either with the header text from the data field or bound to the data. If both buttons are pressed, two TfrxMemoView components will be generated—one with the field header and one bound to the data. If the data is sourced from a TfrxDataSet, you can configure the type of component that gets created upon dragging in the editor of that component (within the Delphi IDE). Field groups can also be dragged. Additionally, if you select a dataset along with the fields, a band containing the data fields will be created. If a data field is dragged, the component name is created from the data set name and the data field name. You can also drag a data field onto an existing component. In this case, the component will be linked to the dragged data field (the previous value will be lost). A data field can also be dragged into any string property of the object inspector. The data tree also has two more tabs: "Functions" and "Classes," which display all the classes and functions available in the report. These can also be dragged into the report designer.     Report Designer Workspace The report designer workspace has a number of interesting features that make a developer's life easier. On most controls, if they have event handlers, a small red triangle appears in the upper left corner. If a TfrxMemoView component is placed on a band linked to a dataset, hovering the mouse over the component reveals a triangle on the right side (similar to a combo box). Clicking this triangle allows you to link a field from the band's dataset to the TfrxMemoView. If the text component is not fully visible on the screen (cut off), hovering over the component will display a tooltip with the full content of that component. These tooltips can be disabled in the designer settings. To do so, go to the "View" menu -> "Settings" and uncheck the "Enable workspace hints" checkbox.     Extension Lines Extension lines are a set of vertical and horizontal lines used for positioning report components. The visibility of extension lines can be controlled through sub-elements of the "View" menu.  Extension lines – This menu item enables the use of extension lines. To create an extension line, double-click on the ruler at the top or side of the designer. Extension lines are displayed in blue. Automatic Extension lines – Extension lines appear along every border of a component. If an extension line is created by the user and is not connected to a component border, it disappears. If it is connected, it turns brown. Creating custom extension lines in this mode is not possible. Using Horizontal and Vertical Extension lines – These two menu items control the visibility of horizontal and vertical extension lines. You can also adjust the visibility of extension lines using the button located at the intersection of the vertical and horizontal rulers in the upper left corner of the report designer editing area (screenshot below). This button cycles through extension line modes in the following order:-    no automatic extension lines-    all automatic extension lines-    horizontal automatic extension lines-    vertical automatic extension lines To delete a custom extension line, simply move it outside of the designer area or right-click on the extension line pointer. In automatic extension line mode, you can convert these lines to custom lines and then revert them back to automatic. To do this, double-click on the extension line pointer on the ruler. Extension lines are used to arrange report elements in the desired order. The key feature of extension lines is that component borders "stick" to extension lines when resizing components. When dragging an extension line, all "sticked" component borders move with it. If the opposite border of a component is "sticked" to another extension line, the component changes its size. If the opposite border of the component is free, the component moves along with the extension line, and its size does not change (each of these settings can be disabled in the designer options, such as "Stick to Extension lines" and "Use Extension lines as Anchor"). Extension lines can also "merge" with each other—if one extension line is moved onto another, they will merge. Thus, this allows you to quickly arrange report components on a custom grid using extension lines. This functionality is crucial when exporting a report to certain formats (for example, to an Excel spreadsheet), creating tabular reports without using grid components, and so on.     Additional Designer Toolbar Buttons The "Standard" toolbar now features two new buttons: "Highlight Intersecting Objects" and "Search." The first button highlights intersecting objects, which are automatically highlighted in red in the image above. You can change the highlight color in the editor settings. The second button opens the text search or replace window. In this window, you can specify the search area: search in component names, string property values, content, or script text. Content refers to, for example, the value of the Memo property of the TfrxMemoView component. Let's move on to search settings. If the "Case Sensitive" checkbox is enabled, lowercase and uppercase letters will be distinguished. If the "Find All" checkbox is checked, the list of found items will be displayed in the panel below, with explanations of which report element the found text belongs to. Clicking on any item in the list will jump to the found element. When the "Find All" checkbox is unchecked, clicking the "Find Next" button (or pressing the F3 key on the keyboard) will jump to the next found element. Transitions between elements are done through the "Data," "Page," or "Code" tabs depending on the active tab. If the "Replace With" checkbox is checked, a window becomes active for entering the new text to replace the current text. The label on the "Find Text" button changes to "Replace." Now, when you click the "Replace" button, a dialog box like this appears: This dialog box allows you to confirm or cancel the text replacement. This functionality may be useful, for example, if you need to change the font of all components to another font. Or, for example, if you renamed a dataset that is actively used in scripts.
Read
October 30, 2024

Using Styles When Creating Reports in FastReport VCL

In FastReport VCL, a style refers to a set of visual parameters for a component, specifically: font, fill, and border. Right in the report designer, you can create a style that contains only font information, or just the border, or a combination of fill and border. You can use all of these parameters simultaneously or alternate them depending on your needs. Styles are convenient for mass changes to the appearance of components. This helps when adjusting several parameters so that you don't have to repeatedly set the same properties manually. Additionally, by changing style parameters, you can quickly alter the appearance of a report. You can save a completed style library in a separate file for use in configuring multiple reports. In FastReport VCL, styles can be combined into a ''StyleSheet''. The collection of style sheets is referred to as a "Style Table" (or "Style Book"). Each style exists within each style sheet, and in each style sheet, the same style can have different parameters. This allows for quick changes to the report's appearance simply by switching the current style sheet. This can be useful, for example, if the same report needs to be used in different operating systems with different fonts. Thus, the necessary styles can be set just by switching the style sheet. It can be considered that in FastReport VCL, each report has at least one style sheet named "Default."     Style Control Elements To manage and work with styles and style tables, there is a “Styles” toolbar.   Controls the use of style tables: This includes a submenu with two options: "Designer Style Book" — Allows the use of style tables in the report designer."Preview Style Book" — Allows the use of style tables in the preview window (to change the current style table). Enables style editing mode directly in the report. Adds a new style sheet. Responsible for selecting the active style sheet, as well as changing the name of the style sheet. Deletes the currently selected style sheet. Adds a new style. Allows selection of a style for the currently highlighted component, and enables changes to the name of the current style. Deletes the current style.   Additionally, there is a form available for editing and managing styles, which can be accessed from the menu “Report” -> “Styles.” The toolbar buttons on this form have the same functions as those on the “Styles” toolbar. Additionally, it allows you to save and load style tables from disk. On the left side of the form, there is a list of styles available in the report. When any style is selected, its parameters can be edited. Below this, there is a sample showing how the style is applied to a report element. In the center of the form, there are 3 buttons that allow you to edit the components of the style. Next to the buttons, there are 3 checkboxes where you can indicate whether the style contains a specific component — background color, font, or border. The use of each component of the style is either allowed or prohibited across all style sheets at the same time.     Working With Styles To set style properties, there is a special form accessible from the menu “Report -> Styles…” (screenshot above). This form allows you to add and remove styles in the report, rename them, and set their properties. You can also save and load them from style files. You can assign a style to a selected report component using the ComboBox on the styles panel or through the “Style” property in the Object Inspector. If you set a report component style to “No Style” or remove the style name in the Object Inspector, the appearance of the component will be retained. However, after these actions, the component will no longer depend on the style. You can also switch the report designer to style editing mode using the button on the styles panel (Edit Styles Mode). In this mode, two buttons appear on either side of the ComboBox with the style names, allowing you to add and remove styles using these buttons. When a style is created using the button on the styles panel, the new style inherits the properties of the currently selected component. When a style is deleted, the formatting of the report components is preserved. However, this formatting will now be stored in the component itself rather than in the style. Each user has the ability to edit styles directly in the report. If you edit the visual properties of an element that is assigned a style, you are essentially editing the properties of that style. This behavior can be observed directly in the designer. When changing the parameters of one component, all components that share the same style will also change.     Working With Style Tables To work with style tables, you first need to enable them. This is done by clicking the “Style Book Mode” button and selecting either the “Design Style Book” or “Preview Style Book” option. After this, the buttons “Add Style Sheet”, “Delete Style Sheet”, and the ComboBox with style table names become active. You can add, delete, and rename style tables, as well as make any one of them active. When a style table is activated, all styles change their state to match that of the current style table. When creating a new style table, the data for it is taken from the currently active style table. With the “Preview Style Book” option active, changing style sheets is available in the preview mode. A ComboBox will appear on the right side of the toolbar, where you can select the desired style sheet, and it will be immediately applied to the report.     Saving and Reading Styles Let's return to the style configuration window. In this window, there are "Save" and "Load" buttons. When clicked, these buttons open file dialogs for reading and writing, allowing you to save and upload the style table in the *.fs3 format. Regardless of the working mode with styles, all style tables present in the report are saved to the file. Typically, the end user should not edit the report; they only have the option to preview it. Therefore, the programmer should be able to set the current style of the report in the application code. This can be done as follows: begin  //loading the report    frxReport1.LoadFromFile(DefPath+'main.fr3');  //loading styles    frxReport1.Styles.LoadFromFile(DefPath+'main.fs3');  // to manage style tables, frxReport1.Styles.StyleBookMode should not be equal to []  frxReport1.Styles.StyleBookMode:=[fsbDesigner];  //setting the desired style    frxReport1.Styles.ActiveStyleSheet:='MyStyleSheet';  //applying the style to the report    frxReport1.Styles.Apply;  frxReport1.ShowReport();end; More details on working with styles are described in the programmer's guide.     Style Tables and Conditional Formatting Conditional formatting should be used with caution alongside style tables. If the “Preview Style Book” mode is active, changing the style will result in the loss of conditional formatting. However, formatting elements that are not used by the style can be changed without issues. In summary, working with styles and style sheets is not difficult at all. This functionality significantly simplifies and speeds up the report creation process. It allows you to create groups of reports with the same formatting style much more quickly.
Read

Popular questions

What is a report generator?

Why do we need report generators and OLAP analytics tools?

What does Fast Reports Inc. do?

We are trusted

Fast Reports
  • 800-985-8986 (English, US)
  • +4930568373928 (German)
  • +55 19 98147-8148 (Portuguese)
  • info@fast-report.com
  • 66 Canal Center Plaza, Ste 505, Alexandria, VA 22314

© 1998-2024 Fast Reports Inc.