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 Wie funktioniert Rave ?????? (https://www.delphipraxis.net/91589-wie-funktioniert-rave.html)

WoTo 7. Mai 2007 13:35


Wie funktioniert Rave ??????
 
Hallo zusammen,
ich versuche schon den ganzen Vormittag mit Hilfe von Rave den Inhalt einer StringList auszugeben.

Ich habe auf dem Formular eine TRvProjekt- und eine TRvCustomConnection-Komponente plaziert.

Folgenden Code habe ich dann noch geschrieben:
Delphi-Quellcode:
procedure TForm1.RvCustomConnection1GetCols(Connection: TRvCustomConnection);
begin
  Connection.WriteField('Meter',dtfloat,10,'Meter','');
  Connection.WriteField('Meter3',dtfloat,10,'Meter3','');
end;

procedure TForm1.RvCustomConnection1GetRow(Connection: TRvCustomConnection);
var
  TankValue : TTankValue;
  i : integer;
begin
  for i := 0 to Pred(FTank.ValueList.Count) do
  begin
    TankValue := TTankValue(FTank.ValueList.Objects[i]);
    Connection.WriteFloatData('Meter',TankValue.VAlue[0]);
    Connection.WriteFloatData('Meter3',TankValue.VAlue[1]);
  end;
end;
Nachdem ich das Programm gestartet habe, habe ich mit Hilfe des Rave-Wizard eine SimpleTable erstellt.

Wenn ich nun das Rave-Projekt starte, so werden unendlich viele Seiten generiert.

Warum ist das so ? :wall:

merlin17 7. Mai 2007 15:45

Re: Wie funktioniert Rave ??????
 
don't panic <g>

Delphi-Quellcode:
procedure TForm1.RvCustomConnection1GetRow(Connection: TRvCustomConnection);
begin
    Connection.WriteFloatData('Meter',TankValue.VAlue[0]);
    Connection.WriteFloatData('Meter3',TankValue.VAlue[1]);
  end;
end;
der rest wird mit RvCC.open/next/eof der CustomConnection geregelt (suche hier einmal nach CC!)


:-) thomas, TeamNevrona

WoTo 7. Mai 2007 15:51

Re: Wie funktioniert Rave ??????
 
Hallo Merlin17,

vielen Dank, jetzt funzt es. :spin2:

Nun kommt aber das 2.Problem: :roll:

Ich möchte ein TChart ausdrucken. Dabei habe ich mir den Tip von der Nevrona-Seite angesehen und genauso programmiert.
Leider meckert der Compiler bei dem Befehl WriteChartData(), den kennt der Compiler anscheinend nicht.
Die Hilfe ist leider, wie so oft, keine Hilfe. :evil:

Ich verwende Delphi2005 Prof. und Rave Version 6.0.1 (BE).

Muß ich noch irgendweine Unit einbinden ? :gruebel:

MfG
Woto

merlin17 7. Mai 2007 15:54

Re: Wie funktioniert Rave ??????
 
Zitat:

und genauso programmiert.
wirklich ?????? :angel:

siehe erste zeile vom example:

uses
RPTChart;



:cheers: thomas, TeamNevrona

WoTo 7. Mai 2007 16:12

Re: Wie funktioniert Rave ??????
 
:oops: ich sollte für heute aufhören :oops:

Entschuldigung ! :duck: und vielen Dank !

MfG
Woto

WIng2005 17. Jan 2008 08:47

Re: Wie funktioniert Rave ??????
 
Liste der Anhänge anzeigen (Anzahl: 1)
Habe mir auch mal nen kleinen Report zusammengebaut,
und gemäß einiger Beispiele und Threads hier im Forum alles gemacht.
Wenn ich nun meine Report starte, bekomme ich nun auch unendlich viele Seiten....

Hier mal mein Code:

Delphi-Quellcode:
Procedure Rep_FPL();
var datei:string;
begin
with mainform do
Begin
  datei:='S:\Eigene Dateien\Project1.rav';
  rvproject1.ProjectFile:=datei;

  rvproject1.open;
  rvproject1.Execute;
  rvproject1.Close;

end;//with mainform
end;

procedure Rep_fpl_GetCol(Connection: TRvCustomConnection);
Begin
  connection.WriteField('teilenr',dtString,20,'','');
end;

procedure Rep_fpl_GetRow(Connection: TRvCustomConnection);
Begin
  connection.WriteStrData(mainform.STGRPFPL2_UE_1.Cells[0,zeile], '');
end;

procedure Rep_fpl_next(Connection: TRvCustomConnection);
begin
  inc(zeile);
end;

