![]() |
Drucken eines Textes von einer TMemo
hy,
kann jemand mir sagen wie ich es anstellen den Text einer TMemo zu drucken? laeuft das uebr einen PrintDialog? danke cu |
nene der printdialog ist nur da um die beliebigen eigenschaften zum drucken einzustellen, drucken tut man mit dem printer-objekt:
Zitat:
|
Hallo,
und ab nach VCL-Komponenten. Grüsse, Daniel :hi: |
Danke schonmal,
leider funktioniert es noch nicht richtig! hab den Source Code kopiert, jedoch druckt er immer nur die 1. Zeile des Dokumentes?! woran kan das liegen? aja daniel, was meinst du gena mit ab nach vcl komponenten? danke cu |
Hallo,
Zitat:
Grüsse, Daniel :hi: |
achso, ok, hatte wohl nicht aufgepasst!
danke, cu p.s.; wewiss jemand warum nur bei der foherigen procedure die erste zeile gedruckt wird? |
Hallo,
ich würde meinen, dass alle Zeilen des Memos in eine Zeile gedruckt werden da die Zeilenumbrüche ignoriert werden. Nach kurzer suche habe ich folgendes gefunden ![]()
Delphi-Quellcode:
//This Procedure will print the contents of a Memo field with a left margin and page numbers in the top right corner.
procedure PrintStrings(Strings : TStrings); var I, Line, lm, r : integer; pn : string; begin Line := 0; Printer.Canvas.Font := Form1.Memo1.Font; Printer.Begindoc; lm := Printer.PageWidth div 12; pn := 'Page ' + IntToStr(Printer.PageNumber); r := Printer.PageWidth - Printer.Canvas.TextWidth(pn); Printer.Canvas.TextOut(r, Line, pn); Line := Line + 3 * Abs(Printer.Canvas.Font.Height); for I := 0 to Strings.Count - 1 do begin Printer.Canvas.TextOut(lm, Line, Strings[I]); Line := Line + Abs(Printer.Canvas.Font.Height); if (Line >= Printer.PageHeight) then begin Printer.NewPage; Line := 0; pn := 'Page ' + IntToStr(Printer.PageNumber); r := Printer.PageWidth - Printer.Canvas.TextWidth(pn); Printer.Canvas.TextOut(r, Line, pn); Line := Line + 3 * Abs(Printer.Canvas.Font.Height); end; end; Printer.EndDoc; end; procedure TForm1.Print1Click(Sender: TObject); begin PrintStrings(Memo1.Lines); end; |
hy,
jetzt bekommeich immer die Fehlermeldung:
Code:
bei der Zeile
[Error] Unit1.pas(97): Illegal character in input file: '*' ($A0)
Delphi-Quellcode:
tut mir leid dass ich sooft frage aber bin eben noch en anfaenger!*g*
LINE := 0;
danke fur eure hilfe!!!!!! cu [edit=Daniel B]BB-Code wieder eingeschaltet, damit die Tags funktionieren. MfG Daniel B.[/edit] |
Zitat:
Delphi-Quellcode:
Ich weiss nicht ob es daran liegt aber ausprobieren kann man das ja mal. :D
Line:=0;
MfG Florian :hi: |
Hallo ssach,
komisch, habe VOR dem Post die Prozedur getestet, JETZT wieder, funkt alles, allerdings könnte das mit Daniels Zitat:
Versuche es noch einmal und kopiere Dir den Code noch einmal aus meiner obigen Antwort. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:23 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