Reporting FMX

A cross-platform set of FMX components for creating documents based on Embarcadero FireMonkey

v. 2025.1.5

What reports can Reporting FMX do?

Practically any: invoices, financial reports, product catalogs with color profile support, restaurant menus, sales details, questionnaires with electronic forms, airline tickets, utility bills, and much more. If you have data that needs to be made visually understandable, FastReport is the perfect solution for you.

Features und Vorzüge Reporting FMX

Lots of components
A variety of elements are available for building reports in the designer: from text and images to mathematical formulas and 3D diagrams.
Quick access to the report and data structure
From the report tree and properties tree, you can edit the report structure, parameters, and filters, as well as data sources with global styles.
Safety
Protect your templates and reports with strong data encryption. Adapt all source codes to suit your solutions.
Source code
This set of components includes FastReport source codes. Maximum convenience for companies wishing to adapt the code to their needs.
Flexible and open architecture
If FastReport's functionality is not enough for you, you can improve it by creating and connecting your objects (export filters, databases) to your reports.
Graphics core
For creating graphical elements, rendering text, and managing graphic images, GDI+, D2D, and, of course, Quartz can be used.

The template designer in your application

A powerful modern editor includes a large set of tools for visual design and modification of report templates. Our flexible architecture allows you to create your editors for both existing objects and new ones. A template designer can be included in your application to provide users with their report design. Localization is supported for more than 30 popular languages of the world.

Reporting FMX is a band-oriented report generator. A rich set of bands allows you to build reports of any type: list, master-detail, report with grouping, multi-column, master-detail-detail, and others. If you need to create many reports that contain the same elements (header, footer, company details, logos), then you can collect common elements into a base report and inherit all other reports from it. We also support subreports.

The template designer in your application

Data processing

Reporting FMX supports data sorting and filtering, master-detail relationships. Everything can be configured with a few clicks. It is possible to connect to FireDAC, ADO, DBX, and IBX, thus providing access to almost all databases, including Oracle and many third-party libraries.

Your report may contain data (tables, queries, database connections). This way, you can not only use the data available in your application but also independently connect to any database directly from the report. Reporting FMX contains a script engine that supports PascalScript, C++ Script, BasicScript, and JScript.

The report may contain dialog forms to request parameters before the report is built. Dialog controls support the ability to connect to data and then filter it. Filtering can be added to absolutely any report; it does not require writing any code.

Data processing

Preview and print

The pre-prepared report can be examined in detail in the Report Viewer's preview window. Our component supports working with parameters, multi-level detailing, and interactive reports. You can define the reaction to a mouse click on an object in the preview window. For example, you can build and display another report that shows detailed information about the object the user clicked on.

Additional printing settings. The following options are available to you: cutting large report pages into small ones, printing several small pages on one large page, and printing in a given format with scaling. Do you need to print a report containing A3 pages on a regular A4 printer? Now, this is not a problem!

Preview and print

Exports to convenient formats

Filters for exporting the finished report to many formats: PDF, RTF, XLSX, XML, DOCX, TXT, CSV, Excel OLE, PowerPoint, HTML, MHT, XPS, JPEG, BMP, PNG, Open Document Format (ODT, ODS, ODP), XAML, Scalable Vector Graphics (SVG), ZPL, etc.

Reporting FMX allows you to quickly convert reports with editable fields (such as text fields, combo boxes, checkboxes, radio buttons, and graphics fields) into PDF documents without connecting additional libraries.

Exports to convenient formats

Ultimate VCL

This set of components is part of the Ultimate solution, with which you can create your business projects on all familiar VCL, Lazarus, and FMX platforms. Additionally, the package includes FastScript for fast processing of scripts of any complexity, as well as the visual SQL query builder FastQueryBuilder. In addition, you will have access to client-server reporting tools on VCL and Lazarus.

Lieferoptionen

Features
ab 1.299 €
ab 899 €
ab 499 €
ab 499 €
FastReport Engine
VCL components
FMX components
Lazarus components
OLAP features
OLAP aggregation functions
Data connections
Reporting features
Report objects
Barcodes
Charts
Printing
Export in formats
Source Code
Convertors from
Transports

Neueste Artikel

15. Oktober 2021

Bericht mit zwei Datenebenen (master-detail) in Delphi/Lazarus am Beispiel von FastReport VCL / FMX

In diesem Artikel möchte ich Ihnen eine leistungsstarke FastReport-Funktion wie „Berichte mit mehreren Ebenen“ vorstellen. Sie können ihre Struktur mit einem Baum vergleichen: “Stamm, dickere Äste, dünnere Äste, und so weiter bis zu den Blättern” oder mit der Struktur eines Unternehmens “Abteilungen, Unterabteilungen, Mitarbeiter”. Sie werden oft “Master-Detail” oder “Master-Slave” genannt und solche Berichte werden aus mehreren Tabellen erstellt. Eine Tabelle enthält eine Liste der Hauptentitäten, eine andere, die mit der ersten Tabelle verknüpft ist, enthält eine Liste der untergeordneten Entitäten mit einer Verknüpfung zur ersten Tabelle. Eine bestimmte Entität aus der ersten Tabelle ist einer bestimmten Entität aus der untergeordneten Tabelle untergeordnet usw. FastReport unterstützt die Einschachtelung von bis zu 6 Ebenen (mehr kann mit dem "Unterbericht"-Objekt gemacht werden, aber dazu später mehr). In der Praxis ist es nur selten notwendig, Berichte mit umfangreichen Datenschachtelungen zu drucken; in der Regel ist dies auf eine bis drei Ebenen beschränkt. Beispiel für die Entwicklung eines Berichts mit mehreren Ebenen Betrachten wir als Beispiel die Erstellung eines Berichtes mit zwei Ebenen. Er enthält Daten aus den Tabellen „Customer“ und „Orders“. Die erste Tabelle ist eine Liste der Kunden und die zweite ist eine Liste der Bestellungen von Kunden. Die Tabellen enthalten Daten der folgenden Art: Customer: CustNo       Company1221          Kauai Dive Shoppe1231          Unisco1351          Sight Diver Orders: OrderNo       CustNo       SaleDate1003            1351          12.04.19881023            1221          01.07.19881052            1351          06.01.19891055            1351          04.02.19891060            1231          28.02.19891123            1221          24.08.1993 Wie Sie sehen können, enthält die zweite Tabelle eine Liste aller Bestellungen aller Kunden. Um eine Liste der Bestellungen eines bestimmten Kunden zu erstellen, wählen Sie aus der Tabelle die Datensätze aus, deren Feld CustNo = Nummer des ausgewählten Kunden ist. Der auf diesen Daten basierende Bericht wird wie folgt aussehen: 1221       Kauai Dive Shoppe     1023       01.07.1988     1123       24.08.19931231       Unisco     1060       28.02.19891351       Sight Diver     1003       12.04.1988     1052       06.01.1989     1055       04.02.1989 Beginnen wir mit der Berichterstellung. Erstellen Sie ein neues Projekt in Delphi, fügen Sie in das Formular zwei TTable-Komponenten, eine TDataSource-Komponente, zwei TfrxDBDataSet-Komponenten und eine TfrxReport- Komponente ein.  Verbinden Sie Daten aus der Datenbank mit Berichtsobjekten  Konfigurieren Sie die Komponente wie folgt: Table1: DatabaseName = 'DBDEMOS' TableName = 'Customer.db' Table2: DatabaseName = 'DBDEMOS' TableName = 'Orders.db'   DataSource1: DataSet = Table1   frxDBDataSet1: DataSet = Table1 UserName = 'Customers'   frxDBDataSet2: DataSet = Table2 UserName = 'Orders'   Verknüpfen Sie im Berichtsdesigner unsere Datenquellen im Fenster "Bericht|Daten…".  Fügen Sie der Seite die Bänder "Daten der Ebene 1" (master) und " Daten der Ebene 2" (detail) hinzu. Und aus dem Daten-Panel (rechts) ziehen Sie die Felder der Tabellen (Master und Slave) zu den entsprechenden Bändern. Es wird etwa so aussehen: Bitte beachten Sie, dass das Band "Daten der Ebene1" oben platziert werden sollte! Wenn Sie unter das Band "Daten der Ebene2" platzieren, meldet FastReport beim Starten des Berichtes einen Fehler. Beim Starten sehen wir jetzt, dass die Bestellliste für jeden Kunden gleich ist und alle Einträge aus der Tabelle „Orders“ enthält. Dies geschah, weil wir die Filterung der Einträge in der Tabelle „Orders“ nicht aktiviert hatten. Zurück zu unseren Datenquellen. Für die Komponente Table2 setzen Sie die Eigenschaft MasterSource = DataSource1. Somit haben wir eine Master-Slave-Beziehung aufgebaut. Nun müssen Sie die Bedingung zum Filtern von Datensätzen in der Slave-Quelle festlegen. Rufen Sie dazu den Editor der MasterFields-Eigenschaft der Table2-Komponente auf: Wir müssen die beiden CustNo-Felder in beiden Quellen verknüpfen. Wählen Sie dazu den Index CustNo aus der oberen Liste aus, markieren Sie die Felder und klicken Sie auf "Add". Die verknüpften Felder werden in das untere Fenster verschoben. Schließen Sie dann den Editor mit ОК. Beim Starten des Berichtes führt FastReport folgende Schritte aus. Nach der Auswahl des nächsten Datensatzes in der Haupttabelle (Customer) wird der Filter für die die Untertabelle (Orders) gesetzt. Nur die Datensätze, die die Bedingung Orders.CustNo = Customer.CustNo erfüllen, bleiben in der Tabelle, d.h. für jeden Kunden werden nur seine Bestellungen angezeigt: Ebenso können Berichte mit bis zu 6 Datenebenen erstellt werden.
Weiterlesen
15. Oktober 2021

Bericht mit zwei Datenebenen (master-detail) in Delphi/Lazarus am Beispiel von FastReport VCL / FMX

In diesem Artikel möchte ich Ihnen eine leistungsstarke FastReport-Funktion wie „Berichte mit mehreren Ebenen“ vorstellen. Sie können ihre Struktur mit einem Baum vergleichen: “Stamm, dickere Äste, dünnere Äste, und so weiter bis zu den Blättern” oder mit der Struktur eines Unternehmens “Abteilungen, Unterabteilungen, Mitarbeiter”. Sie werden oft “Master-Detail” oder “Master-Slave” genannt und solche Berichte werden aus mehreren Tabellen erstellt. Eine Tabelle enthält eine Liste der Hauptentitäten, eine andere, die mit der ersten Tabelle verknüpft ist, enthält eine Liste der untergeordneten Entitäten mit einer Verknüpfung zur ersten Tabelle. Eine bestimmte Entität aus der ersten Tabelle ist einer bestimmten Entität aus der untergeordneten Tabelle untergeordnet usw. FastReport unterstützt die Einschachtelung von bis zu 6 Ebenen (mehr kann mit dem "Unterbericht"-Objekt gemacht werden, aber dazu später mehr). In der Praxis ist es nur selten notwendig, Berichte mit umfangreichen Datenschachtelungen zu drucken; in der Regel ist dies auf eine bis drei Ebenen beschränkt. Beispiel für die Entwicklung eines Berichts mit mehreren Ebenen Betrachten wir als Beispiel die Erstellung eines Berichtes mit zwei Ebenen. Er enthält Daten aus den Tabellen „Customer“ und „Orders“. Die erste Tabelle ist eine Liste der Kunden und die zweite ist eine Liste der Bestellungen von Kunden. Die Tabellen enthalten Daten der folgenden Art: Customer: CustNo       Company1221          Kauai Dive Shoppe1231          Unisco1351          Sight Diver Orders: OrderNo       CustNo       SaleDate1003            1351          12.04.19881023            1221          01.07.19881052            1351          06.01.19891055            1351          04.02.19891060            1231          28.02.19891123            1221          24.08.1993 Wie Sie sehen können, enthält die zweite Tabelle eine Liste aller Bestellungen aller Kunden. Um eine Liste der Bestellungen eines bestimmten Kunden zu erstellen, wählen Sie aus der Tabelle die Datensätze aus, deren Feld CustNo = Nummer des ausgewählten Kunden ist. Der auf diesen Daten basierende Bericht wird wie folgt aussehen: 1221       Kauai Dive Shoppe     1023       01.07.1988     1123       24.08.19931231       Unisco     1060       28.02.19891351       Sight Diver     1003       12.04.1988     1052       06.01.1989     1055       04.02.1989 Beginnen wir mit der Berichterstellung. Erstellen Sie ein neues Projekt in Delphi, fügen Sie in das Formular zwei TTable-Komponenten, eine TDataSource-Komponente, zwei TfrxDBDataSet-Komponenten und eine TfrxReport- Komponente ein.  Verbinden Sie Daten aus der Datenbank mit Berichtsobjekten  Konfigurieren Sie die Komponente wie folgt: Table1: DatabaseName = 'DBDEMOS' TableName = 'Customer.db' Table2: DatabaseName = 'DBDEMOS' TableName = 'Orders.db'   DataSource1: DataSet = Table1   frxDBDataSet1: DataSet = Table1 UserName = 'Customers'   frxDBDataSet2: DataSet = Table2 UserName = 'Orders'   Verknüpfen Sie im Berichtsdesigner unsere Datenquellen im Fenster "Bericht|Daten…".  Fügen Sie der Seite die Bänder "Daten der Ebene 1" (master) und " Daten der Ebene 2" (detail) hinzu. Und aus dem Daten-Panel (rechts) ziehen Sie die Felder der Tabellen (Master und Slave) zu den entsprechenden Bändern. Es wird etwa so aussehen: Bitte beachten Sie, dass das Band "Daten der Ebene1" oben platziert werden sollte! Wenn Sie unter das Band "Daten der Ebene2" platzieren, meldet FastReport beim Starten des Berichtes einen Fehler. Beim Starten sehen wir jetzt, dass die Bestellliste für jeden Kunden gleich ist und alle Einträge aus der Tabelle „Orders“ enthält. Dies geschah, weil wir die Filterung der Einträge in der Tabelle „Orders“ nicht aktiviert hatten. Zurück zu unseren Datenquellen. Für die Komponente Table2 setzen Sie die Eigenschaft MasterSource = DataSource1. Somit haben wir eine Master-Slave-Beziehung aufgebaut. Nun müssen Sie die Bedingung zum Filtern von Datensätzen in der Slave-Quelle festlegen. Rufen Sie dazu den Editor der MasterFields-Eigenschaft der Table2-Komponente auf: Wir müssen die beiden CustNo-Felder in beiden Quellen verknüpfen. Wählen Sie dazu den Index CustNo aus der oberen Liste aus, markieren Sie die Felder und klicken Sie auf "Add". Die verknüpften Felder werden in das untere Fenster verschoben. Schließen Sie dann den Editor mit ОК. Beim Starten des Berichtes führt FastReport folgende Schritte aus. Nach der Auswahl des nächsten Datensatzes in der Haupttabelle (Customer) wird der Filter für die die Untertabelle (Orders) gesetzt. Nur die Datensätze, die die Bedingung Orders.CustNo = Customer.CustNo erfüllen, bleiben in der Tabelle, d.h. für jeden Kunden werden nur seine Bestellungen angezeigt: Ebenso können Berichte mit bis zu 6 Datenebenen erstellt werden.
Weiterlesen
25. Januar 2021

