AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TQuickRep Report laden

Ein Thema von MrSpock · begonnen am 11. Jun 2002 · letzter Beitrag vom 18. Jun 2002
Antwort Antwort
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#1

TQuickRep Report laden

  Alt 11. Jun 2002, 07:31
Hallo Reportexperten,

Ich arbeite hier zur Zeit mit Delphi 3 und habe einen umfangreichen Report erstellt und anschließend gespeichert.

Ich habe ein Programm geschrieben, was einen "Dummy Report" anzeigt, der nur die Aufforderung anzeigt, den Report aus dem entsprechenden Verzeichnis zu laden. Wenn der Benutzer den Report geladen hat, kann er ihn anschauen, aber nur am Stück (220 Seiten) drucken, weil der PrinterSetup nicht funktioniert.

1. Wie kann ich den Report automatisch laden?
Ich habe es mit QRPrinter.Load versucht, aber es wird trotzdem der DummyReport angezeigt.

2. Wie kann ich nur ausgewählte Seiten drucken?
Ich habe mit QRPrinter.Load den Report geladen und ohne ihn anzuzeigen, gleich QRFirstPage und QRLastPage festgelegt und gedruckt, aber diese Einstellungen werden ignoriert.

3. Selbst, wenn der Report nur manuell geladen werden kann, kann ich wenigstens den PrinterSetup aktivieren?
Der entsprechende Schalter funktioniert nur nach Neuerstellung des Reports, aber das will ich ja nicht.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#2
  Alt 18. Jun 2002, 15:59
Ich hab jetzt selbst eine Lösung gefunden. Leider kann man das Problem nur durch Änderung im Quickreport Quellcode lösen. Der Aufruf von QRPrinter.Print gibt nämlich immer den gesamten Report aus.

So sieht im Prinzip jetzt meine Lösung aus:
Code:
   RepForm.QuickRep1.Prepare;
   RepForm.QuickRep1.QRPrinter.Load('C:\AllPackages130302.QRP');
   RepForm.QuickRep1.QRPrinter.FirstPage := SpinEdit1.Value -1;
   RepForm.QuickRep1.QRPrinter.LastPage := SpinEdit2.Value -1;
   RepForm.QuickRep1.QRPrinter.Print;
   ShowMessage('Seite(n) '+IntToStr(SpinEdit1.Value)+' bis '+
               IntToStr(SpinEdit2.Value)+' gedruckt.');
   RepForm.QuickRep1.QRPrinter.Free;
wobei ich Print wie folgt geändert habe:

Code:
  {alt: for I := 1 to PageCount do}
  {neu: }
        for I := FirstPage to LastPage do
        begin
          Application.ProcessMessages;
          PageNumber := I; ...
Ist zwar im Moment nur eine quick and dirty Lösung, aber auf jeden Fall, kann ich jetzt drucken...
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:23 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