AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Beim Drucken eines richtext die Schriftgrösse vom Richtext
Thema durchsuchen
Ansicht
Themen-Optionen

Beim Drucken eines richtext die Schriftgrösse vom Richtext

Ein Thema von Power-Poler · begonnen am 18. Mär 2008 · letzter Beitrag vom 20. Mär 2008
Antwort Antwort
Power-Poler

Registriert seit: 16. Mär 2008
34 Beiträge
 
#1

Beim Drucken eines richtext die Schriftgrösse vom Richtext

  Alt 18. Mär 2008, 08:08
hi, ich bins nochmal, nachdem ein eines Problem jetzt behoben ist, stehe ich jetzt schon wider auf dem Schlauch
Ich habe einen Richtext, der in bestimmten zeilen eine andere Schriftgrösse hat, wie in anderen. Dies möchte ich jetzt aber 1 zu 1 zu Papier bringen, und nicht alles in 11 wie in meinem code
Hier der Druck code, den ich verwände:
Delphi-Quellcode:
procedure TForm3.Button1Click(Sender: TObject);
var Lines: Integer;
LineHeight: Integer;
ActMemoLine: Integer;
Pages: Integer;
PageLine: Integer;
begin
if PrintDialog1.Execute then begin
Printer.BeginDoc;
Printer.Canvas.Font.Name := 'Arial';
Printer.Canvas.Font.Size := 11;
Lines := Printer.PageHeight div Printer.Canvas.TextHeight('Dummy');
LineHeight := Printer.Canvas.TextHeight('Dummy');
ActMemoLine := 0;



for Pages := 1 to (RichEdit1.Lines.Count div Lines) + 1 do
begin
     for PageLine := 0 to Lines - 1 do
     begin

          if ActMemoLine < RichEdit1.Lines.Count then
          begin
          Printer.Canvas.TextOut(150, PageLine * LineHeight + 150, Richedit1.Lines[ActMemoLine]);
          end
          else
          begin
          Printer.EndDoc;
          exit;
          end;
     Inc(ActMemoLine);
     end;
if ActMemoLine < Richedit1.Lines.Count then
Printer.NewPage;
end;
Printer.EndDoc;
end;
end;
Wo muss ich jetzt zeilen löschen, und neue einfügen, damit er die schriftgrössen der zeilen übernimt?

Danke im Voraus
MfG
Power-Poler
  Mit Zitat antworten Zitat
ulhau

Registriert seit: 23. Okt 2006
20 Beiträge
 
#2

Re: Beim Drucken eines richtext die Schriftgrösse vom Richte

  Alt 18. Mär 2008, 17:37
Hallo!

1. Möchtest Du eine eigene Druckroutine erstellen?
2. Oder kennst du die Procedure "Print" von RichEdit noch nicht?

Zu erstens: Hier must du jedes Wort eizeln selektieren und die zugehörigen Textattribute ermitteln.
Zu zweitens: Hier reicht der Befehl RichEdit1.Print('DokumentName'); Wobei der RichEdit1 Inhalt auf dem aktuellen Systemdrucker ausgedruckt wird. Der Dokumentname wird in der Druckerwarteschlange angezeigt.

Kann's das gewesen sein?

Tschüsss!
  Mit Zitat antworten Zitat
Power-Poler

Registriert seit: 16. Mär 2008
34 Beiträge
 
#3

Re: Beim Drucken eines richtext die Schriftgrösse vom Richte

  Alt 20. Mär 2008, 08:21
Danke, aber ich habe es jetzt anderes gelöst.
  Mit Zitat antworten Zitat
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Beim Drucken eines richtext die Schriftgrösse vom Richte

  Alt 20. Mär 2008, 09:58
Dann wäre es doch schön, wenn du deinen Lösungsweg kurz zeigen würdest, falls andere mal das gleiche Problem haben sollten
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
Power-Poler

Registriert seit: 16. Mär 2008
34 Beiträge
 
#5

Re: Beim Drucken eines richtext die Schriftgrösse vom Richte

  Alt 20. Mär 2008, 10:57
Du wilst doch nur wisen, wie ich es gemacht habe, oder
Naja, ok:
Delphi-Quellcode:
procedure TForm3.Button1Click(Sender: TObject);
begin
richedit1.Lines.savetofile('Datei.txt');
if printdialog1.execute
then richedit1.print('datei.txt');
end;
3 Zeilen
  Mit Zitat antworten Zitat
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Beim Drucken eines richtext die Schriftgrösse vom Richte

  Alt 20. Mär 2008, 12:01
Das ist ja die Lösung, die ulhau geschrieben hat.
Übrigens: Ich kenne die Methode "Print" vom RichEdit schon Habe nur gedacht, dass du für diejenigen, die das gleiche Problem haben, mal deine Lösung zeigst, weil du geschrieben hast

Zitat von Power-Poler:
Danke, aber ich habe es jetzt anderes gelöst.
Hätte ja sein können, dass du irgendwas besonderes gemacht hast, was anderen vielleicht geholfen hätte

Patti
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
Power-Poler

Registriert seit: 16. Mär 2008
34 Beiträge
 
#7

Re: Beim Drucken eines richtext die Schriftgrösse vom Richte

  Alt 20. Mär 2008, 12:04
Jo, jetzt sehe ich es, aber die von ulhau habe ich nicht richtig verstanden, weil das save vornedran nicht war, und weil der filetyp gefehlt hat. Das er das gemeint hat, was ich später noch woanderes gefunden habe , habe ich garnicht gesehen.
  Mit Zitat antworten Zitat
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Beim Drucken eines richtext die Schriftgrösse vom Richte

  Alt 20. Mär 2008, 12:07
Du musst übrigens die Datei nicht unbedingt vorher speichern. Und das "DokumentName" bei

RichEdit1.Print('DokumentName'); ist kein Pfad zu einer Datei. Es handelt sich dabei um den Namen des Druckauftrages. Wenn du in die Warteschlange deines Druckers schaust, wo die ganzen aktuellen Druckaufträge aufgelistet sind, dann ist dies der Name, der dort angezeigt wird. Du musst also nicht speichern und als "DokumentName" kannst du irgendeinen Titel angeben

Patti
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
Power-Poler

Registriert seit: 16. Mär 2008
34 Beiträge
 
#9

Re: Beim Drucken eines richtext die Schriftgrösse vom Richte

  Alt 20. Mär 2008, 12:10
Achso, Danke, dann muss ich mich auch nicht mehr fragen, wo er dieses file dan hintut, und ob es irgewo als datenmüll rumgeistert
  Mit Zitat antworten Zitat
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Beim Drucken eines richtext die Schriftgrösse vom Richte

  Alt 20. Mär 2008, 12:12
Stimmt Datenmüll ist immer schlecht.
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
Antwort Antwort


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 23:36 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