AGB  ·  Datenschutz  ·  Impressum  







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

Druckerauswahl

Ein Thema von N30N · begonnen am 24. Okt 2007 · letzter Beitrag vom 25. Okt 2007
Antwort Antwort
N30N

Registriert seit: 7. Aug 2007
78 Beiträge
 
#1

Druckerauswahl

  Alt 24. Okt 2007, 11:51
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... Mfg, sakura[/edit]
Miniaturansicht angehängter Grafiken
drucken42391762jpeg_595.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Druckerauswahl

  Alt 24. Okt 2007, 11:54
TPrintDialog oder TPrinterSetupDialog auf das Form. Damit geht' s.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
N30N

Registriert seit: 7. Aug 2007
78 Beiträge
 
#3

Re: Druckerauswahl

  Alt 24. Okt 2007, 14:15
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...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Druckerauswahl

  Alt 24. Okt 2007, 14:19
Hast Du denn auch die Methode Execute des Dialogs aufgerufen?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
N30N

Registriert seit: 7. Aug 2007
78 Beiträge
 
#5

Re: Druckerauswahl

  Alt 24. Okt 2007, 14:26
Zitat:
Hast Du denn auch die Methode Execute des Dialogs aufgerufen?

Öhm..


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.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Druckerauswahl

  Alt 24. Okt 2007, 15:12
Hier mal das Beispiel aus meiner Delphi-Hilfe (D7):
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;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
N30N

Registriert seit: 7. Aug 2007
78 Beiträge
 
#7

Re: Druckerauswahl

  Alt 25. Okt 2007, 06:51
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?
  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 10: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