![]() |
RichEdit: <i>..</i> kursiv setzen
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 :gruebel: 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:
Was für einen Aufruf brauche ich, damit ich beliebige oft Passagen markieren kann? :gruebel:
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; Ich danke euch. |
Re: RichEdit: <i>..</i> kursiv setzen
Delphi-Quellcode:
procedure HTMLtoRTF(html:string; RichEdit:TRichEdit);
var StringStreamRead, StringStreamWrite:TStringStream; RegExpr:TRegExpr; Temp:string; begin RichEdit.Lines.BeginUpdate; StringStreamRead:=TStringStream.Create(''); RegExpr:=TRegExpr.Create; try RichEdit.Text:=html; RichEdit.PlainText:=false; RichEdit.Lines.SaveToStream(StringStreamRead); RegExpr.ModifierG:=false; RegExpr.Expression:='[i](.*)[/i]'; Temp:=StringStreamRead.DataString; Temp:=RegExpr.Replace(Temp, '[i]\\i $1\\i0 [/i]', true); RegExpr.Expression:='[b](.*)[/b]'; Temp:=RegExpr.Replace(Temp, '[b]\\b $1\\b0 [/b]', true); StringStreamWrite:=TStringStream.Create(Temp); try RichEdit.Lines.LoadFromStream(StringStreamWrite); finally StringStreamWrite.free; end; finally StringStreamRead.free; RegExpr.free; RichEdit.Lines.EndUpdate; end; end; ![]() |
Re: RichEdit: <i>..</i> kursiv setzen
Läuft, besten Dank :thumb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz