Eine der Schlüsselaufgaben des Berichtsgenerators besteht in der Datenermittlung. Am häufigsten werden die Datenbanken zum Speichern und Abrufen von Daten verwendet. Aber was ist, wenn Remote-Speicher in der Cloud verwendet werden, um bestimmte Daten zu speichern? Wie wird ein Firmenlogo über http in einen Bericht hochgeladen, damit es immer auf dem neuesten Stand ist?
Um diese Aufgaben in FastReport VCL 2021.3 zu lösen, haben wir Unterstützung für Protokolle und die Möglichkeit, Daten über Protokolle in Objekte wie z.B.: Karten, Bilder, Text, PDF-Objekt, HTML-Objekt hinzugefügt. Eine Reihe von Objekten verfügt über eine neue DataLink-Eigenschaft, die zusätzliche Eigenschaften für die Handhabung von Links enthält. Solche Links beginnen immer mit dem Schemanamen gefolgt von einem Trennzeichen. Beispiel <Schema>:[//Pfad] . Das Schema wird in den meisten Fällen durch Protokolle wie http und https dargestellt.
Hinweis! Für die Nutzung des HTTPS-Protokolls werden die folgenden OpenSSL-Bibliotheken benötigt: libssl-3.dll und libcrypto-3.dll. Diese Dateien befinden sich im Verzeichnis der Haupt-Demo-Anwendung. Sie müssen die Bibliotheken entweder in den Anwendungsordner oder in das Systemverzeichnis kopieren.
Die FastReport VCL basiert auf einer modularen Architektur, die http- und https-Funktionalität bildet hier keine Ausnahme und ist zusammen mit den Internet Transporten in einem separaten Paket enthalten. Damit Links über http- und https- Protokolle funktionieren, muss das frxTransportHTTP-Modul an den uses-Abschnitt der Anwendung angeschlossen werden oder einer der Internet Transporte zum Anwendungsformular hinzugefügt werden.
Wichtig! Damit das https-Protokoll funktioniert, sind die folgenden Open SSL- Bibliotheken erforderlich: ssleay32.dll und libeay32.dll. Sie sind im Verzeichnis mit der Haupt-Demoanwendung zu finden.
Starten Sie den Berichtsdesigner und erstellen Sie einen neuen Bericht. Fügen Sie der Berichtsseite ein Band "Berichtskopf" und ein Objektbild hinzu. Der Bericht sollte folgendermaßen aussehen.
Wählen Sie das Objekt «Bild» aus und wechseln Sie zum Objektinspektor. Suchen Sie im Objektinspektor die Eigenschaft DataLink. Für eine schnelle Suche können Sie den im Objektinspektor integrierten Filter verwenden, indem Sie den Namen der gesuchten Eigenschaft eingeben.
Betrachten wir den Wert der untergeordneten DataLink-Eigenschaften:
Link ist ein Link mit einem Schema (Protokoll), im Format <Schema>:[//Pfad]. Die Daten werden vom angegebenen Link heruntergeladen.
LoadingType ist ein Download-Typ, der gibt an, wann die Daten hochgeladen werden. Er kann die folgenden Werte annehmen:
[] – Leer. Die Daten werden im Bearbeitungsmodus der Vorlage geladen, indem der Benutzer auf den Download-Editor klickt. Der Wert wird verwendet, wenn die Daten nur einmal abgerufen und in einer Vorlage gespeichert werden sollen.
Legen Sie die DataLink.Link-Eigenschaft des «Bild»-Objektes mit einem Link zu einem Bild auf der Webseite, z.B. fest. Starten Sie Ausführung des Berichts.
Andere Objekte wie Text, Bild, Karten, HTMLView, PDFView können auf die gleiche Weise geladen werden.
Die Links können verwendet werden, um auf Web-APIs zuzugreifen und Daten abzurufen, z. B. OSM-Karten.
Erstellen Sie einen neuen Bericht mit dem «Berichtskopf»-Band und mit einem Karten-Objekt mit einer leeren Ebene (Mehr Information über die Erstellung eines Karten-Objekts entnehmen Sie bitte unserer Dokumentation unter).
Wählen Sie nun die MapFileLayer1-Kartenebene und gehen Sie im Objektinspektor auf die DataLink.Link-Eigenschaft. Die OpenStreetMap-API kann zum Herunterladen von OSM-Karten verwendet werden. Lassen Sie uns versuchen, den ausgewählten Bereich in FastReport VCL anzuzeigen. Der API-Link wird wie folgt aussehen: https://www.openstreetmap.org/api/0.6/map?bbox=-6.7234%2C61.6283%2C-6.697%2C61.6379 , fügen Sie ihn in die Eigenschaft DataLink.Link ein. Starten Sie die Berichtserstellung.
Die Daten vom Server wurden automatisch in das Kartenobjekt geladen.
In FastReport VCL werden alle Schemata und Protokolle der DataLink-Eigenschaft über die Factory verarbeitet. Dies ermöglicht es Entwicklern, die Funktionalität der Anwendung zu erweitern, indem sie neue Schemata und Protokolle hinzufügen, ohne den Quellcode von FastReport VCL ändern zu müssen. Dazu registriert FastReport VCL automatisch Internet-Transporte in der Factory als neue Protokolle. So können Sie auf einen privaten Cloud-Speicher zugreifen und Daten daraus in den Bericht hochladen, ohne Autorisierungsdaten innerhalb des Berichts zu übertragen oder zu speichern. Das Schema des Zusammenwirkens der DataLink-Eigenschaft mit der Protokoll-Factory finden Sie unten.
Wie sollen wir einen Internet Transport hinzufügen und Links zu einem privaten Google Drive verwenden?
Das ist in wenigen Schritten möglich:
Wichtig! Wenn die Daten nicht hochgeladen werden, prüfen Sie, ob die Verbindung zum Cloud-Speicher korrekt hergestellt wurde und ob das Autorisierungs-Token bei der Verbindung gespeichert wurde.
Ebenso können Sie eine Verbindung zu anderen Internet-Transporten herstellen. Dies ist eines der wenigen leistungsstarken Tools, die mit der Veröffentlichung von FastReport VCL 2021.3 erschienen sind und die Sie zur Verbesserung Ihrer Projekte verwenden können.