Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   Fastreport - Seitensteuerung (https://www.delphipraxis.net/156045-fastreport-seitensteuerung.html)

ATS3788 18. Nov 2010 00:22

Fastreport - Seitensteuerung
 
Hallo weiß jemand wie
ich bei Fastreport eine Steurung
von Seiten hinbekomme
was bei Rave "GotoPage" war.

Also ich möchte Page1 dann Page2 und wieder Page1 usw
ausdrucken.

Desweiteren. Reicht bei FastReport die Basic Lizens

Danke im vorraus

Lemmy 18. Nov 2010 09:02

AW: Fastreport - Seitensteuerung
 
Hi,

kennen Rave und GotoPage nicht. Du kannst aber einen Report individuell zusammenstellen.

dazu brauchst DU 2 frxReport Instanzen:
Delphi-Quellcode:
frxReport_Temp.LoadFromFile(XXX);
frxReport_Temp.PrepareReport(true);

frxReport_Final.PreviewPages.AddFrom(frxReport_Temp);
das "PrepareReport(true)" bedeutet, dass er den bisherigen Inhalt des Reports löscht und den Report vorbereitet. Über "PrepareReport(False)" kannst Du unterschiedliche Reportfiles dort zusammenfassen. Da das Prepare aber dann immer alle Seiten durchläuft, solltest Du (je nach Umfang) den vorbereiteten Bericht "zwischenspeichern", das geht dann über die zweite Instanz, indem Du da einfach die Pages rübergibst (PreviewPages.AddFrom).

Zum Umfang von FR:
Ich verwende die StandardEdition, da dort das Scripting im Report möglich ist, das ist ganz sinnvoll, wenn man z.B. Subreports ausblenden will usw. Bei der Prof ist auch der Sourcecode dabei, das werde ich mir vermutlich beim nächsten Update auch noch leisten, weil Du solche Geschichten wie da oben aus dem Sourcecode raus bekommst bzw. bei Fehler im Report einfach weiter kommst (also wenn eine Fehlermeldung auftritt). Das ist ohne Sourcen aufwändiger.

GRüße

ATS3788 18. Nov 2010 11:44

AW: Fastreport - Seitensteuerung
 
Danke für die schnelle Antwort

ATS3788 18. Nov 2010 13:47

AW: Fastreport - Seitensteuerung
 
Hallo ich muß noch mal nerven

Ich bekomme es einfach nicht hin
Einzelne Seiten zu übergeben.

Also wenn ich Page 1 und Page 2 habe das
FastReport mir abwechselnt Page1 und Page2
ausgibt.

Lemmy 18. Nov 2010 14:25

AW: Fastreport - Seitensteuerung
 
hi,

was genau funktioniert denn nicht? Kannst DU mal Sourcen zeigen? Oder ggf. auch schicken?

Grüße

Lemmy 18. Nov 2010 15:06

AW: Fastreport - Seitensteuerung
 
Hi,

ich habe es mal nachgestellt (Delphi 7 + FR 4):

Delphi-Quellcode:
  frxReport1.PrepareReport(true);
  frxReport2.PrepareReport;
  frxReport3.PrepareReport;
  frxReport3.PreviewPages.AddFrom(frxReport1);
  frxReport3.PreviewPages.AddFrom(frxReport2);
  frxReport3.PreviewPages.AddFrom(frxReport1);
  frxReport3.ShowPreparedReport;
in den beiden FR-instanzen 1 und 2 sind statische Seiten mit einem Text drin, in der 3er muss auch eine vorbereitete Seite drin sein, dnan hinzufügen und am Ende ein ShowPreparedReport.

Grüße

ATS3788 18. Nov 2010 15:24

AW: Fastreport - Seitensteuerung
 
Delphi-Quellcode:

begin
try
frxReport1 := TfrxReport.Create(self);
frxReport2 := TfrxReport.Create(self);
frxReport3 := TfrxReport.Create(self);

frxReport1.LoadFromFile('RDeutsch.fr3');
frxReport2.LoadFromFile('REnglisch.fr3');
frxReport3.LoadFromFile('BlankReport.fr3');

  frxReport1.PrepareReport(true);
  frxReport2.PrepareReport;
  frxReport3.PrepareReport;
  frxReport3.PreviewPages.AddFrom(frxReport1);
  frxReport3.PreviewPages.AddFrom(frxReport2);
  frxReport3.PreviewPages.AddFrom(frxReport1);
  frxReport3.ShowPreparedReport;

finally
frxReport1.Free;
frxReport2.Free;
frxReport3.Free
end;
So wie hier und es werden erst die 3 Seiten Englisch und dann
die 3 Seiten Deutsch ausgegeben.
Und ich möchte Englisch - Deutsch - Englisch .........

Lemmy 18. Nov 2010 16:11

AW: Fastreport - Seitensteuerung
 
Hi,

was meinst du mit "die 3 Seiten Englisch und dann die 3 Seiten Deutsch"

Nach deinem Code sollte es zum einen gerade anders rum sein (also erst D und dann E) und zum anderen - Sind das jeweils mehrseitige Reports? Dann schau mal bei .PreviewPages.ADD - da gibts IMHO eine Version mit der du direkt die Seiten der Preview hinzufügen kannst...

Grüße

ATS3788 23. Nov 2010 17:33

AW: Fastreport - Seitensteuerung
 
Vielleicht hat ja mal jemand ein ähnliches Problem,
so sieht die Lösung aus.
Die Hilfe von Fast-Report kommt wirklich sehr schnell.

Delphi-Quellcode:
     frxReport.PrepareReport();
     j := frxReport.PreviewPages.Count div 2;
     page := TfrxReportPage.Create(nil);
     for i := 0 to j - 2 do
       begin
         page.AssignAll(frxReport.PreviewPages.Page[j + i]);
         frxReport.PreviewPages.AddEmptyPage(i * 2 + 1);
         frxReport.PreviewPages.ModifyPage(i * 2 + 1, page);
         frxReport.PreviewPages.DeletePage(j + i + 1);
       end;
     page.Free;
     frxReport.ShowPreparedReport;


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:08 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 by Thomas Breitkreuz