Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Dynamische Reports / Auswertungsverfahren (https://www.delphipraxis.net/159275-dynamische-reports-auswertungsverfahren.html)

Dawn87 21. Mär 2011 14:57

Dynamische Reports / Auswertungsverfahren
 
Hallo,

ich untersuche gerade eine Möglichkeit ein Programm mit einer Datenauswertung zu versehen.

Ich betreue eine Software die über eine USB-Verbindung einige Daten aus einem Datenlogger ausließt und diese in Linien, Säulen und 3D-Diagrammen grafisch Darstellen soll. Diese Funktionalität ist bisher in einem Excel-Makro ausgelagert und funktioniert grundsätzlich. Das Ziel ist jedoch diese Auswertung in der Windows-Software selber vorzunehmen.

Kernanforderung an diese Auswertung sind:

- Druckbarkeit: Die Auswertung muss sich vom Benutzer ausdrucken lassen
- Flexibilität: Die einzelnen Diagramme müssen sich vom Benutzer anordnen lassen (z. B. per Drag & Drop)
- Dynamisierbarkeit: Es gibt verschiedene Versionen des angesprochenen Datenloggers. Einige Version verfügen über Daten die "einfachere" Versionen nicht haben. Es sollen nur die Daten angezeigt werden, die wirklich verfügbar sind.

Die Daten selber werden von der Windows-Software bisher in ein XML-Dateiformat geschrieben, welches auch als Datenquelle für die Diagramme dienen soll.

Wie würdet ihr so etwas angehen? Sind die verfügbaren Report-Komponenten für so etwas geeignet (Stichpunkt Flexibilität) oder sollte man lieber Chart-Komponenten einkaufen und den Report "zu Fuß" erstellen (Wie erreicht man dann jedoch die "Druckbarkeit")?

Hat jemand einen Vorschlag, welcher Weg hier sinnvoll ist? Entwickelt wird mit Delphi 2007.

Grüße
Dawn

generic 21. Mär 2011 15:08

AW: Dynamische Reports / Auswertungsverfahren
 
Klingt für mich wie eine dynamische Webseite mit viel Javascript, Interaktivität und HTML5-Canvas.

Wenn es denn Delphi sein muss, dann TWebbrowser einbetten und die Webseite mit Delphi-Code erzeugen und in den Browser streamen.

Mit einen Print-Style lässt sich der Druck prima gestalten.

Dawn87 21. Mär 2011 16:23

AW: Dynamische Reports / Auswertungsverfahren
 
Hallo,

zunächst einmal Dankeschön für Deine Antwort.

Dein Vorschlag klingt sehr interessant.

Folgende Probleme sehe ich allerdings darin:


- Kann die angepasste Darstellung irgendwie gesichert werden? Wenn der Benutzer die Reihenfolge der dargestellten Diagramme ändert, möchte er diese auch bei der nächsten Betrachtung in der konfigurierten Reihenfolge angezeigt bekommen.
- Der Internet Explorer unterstützt erst ab Version 9 das HTML5 CANVAS-Tag was für die Darstellung von Diagrammen wohl erforderlich ist. Diesen als Voraussetzung für die Auswertefunktion zu bennen, halte ich aufgrund des geringen Verbreitungsgrades für gewagt. Ich muss davon ausgehen, dass unsere Kunden nicht unbedingt den relativ neuen Internet Explorer installiert haben, da viele auch nur von einer IT-Abteilung freigegebene Software verwenden dürfen. Mögliherweise ist hier die GECKO-Engine von Mozilla eine Alternative, dass prüfe ich gerade noch.

Habe ich das richtig erkannt? Ich finde den Ansatz trotzdem sehr schick und flexibel. Damit werd ich mich jetzt noch einmal näher beschäftigen.

Grüße

generic 22. Mär 2011 13:54

AW: Dynamische Reports / Auswertungsverfahren
 
Binde Chrom mit ein:
http://code.google.com/p/delphichromiumembedded/

Du kannst via Javascript auf Delphi und von Delphi auf dem DOM zugreifen. Somit kannst du auch die Einstellungen sichern.

War nicht neulich etwas mit Googlemaps und Delphi in der Zeitung Toolbox? Schau da mal in den Beispiel-Quelltext.
http://www.toolbox-mag.de/content/do...box_2_2011.zip
http://www.toolbox-mag.de/content/do...ile/Source.zip

haentschman 22. Mär 2011 19:50

AW: Dynamische Reports / Auswertungsverfahren
 
Guten Abend...
Deine Anforderungen:
Zitat:

- Druckbarkeit: Die Auswertung muss sich vom Benutzer ausdrucken lassen
- Flexibilität: Die einzelnen Diagramme müssen sich vom Benutzer anordnen lassen (z. B. per Drag & Drop)
- Dynamisierbarkeit: Es gibt verschiedene Versionen des angesprochenen Datenloggers. Einige Version verfügen über Daten die "einfachere" Versionen nicht haben. Es sollen nur die Daten angezeigt werden, die wirklich verfügbar sind.

Die Daten selber werden von der Windows-Software bisher in ein XML-Dateiformat geschrieben, welches auch als Datenquelle für die Diagramme dienen soll.
...ist eigentlich der Klassiker für DB mit Reportsystem.

Mein Vorschlag:
- XML in DB einlesen (DB z.B. Firebird)
(die nicht verfügbaren Werte haben dann einfach NULL im Datenfeld. Diese kannst du dann später aussparen)
- in der DB kannst du dan auch die Einstellungen des Users (Anordnung) speichern
- die DB behällt alle Daten. Das bedeutet auch eine Datenhistorie.
- das Reportsystem FastReport hat TChart dabei wie auch dein Delphi
- die Charts per Drag & Drop geht mir Sicherheit auch. Leider kann ich keine Erfahrung darin vorweisen.
- im Programm TChart verwenden und dann über FastReport ausdrucken.
PS: man kann den TChart auch direkt drucken. Da du aber Flexibilität erwartest hatte ich den Reportgenerator empfohlen.

Meine Meinung:
- mit der klassischen Lösung kommst du schneller zum Ziel als über PHP mit Webbrowser etc.
:hi:

generic 22. Mär 2011 23:49

AW: Dynamische Reports / Auswertungsverfahren
 
Wer spricht hier von PHP und Webserver?

Schön in der Plattform bleiben - das ist effektiver!

XML kann übrigens auch ohne Datenbank prima weiterverarbeitet werden.
Eigentlich ist es mit DB sogar umständlicher.

Genutzt werden kann z.B. sehr gut XSLT.
Da kannst du dann alles draus machen z.B. SVG, HTML, Text, CSV


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:12 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz