![]() |
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: |
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 |
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:
den Ausdruck machen will passiert gar nichts.
RvProject1.ExecuteReport('Report1');
Wenn ich auf die Vorschau verzichte geht´s mit dem ausdrucken. mit dem
Delphi-Quellcode:
komme ich noch nicht klar. Das brauche ich doch wenn ich es als File abpeichern will.
RvREnderPrinter1.PrintRender...
|
Re: Rave - hat der User die Rechnung ausgedruckt?
hallo,
Code:
-> hier die RvSystem oder nil eintragen; that's all
RvProject1.Engine := RvNDRWriter1;
bei printrender wird direkt auf den drucker ausgedruckt! (mit RPDev... kannst du einstellungen für den drucker vor dem ausdruck definieren; uses: RPDevice) :-) thomas |
Re: Rave - hat der User die Rechnung ausgedruckt?
ich blick da noch nicht durch :cyclops:
Die Vorschau mache ich so:
Delphi-Quellcode:
Danach rufe ich auf:
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;
Delphi-Quellcode:
RvProject1.ExecuteReport('Report1');
Der Ausdruck klappt aber noch nicht. Es passiert gar nichts. :gruebel: Zitat:
|
Re: Rave - hat der User die Rechnung ausgedruckt?
hier der "klassische weg" danach:
Code:
alternativ (vor dem Stream.Free :) ):
RvProject1.Engine := RvSystem1;
ausschalten von AllowSetup und rdPrinter als ziel... RvProject1.Execute; RvRenderPrinter1.Render(MeinNDRStream); mit den RPDev-> Optionen kannst du den drucker "steuern" :-) thomas |
Re: Rave - hat der User die Rechnung ausgedruckt?
Danke, es funktioniert
:cheers: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:22 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