Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Mehrere TMemo drucken! (https://www.delphipraxis.net/65294-mehrere-tmemo-drucken.html)

smart 14. Mär 2006 18:53


Mehrere TMemo drucken!
 
Wie kann man mehrere TMemo's in einem Rutsch ausdrucken? Ich habe Memo1.Text bis Meno12.Text und möchte alle gemeinsam drucken.

Klaus01 14. Mär 2006 19:01

Re: Mehrere TMemo drucken!
 
vielleicht alle Memofelder in eine Stringlist übertragen
und diese dann ausdrucken.

Quasi eine eigene Druckqueue bauen.

Grüße
Klaus

smart 14. Mär 2006 19:05

Re: Mehrere TMemo drucken!
 
Zitat:

Zitat von Klaus01
vielleicht alle Memofelder in eine Stringlist übertragen
und diese dann ausdrucken.

Quasi eine eigene Druckqueue bauen.

Grüße
Klaus

Danke für die Antwort. Ich hatte noch vergessen zu schreiben, dass jedes TMemo auf eine einzelne Seite ausgedruckt werden soll.

Gruß
Heike

Klaus01 14. Mär 2006 20:36

Re: Mehrere TMemo drucken!
 
mal aus der Hilfe für TPrinter zusammengeschustert.
Wenn Du die Memo in einer Stringlist zusammenführst, dann
kannst Du ja zwischen zwei Memofeldern ein Zeile einfügen
z.b. mit diesem Inhalt: '<----new Page ---->'

Könnte einen Ansatz bieten.

Grüße
Klaus

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

var
  r: TRect;
  i: Integer;
begin
  with Printer do
    begin
      r := Rect(200,200,(Pagewidth - 200),(PageHeight - 200));
      BeginDoc;
      for i := 0 to StringList.Count -1 do
        begin
           if stringlist.strings[i] = '<----new Page ---->' then
            { begin
               EndDoc;        //macht einen Seitenvorschub
               BeginDoc;
             end
             }
             NewPage    { seitenvorschub, danke xaromz }
           else
             Canvas.TextOut(200,200 + (i *Canvas.TextHeight(StringList.Strings[i])),StringList.Strings[i]);
        end;
      Canvas.Brush.Color := clBlack;
      Canvas.FrameRect(r);
      EndDoc;
    end;

end;
[edit] manchmal sieht man den Wald vor lauter Bäumen nicht [/edit]

smart 15. Mär 2006 07:31

Re: Mehrere TMemo drucken!
 
Zitat:

Zitat von Klaus01
mal aus der Hilfe für TPrinter zusammengeschustert.
Wenn Du die Memo in einer Stringlist zusammenführst, dann
kannst Du ja zwischen zwei Memofeldern ein Zeile einfügen
z.b. mit diesem Inhalt: '<----new Page ---->'

Könnte einen Ansatz bieten.

Grüße
Klaus

Vielen Dank, Klaus. Das ist ne gute Idee.

xaromz 15. Mär 2006 08:32

Re: Mehrere TMemo drucken!
 
Hallo,
Zitat:

Zitat von Klaus01
Delphi-Quellcode:
EndDoc;       { macht einen Seitenvorschub }
BeginDoc;

Wie wär's mit
Delphi-Quellcode:
Printer.NewPage;
?

Gruß
xaromz


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