Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Rave - hat der User die Rechnung ausgedruckt? (https://www.delphipraxis.net/17041-rave-hat-der-user-die-rechnung-ausgedruckt.html)

Rolf Rostig 27. Feb 2004 10:03


Rave - hat der User die Rechnung ausgedruckt?
 
Hallo,

ich erstelle mit Rave eine Rechung.
Wie kann ich feststellen ob der User die Rechnung ausgedruckt oder nur preview ausgeführt hat?

:gruebel: :gruebel:

merlin17 27. Feb 2004 10:52

Re: Rave - hat der User die Rechnung ausgedruckt?
 
rolf,

einfachster weg:
mit TRvNDRWriter, TRvPreview und TRvPrinter arbeiten.
d.h. du druckst nur über TRvPrinter aus, die anzeige der Rechnung erfolgt
in einer ScrollBox mit der TRvPreview-kompo;

Code:
procedure TForm1.Button2Click(Sender: TObject);
var
  MeinNDRStream: TMemoryStream;
begin
  MeinNDRStream := TMemoryStream.Create;
  RvProject1.Open;
  RvProject1.Engine := RvNDRWriter1;
  with RvNDRWriter1 do
  begin
    StreamMode := smUser;
    Stream := MeinNDRStream;
  end;
  RvProject1.Execute;
  MeinNDRStream.Position := 0;

  with RvRenderPreview1 do
  begin
    ScrollBox := ScrollBox1;
    NDRStream := MeinNDRStream;
    Render;
  end;
  showmessage('Anzahl der Seiten: ' + IntToStr(RvRenderPreview1.Pages));
end;
 
RvREnderPrinter1.PrintRender...


:-) thomas

Rolf Rostig 27. Feb 2004 17:35

Re: Rave - hat der User die Rechnung ausgedruckt?
 
Hallo Thomas,

danke für die Antwort.
Die Vorschau klappt wunderbar.
Aber wenn ich danach mit

Delphi-Quellcode:
RvProject1.ExecuteReport('Report1');
den Ausdruck machen will passiert gar nichts.
Wenn ich auf die Vorschau verzichte geht´s mit dem ausdrucken.

mit dem
Delphi-Quellcode:
RvREnderPrinter1.PrintRender...
komme ich noch nicht klar. Das brauche ich doch wenn ich es als File abpeichern will.

merlin17 27. Feb 2004 18:00

Re: Rave - hat der User die Rechnung ausgedruckt?
 
hallo,


Code:
RvProject1.Engine := RvNDRWriter1;
-> hier die RvSystem oder nil eintragen; that's all

bei printrender wird direkt auf den drucker ausgedruckt!
(mit RPDev... kannst du einstellungen für den drucker vor dem ausdruck definieren;
uses: RPDevice)


:-) thomas

Rolf Rostig 27. Feb 2004 18:35

Re: Rave - hat der User die Rechnung ausgedruckt?
 
ich blick da noch nicht durch :cyclops:

Die Vorschau mache ich so:

Delphi-Quellcode:
procedure TListe1.Vorschau(ReportNr :string);
var
  MeinNDRStream: TMemoryStream;
begin
  MeinNDRStream := TMemoryStream.Create;
  rvproject1.SelectReport(ReportNr,true);
  RvProject1.Open;
  RvProject1.Engine := RvNDRWriter1;
  with RvNDRWriter1 do
  begin
    StreamMode := smUser;
    Stream := MeinNDRStream;
  end;
  RvProject1.Execute;
  MeinNDRStream.Position := 0;

  with RvRenderPreview1 do
  begin
    ScrollBox := FPreview.ScrollBox1;
    NDRStream := MeinNDRStream;
    Render;
  end;
  showmessage('Anzahl der Seiten: ' + IntToStr(RvRenderPreview1.Pages));
  FPreview.ShowModal;
end;
Danach rufe ich auf:

Delphi-Quellcode:
RvProject1.ExecuteReport('Report1');

Der Ausdruck klappt aber noch nicht.
Es passiert gar nichts. :gruebel:

Zitat:

-> hier die RvSystem oder nil eintragen; that's all
Das verstehe ich nicht. Kannst du mir mit etwas Code aushelfen?

merlin17 27. Feb 2004 18:41

Re: Rave - hat der User die Rechnung ausgedruckt?
 
hier der "klassische weg" danach:

Code:
  RvProject1.Engine := RvSystem1;
        ausschalten von AllowSetup und rdPrinter als ziel...
  RvProject1.Execute;
alternativ (vor dem Stream.Free :) ):

RvRenderPrinter1.Render(MeinNDRStream);
mit den RPDev-> Optionen kannst du den drucker "steuern"


:-) thomas

Rolf Rostig 27. Feb 2004 21:31

Re: Rave - hat der User die Rechnung ausgedruckt?
 
Danke, es funktioniert
:cheers:


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:20 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