![]() |
Rave, CodeBased, Vorschau
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
habe einen Text, der mit Rave über meine Vorschau gezeigt und gedruckt werden soll. Das funktioniert bisher nur über die StandardVorschau. Möchte das mit einer eigenen Vorschau machen. Habe zum besseren Verständnis ist eine Demo im Anhang. Einfach mal runterladen und ansehen. Zur Demo: was da bei click auf Vorschau zu sehen ist sollte in die SrollBox, so wie das mit click auf Button4 mit der .rav geschieht. Habe mir viele Rave-Beispiele angesehen, dort geht es immer xxx.rav Dateien. Da komme ich wirklich nicht weiter und bin um jeden Lösungsvorschlag dankbar. |
Re: Rave, CodeBased, Vorschau
endlich bin ich dazugekommen....
ich denke einmal, die Struktur von Nevrona Rave Reports ist dir nicht 100% klar (keine Panik, Du bist nicht alleine ....). tipp :angel: ![]() Wenn Du über RvSystem druckst erzeugt es einen Output, du willst aber sicherlich nur die Voransicht haben willst, ist der Weg über NDRWriter sinnvoll... ich habe Dir einmal beide Weg unten aufgeführt.... :-) thomas, TeamNevrona
Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin RvSystem1.SystemFiler.StreamMode := smFile; RvSystem1.SystemFiler.FileName := 'Delphipraxis.NDR'; // löschen nciht //vergessen! RvSystem1.SystemSetups := RvSystem1.SystemSetups - [ssAllowSetup]; RvSystem1.SystemOptions := Rvsystem1.SystemOptions - [soNoGenerate]; RvSystem1.Execute; // Default auf Printer .... alles andere macht wenig //Sinn with RvRenderPreview1 do begin ScrollBox := ScrollBox1; render('Delphipraxis.NDR'); end; end; procedure TForm1.BitBtn2Click(Sender: TObject); var MeinNDRStream: TMemoryStream; begin MeinNDRStream := TMemoryStream.Create; RvNDRWriter1.StreamMode := smUser; RvNDRWriter1.Stream := MeinNDRStream; RvNDRWriter1.Execute; MeinNDRStream.Position := 0; with RvRenderPreview1 do begin ScrollBox := ScrollBox1; render(MeinNDRStream); end; end; |
Re: Rave, CodeBased, Vorschau
@merlin17,
danke für Deine Antwort. Habe mal beide Methoden ausprobiert. Hier geschieht folgendes:
Delphi-Quellcode:
Bei RvSystem.DefaultDest := rdPrinter erscheint sehr kurz die Rave-StandardVorschau, danach ist der Text in der VorschauSrollBox, gleichzeitig beginnt der Druck.
procedure TForm1.BitBtn1Click(Sender: TObject);
begin RvSystem1.SystemFiler.StreamMode := smFile; RvSystem1.SystemFiler.FileName := 'Delphipraxis.NDR'; // löschen nciht //vergessen! RvSystem1.SystemSetups := RvSystem1.SystemSetups - [ssAllowSetup]; RvSystem1.SystemOptions := Rvsystem1.SystemOptions - [soNoGenerate]; RvSystem1.Execute; // Default auf Printer .... alles andere macht wenig //Sinn with RvRenderPreview1 do begin ScrollBox := ScrollBox1; render('Delphipraxis.NDR'); end; end; Aus der Vorschau heraus sollte erst nach BtnClick gedruckt werden. Bei dieser Variante
Delphi-Quellcode:
Mit Click wechselt die Hintergrundfarbe von grau nach weiß und Scrollbalken sind vorhanden, (da passiert was) aber es erscheint dort kein Text.
procedure TForm1.BitBtn2Click(Sender: TObject);
var MeinNDRStream: TMemoryStream; begin MeinNDRStream := TMemoryStream.Create; RvNDRWriter1.StreamMode := smUser; RvNDRWriter1.Stream := MeinNDRStream; RvNDRWriter1.Execute; MeinNDRStream.Position := 0; with RvRenderPreview1 do begin ScrollBox := ScrollBox1; render(MeinNDRStream); end; end; Scrollbalken, d.h. die Vorschau ist größer als die Srollbox. Kann man die Vorschau auf Boxgröße anpassen und wie. Was mache ich denn da falsch? Gruß Fritz |
Re: Rave, CodeBased, Vorschau
Fritz,
ich vermute mal, Du hast bei dem RvNDRWriter nicht beim OnPrint auf RvSystemOnPrint verwiesen, d.h. er druckt nichts ?! :-) thomas, TeamNevrona |
Re: Rave, CodeBased, Vorschau
Hallo merlin17,
ja, genau so ist es! Habe das gestern auch selbst gesehen. Danke noch mal für Deine Hilfe. Werde sicher später noch weitere Fragen haben. Gruß Fritz |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:14 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