Autor Beitrag
Krumnix
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 60

Win98,2000,XP
Delphi 7 Enterprise
BeitragVerfasst: Di 10.05.05 10:38 
Moin.

Leider hab ich bei der Suche dazu nix gefunde.

Ich habe folgendes Problem:

Ca. 4.000 Stringvariablen sollen in einem Richedit angezeigt und dann ausgedruckt werden.
Dabei soll aber der ein oder andere String mal farbig, mal kleiner dargestellt werden.

Wie funktioniert das? Ist es Möglich, den Text schon vorher zu formatieren und dann an das Richedit zu übergeben? Wenn ja, wie?
Oder gibt es da was anderes?

Danke
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: Di 10.05.05 16:55 
Hallo,
user profile iconKrumnix hat folgendes geschrieben:
...Ist es Möglich, den Text schon vorher zu formatieren und dann an das Richedit zu übergeben? Wenn ja, wie?
Oder gibt es da was anderes?...

es ist möglich und es gibt auch was anderes :wink:

erst mal die anderen Möglichkeiten:
    den Text im Richedit formatieren :arrow: Stichwort "SelAttributes"
    den Text direkt auf den Drucker :arrow: Stichwort "printer.Canvas"

Text vorher formatieren und an das Richedit zu übergeben.
Hier ein Beispielcode zum Erweitern :wink:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
procedure TForm1.Button1Click(Sender: TObject);
var MyMS: TMemoryStream;
    MyRTFList : TStringList;
    s1, s2 ,s3 ,s4 : String;
begin
  s1 := 'Fett und grün';
  s2 := 'Kursiv und schwarz';
  s3 := 'Normal und blau';
  s4 := 'Fett und magneta';
  MyRTFList := TStringList.Create;
  MyMS := TMemoryStream.Create;
  try
    MyRTFList.Add('{\rtf1{\fonttbl{\f0 Arial;\f1 Courier;}}');
    MyRTFList.Add('{\colortbl;\red0\green128\blue0;\red0\green0\blue0;\red0\green0\blue255;\red255\green0\blue255;\red255\green0\blue0;}');
    MyRTFList.Add('\pard\plain\fs24');
    MyRTFList.Add('\cf1\b '+s1+'\b0\par');
    MyRTFList.Add('\cf2\i '+s2+'\i0\par');
    MyRTFList.Add('\cf3 '+s3+'\par');
    MyRTFList.Add('\cf4\b '+s4+'\b0\par');
    MyRTFList.Add('\cf2\ul Unterstrich\ul0\par');
    MyRTFList.Add('\f1\fs16 kleine Schrift\par\tab in Courier 8}');
    MyRtfList.SaveToStream(MyMS);
    MyMS.Seek(soFromBeginning,0);
    RichEdit1.PlainText := False;
    RichEdit1.Lines.LoadFromStream(MyMS);
  finally
    MyRTFList.Free;
    MyMS.Free;
  end;
end;

Ausdrucken :arrow: "RichEdit.Print"

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
Krumnix Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 60

Win98,2000,XP
Delphi 7 Enterprise
BeitragVerfasst: Mi 11.05.05 10:52 
Hey, danke. Genau das wollte ich. Drucken und so wusste ich schon :wink:

:D :D :D