procedure Rep_fpl_open(Connection: TRvCustomConnection);
begin
  zeile:=2;
  connection.datarows:=mainform.STGRPFPL2_UE_1.rowcount;

end;
Ziel ist es, (erstmal) eine Spalte des Grids (STGRPFPL2_UE_1) zu ducken. Wenn ich im Databand1 des angehangenen Reports die
MaxRows eigenschaft auf z.B 10 setze, funzt alles. Trage ich hier jedoch den Wert 0 ein, ist das ergebnis unbrauchbar. Leider kann ich vorher nicht sagen, wieviele Zeilen mein Grid hat.
Bin echt am Ende.........

MFG
Steffen

merlin17 17. Jan 2008 09:05

Re: Wie funktioniert Rave ??????
 
so auf die schnelle: ich vermisse das EOF-Handling in dem CC-Bereich von dem CodeSchnipsel....

:-) thomas, TeamNevrona

WIng2005 17. Jan 2008 09:10

Re: Wie funktioniert Rave ??????
 
Sorry, hatte ich vergessen anzuhängen:

Delphi-Quellcode:
procedure TMainForm.RvCustomConnection1EOF(Connection: TRvCustomConnection;
  var Eof: Boolean);
begin
eof:=(zeile>50);
end;
MFG
Steffen

WIng2005 17. Jan 2008 09:20

Re: Wie funktioniert Rave ??????
 
Alles klar...genau beim EOF lag das Problem.... ich sollte "Zeile" schon global machen... :wall:

Trotzdem danke!!!!!!!!!!!


MFG
Steffen

WIng2005 17. Jan 2008 11:25

Re: Wie funktioniert Rave ??????
 
Liste der Anhänge anzeigen (Anzahl: 1)
OK, soweit nun also so gut.
Nun entsteht (und ich bin mit meinen Nerven bald am Ende) folgendes Problem:

Wenn ich versch. DataText-Felder einfüge, kann ich als DataField keine neuen Felder Definieren.
Wo kann ich denn einem DataView neue Datenfelder vergeben?


MFG
Steffen

P.S. Sorry, wenns eigentlich garnicht mehr zum Thread passt.

merlin17 17. Jan 2008 12:31

Re: Wie funktioniert Rave ??????
 
wenn man es weiss, ist es ganz einfach :angel:

starte Deine Applikation (mehr nicht!) und dann kannst Du in der RAVE-IDE
mit der rechten Maustaste auf die DataView die Metadaten aktualiseren, that's all
Die RaveIDE muss nur auf die procedure zugreifen, und das geht nur beim aktiven Programm (aber kein
RvProject1.Execute o.ä. ausführen ....)


:-) thomas, TeamNevrona

WIng2005 17. Jan 2008 12:40

Re: Wie funktioniert Rave ??????
 
OK...also:

D7 ist mit meinem Projekt offen -> rechte MT auf RvProject1 ->Rave Visual Designer
-> rechte MT auf Dataview1 -> aktualisieren

Ergebnis auch die "teilenr" ist weg (hatte ich manuell eingegeben,siehe Bild) und es steht nur noch "DataView1FieldName" drin.


Oder habe ich dich jetzt falsch verstanden?


MFG
Steffen

merlin17 17. Jan 2008 13:11

Re: Wie funktioniert Rave ??????
 
nein...

1. Du hast die RAVE-IDE laufen
2. Du startest aus Delphi Deine Applikation
3. Das Formular mit den OnGetCol; GetRow etc. proceduren ist created
4. mit ALT+TAB in die RAVE-IDE wechseln und jetzt dort rechte Maustauste refresh auf die DV
jetzt liest die RAVE-IDE die WriteField-Info's aus....

:cheers:


:-) thomas, TeamNevrona

WIng2005 17. Jan 2008 13:23

Re: Wie funktioniert Rave ??????
 
Du bist mein Held!!!!

Vielen Dank... dieses kleine Detail-> "App muß laufen" hat mich also zum Bluthochdruck getrieben....
Hatte immer nur Delphi laufen.... naja, wenn man drüber nachdenkt, klingts ja schon logisch.. :wall: .



MFG
Steffen

merlin17 17. Jan 2008 13:30

Re: Wie funktioniert Rave ??????
 
Rave ist logisch, aber manchmal für den Einstieg etwas tricky..... :love:

Viel Spaß weiterhin mit Rave Reports!


:-) thomas, TeamNevrona

WIng2005 17. Jan 2008 13:34

Re: Wie funktioniert Rave ??????
 
Ich werde mich sicher noch öfter zum Thema melden....wie du schon sagst: etwas tricky..


Alles wird gut!

Nochmals vielen Dank

MFG
Steffen


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:56 Uhr.

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