Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi verschiedene Schriftarten im Quickreport (https://www.delphipraxis.net/45618-verschiedene-schriftarten-im-quickreport.html)

Narayana 9. Mai 2005 13:56


verschiedene Schriftarten im Quickreport
 
Hi,

ich habe in einem Quickreport eine TQRRichText Komponente.
In diese schreibe ich verschidene Lines.

Einige dieser Lines sollen Fett und größer sein als die anderen.

Bei "normalen" Memo oder RichEdit Feldern kann man das ja mit SelStart, SelLength usw. umsetzen.
TQRRichText kennt diese Methoden aber irgendwie nicht.

Kennt da jemand andere Möglichkeiten?

P.S.: Ich könnte auch eine andere Komponente nehmen, wenn eine andere geigneter wäre...sie muss aber mehrere Zeilen haben können.

omata 9. Mai 2005 22:30

Re: verschiedene Schriftarten im Quickreport
 
Liste der Anhänge anzeigen (Anzahl: 1)
Moin,

habe mich mal dran versucht...

MfG
Thorsten

Narayana 10. Mai 2005 12:47

Re: verschiedene Schriftarten im Quickreport
 
Danke erstmal für deine Lösung,
die funktioniert zwar sehr gut, ist aber sehr unverständlich bzw. komplex...
nachdem ich versucht habe da durchzusteigen habe ich eine leichtere Lösung gefunden.

Vielleicht sucht ja jemand anderes auch noch mal danach:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  MS : TMemoryStream;
begin
  //das RichEdit auf dem Form hat einen langen text
  //von diesem wird ein Teil fett geschrieben
  RichEdit1.SelStart := 30;
  RichEdit1.SelLength := 100;
  RichEdit1.SelAttributes.Style := [fsBold];

  MS := TMemoryStream.Create;
  //der Inhalt des RichEdits wird in einen Stream gespeichert
  RichEdit1.Lines.SaveToStream(MS);
  //die Position im Stream muss auf 0 gesetzt werden, damit der Inhalt von Anfang an ausgelesen wird
  MS.Position := 0;
  //der Inhalt des Streams wird in den RichText des QuickReport geladen
  QRRichText1.Lines.LoadFromStream(MS);
  MS.Free;
end;
Anstatt die Formatierung des Textes aus einem RichEdit zu nehmen kann auch ein Text direkt in den Stream geladen werden (so wie auch in dem oben angehängten Beispiel).
Dann wird per \b \b- der Text Fett geschrieben. Um den Text herum müssen {} Klammern sein. Zeilenumbrüche werden mit \par umgesetzt.

Imsgesamt gesagt ist deine Lösung eine Umfassendere, die für mehr Fälle zutrifft, und daher schwerer zu verstehen (besonders ohne Kommentare). Anscheinend ist das auch eine übliche Lösung, da ich sie auch auf anderen Seiten gefunden habe...

Aber sie hat mich auf den richtigen Weg gebracht :-D

Narayana 11. Mai 2005 07:05

Re: verschiedene Schriftarten im Quickreport
 
Ich habe da noch mal eine andere Frage zu:

Ich habe das jetzt mit Hilfe eines Streams umgesetzt.
Das funktioniert auch alles einwandfrei.

nun will ich aber auch einen Teil kursiv schreiben...und das klappt nicht:

Also wenn ich einen Text fett schreibe, dann geht es, erstetze ich \b \b- in \i \i-,
dann wird keine besondere Formatierung angezeigt. :gruebel:

Wenn ich den Text in eine RTF datei speichere, dann zeigt er sie richtig an (wenn man sie mit Word öffnet), aber im druckreport ist es nicht kursiv. :wall:

In Omata's Lösung kann man kursiv schreiben... also scheint der Durckreport es zu können...

Hat irgendjemand eine Idee, woran das liegen kann?

EDIT:

ICh habe rausgefunden woran das liegt: an WIN2PDF...wenn ich das auf dem richtigen drucker drucke, dann geht es... :wall: :pale:


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:11 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