Hallo,
der Code färbt alles in der Art '[ B]irgendwas[ /B]' rot und entfernt die Tags.
Der Code ist nicht optimiert, aber man kann die Vorgehensweise gut erkennen.
Delphi-Quellcode:
with RichEdit1 do
while FindText('[B]', 0, Length(RichEdit1.Text), [stMatchCase])<>-1 do
begin
//SelStart auf Anfang '[B]..' setzen
SelStart := FindText('[B]', 0, Length(RichEdit1.Text), [stMatchCase]);
//SelLength auf Ende(also +4) '...[/B]' setzen,
//durch Abzug von Selstart ist genau der String incl. Tags selectiert.
SelLength := FindText('[/B]', 0, Length(RichEdit1.Text), [stMatchCase])+4-Selstart;
//selectierten Bereich einfärben
SelAttributes.Color := clred;
//selectierten Bereich durch String ohne Tags ersetzen
SelText := Copy(RichEdit1.Text,SelStart+4,SelLength-7);
end;