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 Rave, CodeBased, Vorschau (https://www.delphipraxis.net/107157-rave-codebased-vorschau.html)

Fritz01 23. Jan 2008 13:32


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.

merlin17 29. Jan 2008 14:42

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: Rave @ EKON 12 spring


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;

Fritz01 29. Jan 2008 19:59

Re: Rave, CodeBased, Vorschau
 
@merlin17,
danke für Deine Antwort.
Habe mal beide Methoden ausprobiert. Hier geschieht folgendes:
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;
Bei RvSystem.DefaultDest := rdPrinter erscheint sehr kurz die Rave-StandardVorschau, danach ist der Text in der VorschauSrollBox, gleichzeitig beginnt der Druck.
Aus der Vorschau heraus sollte erst nach BtnClick gedruckt werden.

Bei dieser Variante
Delphi-Quellcode:
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;
Mit Click wechselt die Hintergrundfarbe von grau nach weiß und Scrollbalken sind vorhanden, (da passiert was) aber es erscheint dort kein Text.
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

merlin17 1. Feb 2008 09:00

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

Fritz01 1. Feb 2008 11:32

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 16:35 Uhr.

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