Delphi-PRAXiS
Seite 1 von 3  1 23      

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 Drucken eines Textes von einer TMemo (https://www.delphipraxis.net/4556-drucken-eines-textes-von-einer-tmemo.html)

ssach 4. Mai 2003 14:00


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

Basic-Master 4. Mai 2003 14:14

nene der printdialog ist nur da um die beliebigen eigenschaften zum drucken einzustellen, drucken tut man mit dem printer-objekt:
Zitat:

Zitat von Die Delphi Hilfe
In diesem Beispiel wird ein Formular mit einer Schaltfläche und einer Memokomponente verwendet. Wenn der Benutzer auf die Schaltfläche klickt, wird der Inhalt der Memokomponente mit einem 200 Pixel großen Rahmen um die Seite gedruckt. Bevor Sie dieses Beispiel ausführen können, müssen Sie die Unit Printers in die uses
-Klausel aufnehmen.

procedure TForm1.Button1Click(Sender: TObject);

begin
with Printer do
begin
BeginDoc;
Canvas.TextRect(Rect(200,200,PageWidth-200,PageHeight-200),
200, 200, Memo1.Lines.Text);
EndDoc;
end;

end;

MfG

Daniel B 4. Mai 2003 15:52

Hallo,

und ab nach VCL-Komponenten.

Grüsse, Daniel :hi:

ssach 4. Mai 2003 18:51

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

Daniel B 4. Mai 2003 18:53

Hallo,
Zitat:

Zitat von ssach
aja daniel, was meinst du gena mit ab nach vcl komponenten?

Das ich den Thread in die Sparte VCL-Komponenten verschoben habe. Weil der in der falschen Sparte war, sonst nichts. ;)

Grüsse, Daniel :hi:

ssach 4. Mai 2003 19:29

achso, ok, hatte wohl nicht aufgepasst!

danke, cu

p.s.; wewiss jemand warum nur bei der foherigen procedure die erste zeile gedruckt wird?

APP 4. Mai 2003 19:43

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 Printing the Contents of a TMemo Field:

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;

ssach 4. Mai 2003 19:52

hy,

jetzt bekommeich immer die Fehlermeldung:

Code:
[Error] Unit1.pas(97): Illegal character in input file: '*' ($A0)
bei der Zeile

Delphi-Quellcode:
LINE := 0;
tut mir leid dass ich sooft frage aber bin eben noch en anfaenger!*g*

danke fur eure hilfe!!!!!!

cu

[edit=Daniel B]BB-Code wieder eingeschaltet, damit die Tags funktionieren. MfG Daniel B.[/edit]

flomei 4. Mai 2003 20:24

Zitat:

Zitat von ssach
Code:
[Error] Unit1.pas(97): Illegal character in input file: ' ' ($A0)
bei der Zeile

Delphi-Quellcode:
LINE := 0;

Probier doch mal
Delphi-Quellcode:
Line:=0;
Ich weiss nicht ob es daran liegt aber ausprobieren kann man das ja mal. :D

MfG Florian :hi:

APP 4. Mai 2003 20:24

Hallo ssach,

komisch, habe VOR dem Post die Prozedur getestet, JETZT wieder, funkt alles, allerdings könnte das mit Daniels
Zitat:

[edit=Daniel B]BB-Code wieder eingeschaltet, damit die Tags funktionieren. MfG Daniel B.[/edit]
Nachricht was zu tun haben :mrgreen:

Versuche es noch einmal und kopiere Dir den Code noch einmal aus meiner obigen Antwort.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:49 Uhr.
Seite 1 von 3  1 23      

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