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.