Reporting FMX

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

v. 2025.1.8
What reports can Reporting FMX do

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

The template designer in your application

The modern editor offers many tools for creating report templates. The flexible architecture allows you to create editors for existing and new objects. The template designer can be integrated into your application. We support localization for more than 30 languages.

Reporting FMX is a band—oriented report generator with a rich set of bands for creating various types of reports. You can collect common elements (title, basement, business details, logos) into a basic report and inherit them for other reports. The function of nested reports is supported.

Data processing

Data processing

Reporting FMX supports data sorting and filtering, master-detail relationships. Everything is set up with a few mouse clicks. It is possible to connect to FireDAC, ADO, BDE, DBX, IBX and FIBPlus to access most databases, including Oracle.

The report can contain data from tables, queries, and database connections. Reporting FMX has a scripting engine that supports PascalScript, C++ Script, BasicScript, and JScript. Reports can include dialog forms for requesting parameters before building. Dialog controls allow you to connect data and filter it without writing code.

Printing reports

Additional printing settings

The following options are available for you: cutting large report pages into small ones, printing several small pages on one large one, and printing in a preset format with scaling.

Do you need to print a report containing A3 pages on a regular A4 printer? Now it's not a problem!

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.

Preview and print

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 a response 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.

Exports to convenient formats

Exports to convenient formats

Filters for exporting the finished report to many formats: PDF, CSV, ODF, ODT, DOCX, XLSX, PPTX, HTML, RTF, TXT, Images (JPG, BMP, PNG, TIFF, GIF), 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.

Lieferoptionen

Features
ab 1.299 €
ab 499 €
FastReport Engine
VCL-Komponenten
FMX Komponenten
Lazarus Komponenten
OLAP-Funktionen
OLAP-Aggregationsfunktionen
Datenverbindungen
Berichterstellungsfunktionen
Berichtsobjekte
Barcodes
Diagrammtypen
Druckfunktionen
Exportformate
Quellcode
Konverter von
Datenübertragungswege (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.