![]() |
Rave Druckvorschau anpassen!
Hallo,
ich habe ein Problem mit der Ravevorschau (Rave BE) "nicht Rave BEX". Ich habe die Tipps von ![]() Klappt auch hervorragend, ich kann navigieren usw.. Doch kann ich die Seite aus dem Preview über einen Button direkt drucken? Bei der Standard Rave Vorschau geht das ja auch. Aber wie durch einen Button. Habe etwas in der Art RvRenderPreview.PrintRender... aber ich weiß die Parameter nicht. Ist diese Procedure überhaupt zum direkten drucken? Gruß Christof |
Re: Rave Druckvorschau anpassen!
hi
also eigendlich sollte zum direkt drucken rvreport1.print; gehn bei quickreport ist es auch so aber ich möchte mich nicht drauf festlegen, probiers mal aus cya HaZe |
Re: Rave Druckvorschau anpassen!
Zitat:
Trotzdem danke! |
Re: Rave Druckvorschau anpassen!
Bei Rave heisst das afaik Execute und nicht print. Dazu brauchst du aber keine Vorschau.
|
Re: Rave Druckvorschau anpassen!
Zitat:
Ich will ja in meinem eigen Preview Form durch eine Button dieses Preview drucken können. Wie bei der RAVE Standardvorschau! Nur halt selbst programmiert!!!! Gruß Christof |
Re: Rave Druckvorschau anpassen!
Ich hab die Strukturen gerade nicht so genau im Kopf, aber die Preview ist doch irgendwie mit einem TRvProject ( oder so ähnlich ) verknüpft, oder? Und von diesem Project musst du die Procedure Execute nehmen. Die Preview erzeugt eine Vorschau. Darum heisst sie Preview. Ist also eigentlich nur ein Zusatzteil. Die eigentliche Rave-Hauptfunktion ist das Drucken.
|
Re: Rave Druckvorschau anpassen!
Zitat:
Aber vom Preview komme ich dort nicht dran! |
Re: Rave Druckvorschau anpassen!
Christof,
Code:
man sollte aber das NDR.System mit den anderen Engines verstanden haben, um den internen Ablauf von Rave zu verstehen...
procedure TRvPreview.DruckenBtn(Sender: TObject);
var DoPrint: boolean; I1: integer; ForceCopies: integer; begin if soAllowPrintFromPreview in ReportSystem.SystemOptions then begin RvRenderPrinter.NDRStream := RvRenderPreview.NDRStream; RvRenderPrinter.Pages := RvRenderPreview.Pages; if ssAllowPreviewSetup in ReportSystem.SystemSetups then begin with TRpSetupForm.Create(self) do try PreviewSetup := true; ReportSystem := Self.ReportSystem; FilePrinter := RvRenderPrinter; DoPrint := (ShowModal = mrOK); RvRenderPrinter.IgnoreFileSettings := true; finally Free; end; { with } end else begin DoPrint := true; end; { else } if DoPrint then begin if (RvRenderPrinter.MaxCopies <= 1) and (RvRenderPrinter.Copies > 1) then begin ForceCopies := RvRenderPrinter.Copies; RvRenderPrinter.Copies := 1; end else begin ForceCopies := 1; end; { else } for I1 := 1 to ForceCopies do begin if Assigned(RvRenderPrinter.NDRStream) then begin RvRenderPrinter.Render(RvRenderPrinter.NDRStream); end else begin RvRenderPrinter.Render(InputStream); end; { else } end; { for } AfterPreviewPrintEvent; RvRenderPrinter.NDRStream := nil end; { if } end; { if } SetButtonState; end; dann gehen dinge, die sind absolut toll, z.B. streaming der reports über Http/soap etc.etc.; ist am Anfang aber heavy, gebe ich zu (vor allem in der be-Version on Source...) :wink: :-) thomas, TeamNevrona |
Re: Rave Druckvorschau anpassen!
Zitat:
Vielen Dank für die ausführliche Antwort. Wo kommt den der Code rein auf meinem Druck-Button auf meinem Preview Form? Wenn ich das tue bekomme ich zwei Fehlermedlungen AferPreviewPrintEvent und SetButtonState kennt er nicht! Gruß Christof |
Re: Rave Druckvorschau anpassen!
Wie wär's damit:
Delphi-Quellcode:
Dazu mußt Du die Komponente "TRvSystem" plaziert und bei der Komponente TRvProjekt unter Engine eingetragen haben.
procedure TfrmBereich.btnDruckenClick(Sender: TObject);
begin RvSystem1.DefaultDest := rdPrinter; rvBericht.Open; rvBericht.ExecuteReport('Report1'); rvBericht.Close; end; Das hier habe ich auch noch eingestellt, bin aber nicht sicher, ob man das braucht: Bei "RvSystem" unter "System Setup" die Eigenschaft "ssAllowSetup" auf FALSE. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:46 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