Einzelnen Beitrag anzeigen

Benutzerbild von BackOrifice
BackOrifice

Registriert seit: 6. Jun 2005
74 Beiträge
 
Delphi 2007 Architect
 
#1

RichEdit: <i>..</i> kursiv setzen

  Alt 22. Feb 2009, 04:05
Nabend,

ich versuche seit geraumer Zeit, einen gewissen Text in einem TRichEdit-Feld zu manipulieren, aber irgendwie krieg ich's einfach nicht gerafft; auch mit Googlen

Ich möchte alle in "" und "" eingeschlossenen Textpassagen kursiv darstellen. Quasi: Normaler Text. [.i]kursiver Text.[./i] Normaler Text. Nur eben die [] durch <> ersetzt. Für einmal krieg ich das ganze hin - aber bei > 1 Vorkommen überschreibe ich mir meine SelStart, SelLengths.

Delphi-Quellcode:
  with RichEdit do
  begin
    while POS('[i]',Lines.Text) <> 0 do
    begin
      StartTag := POS('[i]',Lines.Text);
      if StartTag <> 0 then
      begin
        EndTag := POS('[/i]',Lines.Text) - POS('[i]',Lines.Text);
        Lines.Text := StringReplace(Lines.Text,'[i]','',[rfIgnoreCase]);
        Lines.Text := StringReplace(Lines.Text,'[/i]','',[rfIgnoreCase]);
        SelStart := StartTag;
        SelLength := EndTag - 3;
        SelAttributes.Style := [fsItalic];
      end;
    end;
  end;
Was für einen Aufruf brauche ich, damit ich beliebige oft Passagen markieren kann?

Ich danke euch.
Henning
  Mit Zitat antworten Zitat