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 Change Printer in QReport Custom Preview (https://www.delphipraxis.net/125228-change-printer-qreport-custom-preview.html)

mrose 2. Dez 2008 22:00


Change Printer in QReport Custom Preview
 
Hallo,

ich hoffe mir kann jemand mit einer Idee helfen. Ich habe vor langer Zeit mal ein Programm geschrieben welches Datenbankreports via QuickReport Forms erstellt. Damals brauchte ich einen Custom Preview. Das funktioniert auch einwandfrei. Dieses Previewfenster hat auch einen Print button, der einfach nur folgendes macht:

Delphi-Quellcode:
  QRPReview1.QRPrinter.Print;
Allerdings kommt dann der Report immer auf dem aktuellen Standarddrucker der Maschine auf der die Exe gerade läuft raus. Nun will ich in der neuen Version das Programm dahin gehend erweitern, dass ich die Ausgaben immer auf einen bestimmten (aber im Windows konfigurierten) Printer ausgebe. Der Name des Printers (wie unter Windows konfiguriert) steht in einem String (sPrinterName). Ich habe versucht, folgenden Code direkt vor dem Aufruf von QRPreview1.QRPrinter.Print auszuführen.

Delphi-Quellcode:
  xPrinterNames:=QRPreview1.QRPrinter.Printers;

  // if not default printer then search for real printer
  if sPrinterName <> '-1' then
   for iPrinterIndex:=0 to xPrinterNames.Count-1 do
     if xPrinterNames.Strings[iPrinterIndex]= sPrinterName then
     QRPreview1.QRPrinter.PrinterIndex:=iPrinterIndex;
Im Debugger sehe ich, dass das Programm zur richtigen Zeit an der letzten Zeile vorbei kommt (richtiger Index). Die Zeile wird auch ohne Fehler ausgeführt. Trotzdem wird nicht der richtige Drucker angesprochen.

Was mache ich falsch? :wall:

Bin für jede Idee dankbar.

Matthias

omata 2. Dez 2008 22:21

Re: Change Printer in QReport Custom Preview
 
Versuch mal den PrinterIndex über die PrinterSettings zu setzen...

Delphi-Quellcode:
QuickReport.PrinterSettings.PrinterIndex

mrose 2. Dez 2008 22:28

Re: Change Printer in QReport Custom Preview
 
Danke,
ich hab's gerade eben selbst raus bekommen. Mein Code funktioniert schon, aber der Testreport den ich generiert habe, war einfach zu lang. Im Hintergrund hat QReport immer noch fleißig Seiten aufgebaut. Ich war einfach zu blind um das zu sehen. Hab' gleich mal einen Progressbar für den Fortschritt des Previewaufbaus eingebaut... 8)

Aber Danke für die Idee..

Gruß
Matthias.


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