Ich habs mal so versucht:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| procedure TForm1.Button1Click(Sender: TObject); var StartTag, EndTag: integer; begin MSG := RichEdit2.Text;
while (Pos('[F]', MSG) > 0) do begin StartTag := Pos('[F]', MSG); Delete(MSG, StartTag, 3); EndTag := Pos('[/F]', MSG); Delete(MSG, EndTag, 4); RichEdit1.Text := MSG; RichEdit1.SelStart := StartTag-1; RichEdit1.SelLength := EndTag-StartTag; RichEdit1.SelAttributes.Style := RichEdit1.SelAttributes.Style + [fsBold]; end; end; |
Dieses beispiel sucht nach dem anfangs Tag [F] und dem Ende Tag und das wird dann Fett dargestellt.
Aber so funktioniert das nicht, es wird immer das letzte Fett dargestellt, was ein [F] Tag hat.
Das problem liegt daran, das nach jeder Schleifen Durchlauf der gesamte Text wieder ins RichEdit übergeben wird, somit verliert die davor definierte Text Attribute...
Wie könnte ich das ambesten lösen?
MfG