Znaleźć linię w RichEdit

0

Szukam sposobu na wyświetlenie w której lini znaleziono tekst w RichEdit.
Stosuje FindText w RichEdit i funkcja zwraca pozycję w której znaleziono poszukiwane słowo a jak wyciągnąć info która to jest linia ?

0

Np. policzyć ilośc znaków #13#10 wystepujących przed wyszukanym tekstem.

0

No nie do końca bo hm... wygląda to tak:

    FoundAt := FindText(InSearch, StartPos, ToEnd, [stMatchCase]);
    while FoundAt <> -1 do
    begin
      SetFocus;
      SelStart := FoundAt;
      SelLength := 80;
      SelAttributes.Color := clRed;
      FoundAt := FindText(InSearch,FoundAt + length(InSearch),ToEnd, []) ;
    end;

czyli chce <ort>po prostu</ort> wyszukać tekst w RichEdit i zmienić kolor całej lini w której tekst został znaleziony.
Funkcja RichEdit.FindText() wyszukuje mi to i nie mam pojęcia ile było wcześniej enterów.

0
function EnterCount(S : String; ToPos : Integer): Integer;
var
  EPos : Integer;
begin
  Result := 1;
  EPos := Pos(#13#10, S);
  if EPos < ToPos then
    repeat
      EPos := PosEx(#13#10, S, EPos+1);
      Inc(Result);
    until EPos > ToPos;
end;

Jako string podajesz tekst RichEdita, jako ToPos pozycje na której znajduje sie znaleziony tekst (FoundAt).

1 użytkowników online, w tym zalogowanych: 0, gości: 1