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 Druckerauswahl (https://www.delphipraxis.net/102160-druckerauswahl.html)

N30N 24. Okt 2007 11:51


Druckerauswahl
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,

ich will ein Memofeld ausdrucken. Die Boardsuche hat mir schon sehr geholfen, jedoch gibt´s da noch ein kleines Problem. Wenn ich

Delphi-Quellcode:
procedure TPCDatenbank.DruckenClick(Sender: TObject);
var
  Zeile: Integer;
  PrintText: TextFile;
begin
  AssignPrn(PrintText);
  Rewrite(PrintText);
  Printer.Canvas.Font := Memo1.Font;
  for Zeile := 0 to Memo1.Lines.Count - 1 do
  Writeln(PrintText, Memo1.Lines[Zeile]);
  CloseFile(PrintText);
  end;

ausführe, dann wird automatisch auf dem Standartdrucker ausgedruckt. Ich möchte allerdings ein Auswahlfeld, so wie es normal erscheint: (Bild im Anhang)

Wie bekomm ich jetzt das Auswahlfeld hin?

[edit=sakura] Bild in Anhang verschoben. Bei solcher Größe... :roll: Mfg, sakura[/edit]

DeddyH 24. Okt 2007 11:54

Re: Druckerauswahl
 
TPrintDialog oder TPrinterSetupDialog auf das Form. Damit geht' s.

N30N 24. Okt 2007 14:15

Re: Druckerauswahl
 
Also ich habe beides einzeln und auch zusammen mal aufs Formular geschoben und den Befehl wieder ausgeführt. Jetzt passiert irgendwie garnix mehr.

Wenn ich die beiden Dialoge wieder entferne, druckt er wieder auf dem Standartdrucker aus...

DeddyH 24. Okt 2007 14:19

Re: Druckerauswahl
 
Hast Du denn auch die Methode Execute des Dialogs aufgerufen?

N30N 24. Okt 2007 14:26

Re: Druckerauswahl
 
Zitat:

Hast Du denn auch die Methode Execute des Dialogs aufgerufen?

Öhm.. :-D


Also die Execute Methode wäre ja dann Printdialog1.execute, aber wo soll ich die denn einfügen im Code fürs Drucken? Ganz am Anfang vielleicht?


//Edit: Habs mal probiert, also am Anfang dazuzuschreiben, scheint falsch zu sein.

DeddyH 24. Okt 2007 15:12

Re: Druckerauswahl
 
Hier mal das Beispiel aus meiner Delphi-Hilfe (D7):
Zitat:

Zitat von Delphi-Hilfe
In diesem Beispiel wird ein Formular mit einer Schaltfläche, einer Registerkomponente und einem Drucken-Dialogfeld verwendet. Wenn der Benutzer auf die Schaltfläche klickt, wird das Dialogfeld Drucken aufgerufen. Mithilfe der Registerkomponente können die zu druckenden Seiten angegeben werden. Diese werden anschließend auf den Drucker ausgegeben.
Bevor Sie dieses Beispiel ausführen können, müssen Sie die Unit Printers in die uses-Klausel aufnehmen.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender:TObject);

var
  I, Start, Stop: Integer;
begin
PrintDialog1.Options := [poPageNums, poSelection];
PrintDialog1.FromPage := 1;
PrintDialog1.MinPage := 1;
PrintDialog1.ToPage := PageControl1.PageCount;
PrintDialog1.MaxPage := PageControl1.PageCount;
if PrintDialog1.Execute then
  begin
    { Ausgewählten Druckbereich ermitteln }
    with PrintDialog1 do
    begin
      if PrintRange = prAllPages then

        begin
        Start := MinPage - 1;
        Stop := MaxPage - 1;
      end
      else if PrintRange = prSelection then
      begin
        Start := PageControl1.ActivePage.PageIndex;
        Stop := Start;
        end
      else { PrintRange = prPageNums }
      begin
        Start := FromPage - 1;
        Stop := ToPage - 1;
      end;
    end;
    { Jetzt die Seiten drucken }

    with Printer do
    begin
      BeginDoc;
      for I := Start to Stop do
      begin
        PageControl1.Pages[I].PaintTo(Handle, 10, 10);
        if I <> Stop then
          NewPage;
      end;
      EndDoc;
    end;
  end;

end;


N30N 25. Okt 2007 06:51

Re: Druckerauswahl
 
Sorry, das ist mir eindeutig noch zu hoch, bin ein Delphi Anfänger.


Ich wüsste jetzt nicht wo ich in diesem Code definiere, dass ich das Memofeld ausdrucken will. Gibt es vielleicht eine einfachere Möglichkeit zu drucken, mit einem anderen Feld, wie Richedit?


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