Fastreport und TPrintDialog
Hallo.
Kann man irgendie den Fastreport sagen, auf welchen Drucker der drucken soll? MFG |
Re: Fastreport und TPrintDialog
Welche Version ??
|
DP-Maintenance
Dieses Thema wurde von "Sharky" von "Datenbanken" nach "Sonstige Fragen zu Delphi" verschoben.
Auch wenn die Daten aus der DB kommen ist das ja keine Frage die etwas mit einem DB-Problem zu tun hat ;-) |
Re: Fastreport und TPrintDialog
3.20
|
Re: Fastreport und TPrintDialog
Kannst du mir weiterhelfen?
|
Re: Fastreport und TPrintDialog
Ich hab das Ganz normal über TPrinter gesetzt
|
Re: Fastreport und TPrintDialog
wie kann ich auslesen welches Drucker bei TPrintDialog ausgewählt ist?
Danke für deine Hilfe. |
Re: Fastreport und TPrintDialog
Wozu das Printer.Printerindex Wird doch vom TPrinterdialog automatisch gesetzt.
Und Fastreport kann auch einen Druckerdialog. |
Re: Fastreport und TPrintDialog
Das habe ich auch schon gemerkt. Aber wenn ich dann auf Print gehe druck der mir aus dem standard drucker und nich aus dem ausgewählten.
|
Re: Fastreport und TPrintDialog
Kannst du nur mal etwas Code zeigen?
|
Re: Fastreport und TPrintDialog
Delphi-Quellcode:
dm.PrintDialog.Copies := dm.frxReport.PrintOptions.Copies; dm.PrintDialog.Collate := dm.frxReport.PrintOptions.Collate; IF dm.PrintDialog.Execute then begin dm.frxReport.PrintOptions.Copies := dm.PrintDialog.Copies; dm.frxReport.PrintOptions.Collate := dm.PrintDialog.Collate; //Ladedatei und drucke end; Gedruckr wird aber auf dem Standard drucker obwohl ich einen anderen ausgewählt habe |
Re: Fastreport und TPrintDialog
Zitat:
|
Re: Fastreport und TPrintDialog
Nachtrag was hat den der Code für einen Sinn wenn man normal mit FR druckt kommt doch ein Druckerdialog
|
Re: Fastreport und TPrintDialog
Das ist richtig! Wenn man die Funktion Report.Print aufruf kommt es zu einem Druckdialog! Aber wenn ich eine Druckverwaltung habe mit 100 Dokumenten dann will ich vielleicht alle 100 Druckdokumenten auf einen anderen drucke ausdrucken, weil der Standard Drucker momentan Offline ist. Das soll definitiv per Auswahl eines Drucker gelöst werdem. Das ist die Ausganssituation.
|
Re: Fastreport und TPrintDialog
Hai Karstadt,
in diesem Fall würde ich an einem zentralen Punkt des Programmes (Im Hauptmenü) die Auswahl des Druckers anbiete. Jetzt aber nicht den Standarddrucker von Windows ändern. Das gehört sich nicht für ein Programm sonder mit der Methode .ChangePrinter() von TfrReport den Drucker immer vor dem Ausdruck ändern. |
Re: Fastreport und TPrintDialog
Ich stehe auf dem Schlauch.
Du meinst doch die Komponente TfrxReport und dort soll eine Methode namens ChangePrinter geben? frxReport.habe.ich.aber.nicht warum? |
Re: Fastreport und TPrintDialog
Hai Karstadt,
es wurde wohl einiges in der 3.x geändert. Ich habe mir die jetzt mal schnell installiert und mir dieses Beispiel gebaut:
Delphi-Quellcode:
uses
Printers; procedure TDemoForm.FormCreate(Sender: TObject); var ndx: Integer; begin for ndx := 0 to Printer.Printers.Count - 1 do // Alle installierten Drucker begin ComboBox1.Items.Add(Printer.Printers[ndx]); // in einer ComboBox auflisten end; end; procedure TDemoForm.Button1Click(Sender: TObject); begin with frxReport1 do begin PrintOptions.Printer := ComboBox1.Text; // Als Drucker den aus der ComboBox nehmen. PrintOptions.ShowDialog := FALSE; // Kein Dialog notwendig PrepareReport(); // Vorbereiten Print; // und weg damit end; end; |
Re: Fastreport und TPrintDialog
Danke! Das hat funktioniert SUPER! :-D
|
Re: Fastreport und TPrintDialog
Delphi-Quellcode:
TURBO :) Jetzt muss ich nur rausfinden welche Drucker der standard drucke ist und fertig ;)
cbx_drucker.Items := Printer.Printers;
|
Re: Fastreport und TPrintDialog
Zitat:
Delphi-Quellcode:
begin
ComboBox1.Items := Printer.Printers; ComboBox1.ItemIndex := Printer.PrinterIndex; end; |
Re: Fastreport und TPrintDialog
..kann ich diesen Drucker Fettmarkieren?
Das Ereignis ist onDrawItem.. aber was nun... :( |
Re: Fastreport und TPrintDialog
Neue Frage -> Neuer Thread.
Vorher aber mal die Suche benutzen. Ich bin fast sicher das wir das schon einmal hatten. |
Re: Fastreport und TPrintDialog
So. Nun habe ich alles was ich wissen wollte. Vielen Dank!
Delphi-Quellcode:
Du hast natürlich recht bezüglich der Suchfunktion! Wer suchen kann ist klar in Vorteil :)
procedure bx_druckerDrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState); begin with cbx_drucker do begin Canvas.FillRect(Rect); If Index = Printer.PrinterIndex then Canvas.Font.Style := [fsBold] else Canvas.Font.Style := []; Canvas.TextOut(Rect.Left, Rect.Top, Items[Index]); end; end |
Re: Fastreport und TPrintDialog
[quote]
Printer.PrinterIndex gibt den Standarddrucker an.
Delphi-Quellcode:
nein. das ist der augewähle drucker. Wenn ich mit Printdialog einen anderen auswähle, dann ist dann wird das als STANDARD drucker angezeigt.
begin
ComboBox1.Items := Printer.Printers; ComboBox1.ItemIndex := Printer.PrinterIndex; end; |
Re: Fastreport und TPrintDialog
Zitat:
Beim Programmstart ist .PrinterIndex auf den Standarddrucker eingestellt. Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:16 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