AGB  ·  Datenschutz  ·  Impressum  







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

einfaches RAVE Beispiel

Ein Thema von wschrabi · begonnen am 20. Jul 2012 · letzter Beitrag vom 20. Jul 2012
Antwort Antwort
wschrabi

Registriert seit: 16. Jan 2005
437 Beiträge
 
#1

einfaches RAVE Beispiel

  Alt 20. Jul 2012, 10:19
Datenbank: mySQL • Version: 5.5.8 • Zugriff über: myDAC
Hallo,
ich bastle heute meine erste Rave App mit Delphi 7.
Doch macht es Schwierigkeiten.

Code:
procedure TForm1.Button7Click(Sender: TObject);
begin
  With RvProject1.ProjMan do
    begin
    RvProject1.Open;
    RvDataSetConnection1.ExecGetCols; // get list
    RvDataSetConnection1.ExecGetRow; // obtain records
    RvProject1.ExecuteReport('Report3');
    Close;
  end;
end;

procedure TForm1.RvDataSetConnection1GetCols(
  Connection: TRvCustomConnection);
begin
  Connection.WriteField ( 'Journal', dtString, 200 ,'','');
end;

procedure TForm1.RvDataSetConnection1GetRow(
  Connection: TRvCustomConnection);
var
  s: string;
  Buffer: PChar;
begin
  Connection.WriteStrdata ('', DBGrid1.Fields[0].AsString );
end;

procedure TForm1.Button8Click(Sender: TObject);
begin
  MyQuery3.Execute;
end;

procedure TForm1.RvDataSetConnection1Open(Connection: TRvCustomConnection);
begin
  Connection.DataRows := 1;
end;
Im DBGrid sieht man die Journals sehr schön. Doch wenn ich den Report erzeuge und mit Preview in sehe, dann ist das Blatt leer (ausser die Seitenzahl 1)
Miniaturansicht angehängter Grafiken
ravedesigner.png  
  Mit Zitat antworten Zitat
Patito

Registriert seit: 8. Sep 2006
108 Beiträge
 
#2

AW: einfaches RAVE Beispiel

  Alt 20. Jul 2012, 11:03
Im OnOpen() sagst Du dem Report wieviele Zeilen deine Connection liefert.
Mit Connection.DataRows := 1 ist das natürlich nur eine.

Im GetRow() solltest Du Connection.DataIndex verwenden. (das sagt welche Zeile er haben will).

Delphi-Quellcode:
procedure TMyReport.OnRvCCOpen(Connection: TRvCustomConnection);
begin
  Connection.DataRows := self.MyReportData.GetDataCount;
end;

procedure TMyReport.OnRvCCGetRow(Connection: TRvCustomConnection);
var AktItem: TMyItem;
begin
  AktItem := self.MyReportData.GetData_ForIndex(Connection.DataIndex);

  Connection.WriteIntData('', AktItem.Id);
  Connection.WriteIntData('', AktItem.Name);
  Connection.WriteStrData('', AktItem.Text);
end;
  Mit Zitat antworten Zitat
wschrabi

Registriert seit: 16. Jan 2005
437 Beiträge
 
#3

AW: einfaches RAVE Beispiel

  Alt 20. Jul 2012, 11:57
Hi Patito,
ich hab Probleme mit self.MyReportData.
Das kennt er nicht. Was ist denn das genau.
Ich hab ein DBGird.

Jetzt hab ich im Rave Designer den Report nochmals neu generiert und
jetzt kann ich wenn ich im Rave Designer F9 drücke den Report sehen.
Doch leider geht es noch nicht im Delphi prg.
Was mache ich falsch?
danke
mfg
walter

PS: Ich verwende DELPHI 7 und RAVE 5.0

Geändert von wschrabi (20. Jul 2012 um 13:02 Uhr)
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#4

AW: einfaches RAVE Beispiel

  Alt 20. Jul 2012, 14:25
Hi Patito, ich hab Probleme mit self.MyReportData. Das kennt er nicht. Was ist denn das genau.
Keine Ahnung, was self.MyReportData sein soll.

Ich hab ein DBGird.
Echt? Und was hat das mit Rave zu tun?

Wenn du ein DBGrid verwendest, hast du doch sicher auch ein Dataset, auf das ein Datasource verweist, welches deinem DBGrid die Daten bereitstellt. Nun nimmst du eine TRvDatasetConnection, verbindest die mit deinem Dataset und startest den Rave-Designer. Dort klickst du auf den View-Button (erstellt ein neues View) und wählst im daraufhin erscheinenden Dialog Direct Data View aus. Damit hast du ein Abbild deines Datasets aus deinem Delphi-Programm.

Damit funktioniert ein TRvProject.Execute auf jeden Fall.


Jetzt hab ich im Rave Designer den Report nochmals neu generiert und
jetzt kann ich wenn ich im Rave Designer F9 drücke den Report sehen.
Doch leider geht es noch nicht im Delphi prg.
Was mache ich falsch?
Keine Ahnung, ich weiß ja nicht, was du überhaupt machst.
  Mit Zitat antworten Zitat
wschrabi

Registriert seit: 16. Jan 2005
437 Beiträge
 
#5

AW: einfaches RAVE Beispiel

  Alt 20. Jul 2012, 16:51
Danke, jetzt klappt es wie es soll. Ich musste RAVE 5.0.4 neu installieren - war irgendwas am System. So wie Du es mir erklärt hast habe ich es mir auch gedacht. Schönen DANK.
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#6

AW: einfaches RAVE Beispiel

  Alt 20. Jul 2012, 16:54
Danke, jetzt klappt es wie es soll. Ich musste RAVE 5.0.4 neu installieren - war irgendwas am System. So wie Du es mir erklärt hast habe ich es mir auch gedacht. Schönen DANK.
Ist ja toll ... aber wen meinst du jetzt eigentlich.

Wenn man jemanden direkt ansprechen möchte, ohne ihn zu zitieren (weil dann wär ja klar, wer gemeint ist), setzt man vor den Text ein @, gefolt von dem Nick des Angesprochenen, z.B. @Perlsau ...
  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 22:59 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