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
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).