Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#6

AW: Richedit Suche funktioniert nach Migration nicht mehr

  Alt 21. Jan 2017, 20:12
Naja, die Frage ist: Was steht in RichEdit1.Text, nur der pure Text? Oder der Text plus all das RTF-Zeugs, dass für die Darstellung benötigt wird?

Wenn Du im Richedit formatierten Text markierst, wird dann mit ShowMessage(Richedit.SelText) nur der reine Text ausgegeben oder mit den Formatierungsinformationen des Textes.

Es könnte sein, das hier unterschieden wird und Du mit Pos die Position des Suchbegriffes im Text mit Formatierungshinweisen bekommst, aber die Positionierung in SelText wird ohne die Formatierungshinweisen gemacht.

Was passiert, wenn Du vor der Suche etwas anders machst:
Delphi-Quellcode:
procedure Tform1.kursiv(SearchToken :string);
(* das zu formatierende Wort *)
var StringPos: integer;
begin
  (* Den gesamten Text markieren.*)
  form2.RichEdit1.SelStart := 0;
  form2.RichEdit1.SelEnd := Length(form2.RichEdit1.Text);

  (* Position des gesuchten Wortes im markierten Text ermitteln *)
  StringPos := Pos(SearchToken,form2.RichEdit1.SelText);
  if StringPos > 0 then
  begin

    (* SelStart-Zählung beginnt bei 0, daher 1 abziehen *)
    form2.RichEdit1.SelStart := StringPos - 1;
    form2.RichEdit1.SelLength := Length(SearchToken);

    (* formatieren *)
    form2.RichEdit1.SelAttributes.Style := [fsItalic];

    (* Cursor an Textanfang setzen und Markierung aufheben *)
    form2.RichEdit1.SelLength := 0;
    form2.RichEdit1.SelStart := 0;
  end;
end;
  Mit Zitat antworten Zitat