Autor Beitrag
Morpheus1572
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 157

Win XP
Delphi 7
BeitragVerfasst: Mi 12.11.08 16:45 
Moin,

Rave hat es echt in sich. Ich verzweifle aber gut, ich komme voran. nur eines finde ich nciht. wie kann ich die gesamtanzahl der seiten ermitteln damit ich so was wie: 'Seite 5 von 120' erhalte?

Achja, ich programmiere CodeBased. wäre klasse, wenn jemand hier ne hilfe hätte.

Thx Morph.
Andreas Schilling
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 128
Erhaltene Danke: 1

WIN XP, WIN 7
Delphi 5 Ent, Delphi 2007 Pro, XE4
BeitragVerfasst: Do 13.11.08 07:50 
Wenn du weist wie man eine Datatextkomponente einfügst
ausblenden Delphi-Quelltext
1:
2:
3:
  uses RvCsData

  Datatext1.datafield := 'Report.CurrentPage + '' / '' +Report.TotalPages';
Morpheus1572 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 157

Win XP
Delphi 7
BeitragVerfasst: Do 13.11.08 15:21 
Äh, das ist mir nicht ganz klar. kannst du mir kurz ne hilfe geben?
Andreas Schilling
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 128
Erhaltene Danke: 1

WIN XP, WIN 7
Delphi 5 Ent, Delphi 2007 Pro, XE4
BeitragVerfasst: Do 13.11.08 16:03 
Es kommt darauf an was du unter Codebased verstehst. Ich gehe davon aus, dass du den Report mit Delphi zur Laufzeit erzeugst und das dies schon funktioniert. Für die Anzeige der "Seite aktuelle von Seiten insgesamt" ist eine Datatext-Komponente zu plazieren und als Datafield ist eben kein Datenbankfeld oder Reportparameter anzugeben sondern die Reportvariablen "Report.CurrentPage" und "Report.TotalPages". Diese Variablen werden von Rave zur Laufzeit mit den entsprechenden Werten gefüllt.
Morpheus1572 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 157

Win XP
Delphi 7
BeitragVerfasst: Mi 19.11.08 16:38 
okay. soweit klar.

mein report lööft schon ordentlich. reichen die 3 zeilen (sorry 2) von dir aus um das gewünschte ergebnis zu bekommen oder muss ich da noch irgendwas initialisieren oder so?

wie gesagt. ich habe so ein ähnlichen code bereits gefunden werde aber nicht schlau draus, wenn ich ihn für mich anwenden möchte...

Gruß Morph.
rob87
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 461

Win Me, Win XP Home, Win XP Prof
Delphi 2007 Enterprise
BeitragVerfasst: Mi 19.11.08 17:49 
user profile iconMorpheus1572 hat folgendes geschrieben Zum zitierten Posting springen:
okay. soweit klar.

mein report lööft schon ordentlich. reichen die 3 zeilen (sorry 2) von dir aus um das gewünschte ergebnis zu bekommen oder muss ich da noch irgendwas initialisieren oder so?

wie gesagt. ich habe so ein ähnlichen code bereits gefunden werde aber nicht schlau draus, wenn ich ihn für mich anwenden möchte...

Gruß Morph.

Da brauchst eg nix zu initialisieren. Du bindest einfach wie "Andreas Schilling" gesagt hat, folgende Zeile
Zitat:
Report.CurrentPage + '' / '' +Report.TotalPages
in die Eigenschaft "DataField" ein.
Und des wars...

Sollte so laufen. Also bei mir tuts es :wink:
Morpheus1572 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 157

Win XP
Delphi 7
BeitragVerfasst: Mi 19.11.08 19:35 
da liegt ja mein verständnisproblem.

ich mache das codebased. also zur laufzeit usw.

und wie mache ich rave klar was 'Datatext1.' ist. ich muss das doch sicher irgendwie einbinden oder eben initialisieren? Oder bin ich grad echt so verbohrt????

Gruß Morph.
rob87
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 461

Win Me, Win XP Home, Win XP Prof
Delphi 2007 Enterprise
BeitragVerfasst: Do 27.11.08 10:17 
user profile iconMorpheus1572 hat folgendes geschrieben Zum zitierten Posting springen:
da liegt ja mein verständnisproblem.

ich mache das codebased. also zur laufzeit usw.

und wie mache ich rave klar was 'Datatext1.' ist. ich muss das doch sicher irgendwie einbinden oder eben initialisieren? Oder bin ich grad echt so verbohrt????

Gruß Morph.

Hmm... Während der Laufzeit is des natürlich dann kniffliger. Warum ned schon zuvor?? Ich weiß ned, ob es da ne Möglichkeit gibt. Hab ich noch nie ausprobiert. Event. in der Programmierumgebung vom Rave. Aber da kenn ich mich auch ned aus...
Andreas Schilling
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 128
Erhaltene Danke: 1

WIN XP, WIN 7
Delphi 5 Ent, Delphi 2007 Pro, XE4
BeitragVerfasst: Do 27.11.08 10:50 
wird zwar von mir verwendet um fertige Reports zur Laufzeit anzupassen, sollte aber bei komplett zur Laufzeit erzeugten auch funktionieren. Es wird erwartet der Reportname, der Seitenname im Report und es ist die Datatext-Komponente dort zu erzeugen, wo die Seitenzahl erscheinen soll.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
uses RvCsData, RVClass, RVProj;

procedure ...
  var Datatext1 : TRavedatatext;
      PageR : TRavePage;
      Rep : TRaveReport;
begin
  // es wird benötigt in Delphi die Raveprojektkomponente
  Rep := Name-der-RaveProjektkomponente.ProjMan.findravecomponent('hier interner Reportname'nilas TRaveReport;
  PageR := Name-der-RaveProjektkomponente.ProjMan.findravecomponent('hier Seitename des Report', Rep) as TRavePage;
  Datatext1 := Name-der-RaveProjektkomponente.ProjMan.findravecomponent('hier Name der Datatextkomponenete', PageR) as TRavedatatext; 
  if Datatext1 <> nil
  then Datatext1.datafield := 'Report.CurrentPage + '' / '' +Report.TotalPages';

  ....
end;


Wenn du hiermit nicht klarkommst, dann zeige mal deinen Quelltext vom Report erzeugen.