Installieren und Verwenden von FastReport FMX 2.8 für FmxLinux

Kürzlich wurde FastReport FMX 2.8 veröffentlicht, das das FMXLinux-Framework unterstützt. In diesem Artikel möchte ich den Installationsprozess und die Anforderungen mit Beispiel der Installation der Testversion von FastReport FMX 2.8, Embarcadero RAD Studio 10.4.1, FmxLinux 1.52 von GetIT und Ubuntu 20.04.1 beschreiben. Wir werden nicht weiter auf die Installations- und Kompilierungseinstellungen für Linux eingehen. Sie können dies auf der Embarcadero-Website lesen: Linux Application Development und FireMonkey for Linux. Hier ist eine kurze Liste der Schritte, die Sie ausführen sollen, bevor Sie FastReport FMX 2.8 installieren (Wenn Sie die Kompilierung bereits für Linux konfiguriert haben und die FmxLinux-Anwendung bereits erfolgreich kompiliert wurde, können Sie diese Schritte überspringen): Installieren Sie Linux oder verwenden Sie ein fertiges Linux (Der Artikel basiert auf Ubuntu 20.04.1); Installieren Sie die Entwicklungspakete gcc und curl packages. Embarcadero empfiehlt dies über: 1 sudo apt install joe wget p7zip-full curl openssh-server build-essential zlib1g-dev libcurl4-gnutls-dev libncurses5 In diesem Fall installieren Sie das Entwicklungspaket 7zip mit aller Abhängigkeiten einschließlich gcc (Binärdateien der Testversion von FastReport FMX 2.8 werden mit gcc 9 kompiliert!). Installieren Sie dev Pakete zlib, für Ubuntu sieht es so aus: 1 sudo apt-get install zlib1g-dev Installieren Sie abhängige Pakete x11, gtk3 durch: 1 sudo apt install libgl1-mesa-glx libglu1-mesa libgtk-3-common libgstreamer1.0-0 libgstreamer-plugins-base1.0-0 Ich installierte diese Pakte auf leeren virtuellen Rechner und in meinem Fall es reicht folgende Code Zeile zu verwenden: 1 sudo apt install joe wget p7zip-full curl openssh-server build-essential zlib1g-dev libcurl4-gnutls-dev libncurses5 zlib1g-dev libgl1-mesa-glx libglu1-mesa libgtk-3-common libgstreamer1.0-0 libgstreamer-plugins-base1.0-0    Installieren Sie PAServer(sehe Linux Application Development);  Installieren Sie FmxLinux durch GetIt (Tools > GetIt Package Manager);   Erstellen Sie eine Verbindung mit Linux und downloaden Sie SDK.   Die Installation von FastReport FMX 2.8 für FmxLinux unterscheidet sich nicht von der üblichen Installation von FastReport FMX 2. Sie müssen das Installationsprogramm herunterladen, um ein Beispiel für eine Demo Version zu erhalten, und die Entwicklungsumgebung schließen. Das Installationsprogramm fügt alle Pfade für die Kompilierung selbst hinzu. FastReport FMX 2.8 ist einsatzbereit! Sie können überprüfen, wie FastReport FMX unter Linux funktioniert. Starten wir die Entwicklungsumgebung (in meinem Fall Embarcadero RAD Studio 10.4.1) und öffnen eine Standarddemo mit den Reporten. Diese finden Sie im Installationsordner von FastReport FMX 2, standardmäßig C:\Program Files (x86)\FastReport FMX 2 Trial\Demos\Main. Öffnen wir das Projekt und wählen die Plattform aus. Jetzt sollen Sie sicherstellen, dass alle Dateien auf den Server übertragen werden (Project>Deployment). In meinem Fall gab es neben der Standard-MIDAS-Bibliothek kein Kontrollkästchen für den Datenzugriff. Das Problem wird gelöst, indem eine Bibliothek für die entsprechende Plattform ausgewählt wird. Sie können das Projekt kompilieren und ausführen. Jetzt können Sie einen Report auswählen und den Designer zur Bearbeitung öffnen. Erstellen Sie einen Report und zeigen Sie ihn im Vorschaufenster an. Und natürlich in ein zugängliches Format exportieren. Wie bei anderen Plattformen ist es möglich, das Dienstprogramm zum erneuten Kompilieren zu verwenden, um die Sprache zu ändern und Binärdateien neu zu kompilieren. Weiter wählen Sie den Pfad zu den FmxLinux-Bibliotheken (standardmäßig C:\Users\Public\Documents\Embarcadero\Studio\21.0\CatalogRepository\FmxLinux-1.52\lib\Release für Embarcadero RAD Studio 10.4.1), Compilerversion, gcc-Version und FastReport-Version aus. Hierbei ist zu beachten, dass bei der Neukompilierung SDK-Pfade aus der Registrierung der Entwicklungsumgebung verwendet werden. Daher muss das Standard-Linux-SDK bereits vor der Verwendung in der Embarcadero RAD Studio-Umgebung konfiguriert werden. Versuchen wir, die Sprache zu ändern. Lassen Sie uns das Beispiel kompilieren und erneut ausführen. Sprache geändert.Wie Sie sehen, ist die Installation und die Verwendung von FastReport FMX 2.8 für FmxLinux recht einfach.
Weiterlesen

Kostenlos testen

Any other questions?

Contact the manager
Fast Reports
  • 800-985-8986 (Englisch, USA)
  • +31 97 01025-8466 (Englisch, EU)
  • +49 30 56837-3928 (Deutsch, DE)
  • +55 19 98147-8148 (Portugiesisch, BR)
  • info@fast-report.com
  • 66 Canal Center Plaza, Ste 505, Alexandria, VA 22314

© 1998-2025 Fast Reports Inc.