AGB  ·  Datenschutz  ·  Impressum  







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

Drucken eines Textes von einer TMemo

Ein Thema von ssach · begonnen am 4. Mai 2003 · letzter Beitrag vom 30. Okt 2003
Antwort Antwort
Seite 1 von 3  1 23      
ssach

Registriert seit: 9. Dez 2002
Ort: schleiwenhaff
99 Beiträge
 
Delphi 6 Professional
 
#1

Drucken eines Textes von einer TMemo

  Alt 4. Mai 2003, 15:00
hy,

kann jemand mir sagen wie ich es anstellen den Text einer TMemo zu drucken?
laeuft das uebr einen PrintDialog?
danke

cu
Greissen all d'Letzebuerger !!
  Mit Zitat antworten Zitat
Basic-Master

Registriert seit: 9. Mär 2003
Ort: Brilon
395 Beiträge
 
Delphi 2007 Enterprise
 
#2
  Alt 4. Mai 2003, 15:14
nene der printdialog ist nur da um die beliebigen eigenschaften zum drucken einzustellen, drucken tut man mit dem printer-objekt:
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
Christian
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#3
  Alt 4. Mai 2003, 16:52
Hallo,

und ab nach VCL-Komponenten.

Grüsse, Daniel
  Mit Zitat antworten Zitat
ssach

Registriert seit: 9. Dez 2002
Ort: schleiwenhaff
99 Beiträge
 
Delphi 6 Professional
 
#4
  Alt 4. Mai 2003, 19: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
Greissen all d'Letzebuerger !!
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#5
  Alt 4. Mai 2003, 19:53
Hallo,
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
  Mit Zitat antworten Zitat
ssach

Registriert seit: 9. Dez 2002
Ort: schleiwenhaff
99 Beiträge
 
Delphi 6 Professional
 
#6
  Alt 4. Mai 2003, 20:29
achso, ok, hatte wohl nicht aufgepasst!

danke, cu

p.s.; wewiss jemand warum nur bei der foherigen procedure die erste zeile gedruckt wird?
Greissen all d'Letzebuerger !!
  Mit Zitat antworten Zitat
Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#7
  Alt 4. Mai 2003, 20: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;
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat
ssach

Registriert seit: 9. Dez 2002
Ort: schleiwenhaff
99 Beiträge
 
Delphi 6 Professional
 
#8
  Alt 4. Mai 2003, 20:52
hy,

jetzt bekommeich immer die Fehlermeldung:

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

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]
Greissen all d'Letzebuerger !!
  Mit Zitat antworten Zitat
Benutzerbild von flomei
flomei

Registriert seit: 17. Jan 2003
Ort: Schieder-Schwalenberg
2.094 Beiträge
 
Delphi 2005 Personal
 
#9
  Alt 4. Mai 2003, 21:24
Zitat von ssach:
Code:
[Error] Unit1.pas(97): Illegal character in input file: ' ' ($A0)
bei der Zeile

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

MfG Florian
Florian Meier
... ist raus.
Vielen Dank für die Zeit mit euch!
http://www.flomei.de -- http://www.md5hash.de
  Mit Zitat antworten Zitat
Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#10
  Alt 4. Mai 2003, 21: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

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

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 16:08 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