AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Rave Reports

Ein Thema von MichaelB · begonnen am 10. Dez 2003 · letzter Beitrag vom 10. Dez 2003
Antwort Antwort
MichaelB

Registriert seit: 10. Dez 2003
1 Beiträge
 
#1

Rave Reports

  Alt 10. Dez 2003, 11:36
Hallo,

ich habe da ein riesiges Problem mit den Rave Reports. Das Thema wurde schon häufiger besprochen, aber mit mir leider keine Klarheit verschafft. Also nicht böse sein, sollte mein Problem schon häufiger besprochen worden sein.

Ich programmiere mit Delphi7 und möchte jetzt einfach mal zu Übungszwecken eine Report mit Rave generieren, der nicht weiter macht als eine Zahl aus einem Array anzuzeigen.

Dazu habe ich mir eine Form genommen und auf diese einen Button gelegt, eine TRvProject - Komponente und eine TRvCustomConnection-Komponente.

In Rave habe ich eine Data-View Komponente, welche ich mit der TRvCustomConnection-Komponente verbunden habe. Dem Report(Page1) habe ich eine DataText-Komponente, welche nun meine Daten anzeigen soll.

Aus einem älteren Posting habe ich folgende Prozeduren übernommen (hier meine gesammte Unit).

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, RpRave, RpDefine, RpRender, RpRenderRTF, RpCon;

type
  TForm1 = class(TForm)
    RvProject1: TRvProject;
    Button1: TButton;
    RvCustomConnection1: TRvCustomConnection;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure RvCustomConnection1Open(Connection: TRvCustomConnection);
    procedure RvCustomConnection1GetRow(Connection: TRvCustomConnection);
    procedure RvCustomConnection1GetCols(Connection: TRvCustomConnection);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  IntArray: Array[1..100] of integer;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var i : integer;
begin
   For i := 1 to 100 do IntArray[i] := i;
end;

procedure TForm1.Button1Click(Sender: TObject);
var wert: String;
begin
   wert := '100';
// RvProject1.SetParam('wert',wert);
   RvProject1.ExecuteReport('report1');
end;

procedure TForm1.RvCustomConnection1Open(Connection: TRvCustomConnection);
begin
  //Anzahl der Datenzeilen; Da hier headerdaten nur 1
  Connection.DataRows := 1;

end;

procedure TForm1.RvCustomConnection1GetRow(
  Connection: TRvCustomConnection);
begin
  //Tatsächlichen Daten an den Report übergeben
  connection.WriteStrData('',inttostr(intArray[1]));

end;

procedure TForm1.RvCustomConnection1GetCols(
  Connection: TRvCustomConnection);
begin
   //Datenfelder definieren
  connection.WriteField('Name',dtString,30,'','');

end;

end.
Wenn ich das Programm nun starte, dann erscheint auch der Report, aber ohne Daten. Beim Debuggen werden die Prozeduren von RvCustomConnection nie durchlaufen.

Kann mir jemand helfen und mir dagen wo das Problem liegt?

Viele Danke
Michael

[edit=sakura] [color] mit [delphi] Tags ausgetauscht. Mfg, sakura[/edit]
  Mit Zitat antworten Zitat
Blechwolf

Registriert seit: 9. Sep 2003
Ort: Aachen
126 Beiträge
 
Delphi 7 Professional
 
#2

Re: Rave Reports

  Alt 10. Dez 2003, 17:01
Salut,

Zitat von MichaelB:
In Rave habe ich eine Data-View Komponente, welche ich mit der TRvCustomConnection-Komponente verbunden habe. Dem Report(Page1) habe ich eine DataText-Komponente, welche nun meine Daten anzeigen soll.
Hast Du denn der Data-Text Komponente auch Dein DatenFeld(Name) zugewiesen ?


Zitat von MichaelB:
Delphi-Quellcode:
procedure TForm1.RvCustomConnection1GetRow(
  Connection: TRvCustomConnection);
begin
  //Tatsächlichen Daten an den Report übergeben
  connection.WriteStrData('',inttostr(intArray[1]));

end;

procedure TForm1.RvCustomConnection1GetCols(
  Connection: TRvCustomConnection);
begin
   //Datenfelder definieren
  connection.WriteField('Name',dtString,30,'','');

end;
Da Du mit Integer-Daten arbeitest, würde ich auch dem Report die Integer-Daten übergeben. Das verbessert (meiner Ansicht nach) den Informationsgehalt des Codes...

Delphi-Quellcode:
procedure TForm1.RvCustomConnection1GetRow(
  Connection: TRvCustomConnection);
begin
  //Tatsächlichen Daten an den Report übergeben
  connection.WriteIntData('',intArray[1]);

end;

procedure TForm1.RvCustomConnection1GetCols(
  Connection: TRvCustomConnection);
begin
   //Datenfelder definieren
  connection.WriteField('Name',dtInteger,30,'','');

end;
Grüße

Wolf http://www-users.rwth-aachen.de/wolf...tballSmile.gif
Ein Schiff im Hafen ist sicher. Aber dafür werden Schiffe nicht gebaut. (engl. Sprichwort)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:20 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