Danke für deine Hilfe!
Habe nun etwas zusammengebastelt:
Delphi-Quellcode:
procedure TfrmMain.btSearchClick(Sender: TObject);
var
i : integer;
Found : Boolean;
begin
Found := False;
for i := ActualLine to Log_Memo.Lines.Count - 1 do
begin
if AnsiPos(Uppercase(edSearch.Text), Uppercase(Log_Memo.Lines[i])) <> 0 then
begin
Found := True;
ActualLine := i + 1;
Log_Memo.SelStart := Position;
Log_Memo.SelLength := Length(Log_Memo.Lines[i]);
Log_Memo.SetFocus;
end;
Position := Position + Length(Log_Memo.Lines[i]) + Length(#13#10);
if Found then
Break;
end;
if not Found then
begin
ActualLine := 0;
Position := 0;
ShowMessage('Finished search!');
end;
end;
ActualLine und Position sind global definiert.
Geht ganz gut, und es wird auch gleich der Text markiert.
die Suchfunktion sucht immer nach dem nächsten Text und fängt wieder von vorne an wenn das Memo aus ist.