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 Rave und Charts (https://www.delphipraxis.net/123862-rave-und-charts.html)

news2swen 10. Nov 2008 14:10


Rave und Charts
 
Hallo zusammen

Ich möchte in einem RaveReport ein Diagramm darstellen. Da es in diesem Forum bereits einige Hilfestellungen dazu gibt, bin ich entsprechend den Anleitungen vorgegangen.

Ich habe mir folgendes erzeugt:
TRvProject
TRvCustomConnection
TChart
einen RaveReport inkl. MetaFile-Komponente

Im Delphi-Projekt erzeuge ich die für den Report notwendigen Übergabeparameter.

Wenn ich nun im Report der Metafile-Komponente mein Chart zuweise, so wird der Report mit "Execute Report F9" ordnungsgemäß angezeigt, d.h. das Diagramm ist zu sehen.

Starte ich den Report jedoch aus der Delphianwendung heraus (RvProject.ExecuteReport('Report1') ), so ist im Report die MetaFile-Komponente leer.

Ist dieses Problem bekannt und wenn ja, gibt es dafür eine Lösung?

Programmiersystem ist Delphi 2007

Gruß

Swen

merlin17 16. Dez 2008 11:35

Re: Rave und Charts
 
wie ist der Code der Customconnection exakt ??



:-) thomas, TeamNevrona (nach langer zeit wieder etwas zeit für die DP ...)

news2swen 16. Dez 2008 12:00

Re: Rave und Charts
 
Hallo

Danke für die Reaktion, allerdings hatte ich diesen Thread bereits geschlossen. Der Fehler saß 50cm vorm Bildschirm :wall: . Ich hatte über die Anwendung den falschen Report aufgerufen, somit durften die Metafile-Objekte nicht gefüllt sein.

Aber ich habe zu diesem Thread einen weiterführenden geöffnet. Vielleicht weißt Du auf diesen eine Antwort.
mehrere Charts in Rave

Swen

Stecky2000 12. Jan 2009 11:20

Re: Rave und Charts
 
Ich möchte mich gerne hier dran hängen.

Ich habe eine unter Delphi 5 Enterprise weitestgehend fertige Anwendung die Charts per Quickreport druckt.

Ich habe von einem Freund Delphi 7 Enterpriese (gebraucht) zum Kauf angeboten bekommen und prüfe nun, inwieweit sich meine Anwendung auf D7 portieren lässt.

Ich habe schon Vorteile festgestellt, bin aber nun auf das problem gestoßen, wie ich meine Quickreport Charts nach Rave bekommen.

Meine Suche im Netzt, hier, Google usw. haben mich nicht weiter gebracht.

ich weis zwar, dass ich mit der CustomConnection arbeiten muss, aber da es in Rave keine Chart-Komponente gibt, arbeitet es wohl mit der Standard TChart.

Ich habe einfach mal ein neues Delphi Projekt aufgemacht, ein Chart mit dieser Zufallsgrafik eingebaut und weis jetzt nicht, wie ich das Chart in den Report bekomme.

Kann mir mal jemand einen Tipp geben, ggf. wo es eine Art Howto oder tutorial gibt?

mquadrat 13. Jan 2009 09:39

Re: Rave und Charts
 
Guckst du hier:
Nevrona - Tip 19 - Printing TCharts in Rave

Stecky2000 13. Jan 2009 16:01

Re: Rave und Charts
 
Danke, werde ich mir anschauen.....

Stecky2000 14. Jan 2009 16:42

Re: Rave und Charts
 
Hi, ich bekomme es nicht hin, hab wohl ein Brett vorm Kopp!!!

Also, ich bin auf die Nevrona Site und habe mir den Kniff #19 vorgenommen.

Mal Schritt für Schritt:

1. Ich habe meine Anwendung in D7 geöffnet und da das Form aufgerufen, auf dem sich ein Tchart (Name: Chart1) befindet.
2. aus dem D7 Rave Reiter die Komponente RvCustomConnection auf das Form gezogen.
3. Die RvCustomConnection auf dem Form in "RvCustomConnection2" umbenannt, normalerweise hies sie "RvCustomConnection1".
4. Die "RvCustomConnection2" markiert
5. Im Objectinspektor die Ereignisse "RvCustomConnection2GetCols" und "RvCustomConnection2GetRow" per Doppelklick angelegt.
6. Den Code dann wie auf Nevrona-Site angegeben vervollständigt.

Delphi-Quellcode:
procedure TGrafikx.RvCustomConnection2GetCols(Connection: TRvCustomConnection);
begin
  with Connection do
    begin
      // PieChart is the name of the DataField that you will use in Rave
      WriteField('PieChart', dtGraphic, 30, '', '');
    end; { with }
end;

procedure TGrafikx.RvCustomConnection2GetRow(Connection: TRvCustomConnection);
begin
  // Chart is the name of the TChart component you are wanting to print
  WriteChartData(Connection, Chart1);
end;
Mein erstes Problem hierbei: Bei "WriteField('Series1', dtGraphic, 30, '', '');" hab ich nicht verstanden, was ich eintragen muss.
Da steht ja "PieChart is the name of the DataField that you will use in Rave", ich weis aber nicht was gemeint ist.
Soll das z. B. "Series1" sein? Dann würde sich aber die Frage stellen, was ich eintrage wenn ich "Series1" bis "Series8" habe?

Wie auch immer, ich hab mal "Series1" zum testen eingetragen.

9. Das Programm in D7 gestartet.
10. den Rave Designer geöffnet.
11. Datei/Neues DatenObjekt angeklickt
12. Dann "Direkte Datenansicht"

Und dann bekomme ich folgenden Fehler:
Warning! Duplicate Runtime data Connections found with name "RvCustomConnection2"

Was mache ich falsch?

Stecky2000 15. Jan 2009 14:50

Re: Rave und Charts
 
So, ich habe das erste Problem gelöst, war ein Fehler von mir.
Das Formular auf dem die RvCustomConnection-Komponete liegt wird beim Programmstart erzeugt und im Hintergrund gehalten.

Bei Visualisieren hab ich sie ein zweites mal aufgebaut, was natürlich auch die Doppelung (duplicate) der Komponente mit sich brachte.


Leider besteht noch mein zweites Problem:

Ich weis nicht was in die die Zeile "WriteField('PieChart', dtGraphic, 30, '', '');" anstatt "PieChart" eingetragen wird.

Ich habe mal "Chart1", "Chart1.series1", "irgendeinText" usw. versucht, aber meim Erzeugen der Preview im Rave designer bekomme ich kein Chart zu sehen.

Vielleicht meldet sich jemand der mir den nötigen Tipp geben kann.

PS. in der Help zu Rave bekomme ich die Funktion WriteField sowie deren Parameter nicht angezeigt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:10 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