Delphi-PRAXiS
Seite 1 von 2  1 2      

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 Memofeld inhalt drucken (https://www.delphipraxis.net/54481-memofeld-inhalt-drucken.html)

150gozilla 5. Okt 2005 08:49


Memofeld inhalt drucken
 
Hallo,

Wie kann man den den Inhalt(Text) eines Memofeldes drucken ?

Treffnix 5. Okt 2005 09:03

Re: Memofeld inhalt drucken
 
Hallo.

z.B. so:

Delphi-Quellcode:
Printer.BeginDoc;
Printer.Canvas.TextOut(0, 0, Memo1.Lines.Text);
Printer.EndDoc;
Dazu musst du die Unit Printers in die uses aufnehmen.

150gozilla 5. Okt 2005 09:09

Re: Memofeld inhalt drucken
 
Ja danke, das funktioniert.

Aber leider druckt er mir alles in eine reihe

kann man da noch was machen ?

Flocke 5. Okt 2005 09:18

Re: Memofeld inhalt drucken
 
Du meinst, dass er keinen automatischen Zeilenumbruch macht, oder?

Lösung 1: Nimm ein RichEdit-Control und drucke mit dessen Print-Methode

Lösung 2: Nimm ein TextFile, weise es mit AssignPrn dem Drucker zu und drucke jede Zeile mit WriteLn dorthin

Es gibt auch noch 'ne Menge anderer Möglichkeiten (DrawText benutzen usw.).

150gozilla 5. Okt 2005 09:20

Re: Memofeld inhalt drucken
 
Zitat:

Zitat von Flocke
Du meinst, dass er keinen automatischen Zeilenumbruch macht, oder?

Lösung 1: Nimm ein RichEdit-Control und drucke mit dessen Print-Methode

Lösung 2: Nimm ein TextFile, weise es mit AssignPrn dem Drucker zu und drucke jede Zeile mit WriteLn dorthin

Es gibt auch noch 'ne Menge anderer Möglichkeiten (DrawText benutzen usw.).

:wiejetzt: also, jetzt druckt er alles in eine reie.

Aber im Memo habe ich jetzt z.B 3 Zeilen text, so soll er mir das auch drucken, also er soll mir einen zeilenumbruch m achen

Treffnix 5. Okt 2005 09:25

Re: Memofeld inhalt drucken
 
Ungetestet, aber so ähnlich könnte es gehen ;):

Delphi-Quellcode:

var i: Integer;

printer.BeginDoc;
for i := 0 to memo1.lines.count -1 do Begin
  printer.canvas.textout( 0, i * printer.Canvas.TextHeight( Memo1.Lines[i] ) , Memo1.Lines[i]);
End;
printer.EndDoc;

150gozilla 5. Okt 2005 09:29

Re: Memofeld inhalt drucken
 
danke, funktioniert einwandfrei :)

smart 5. Okt 2005 09:33

Re: Memofeld inhalt drucken
 
Du kannst auch so ein TMemo ausdrucken:
Delphi-Quellcode:
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);

150gozilla 5. Okt 2005 09:36

Re: Memofeld inhalt drucken
 
Ja, so würde es auch gehen. :mrgreen:

tigerman33 5. Okt 2005 14:33

Re: Memofeld inhalt drucken
 
Gibt es denn nirgends eine einfachere Kapselung von Druckern? Wo ich einfach so eine Art "WriteLn"Befehl aufrufen kann, und der druckt das dann automatisch, mit Zeilenumbruch etc?


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:46 Uhr.
Seite 1 von 2  1 2      

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