title: How to find and select every occurences of specific word in Memo?
body: <p>I am making application which replaces different words of two very similar speaking languages. Number of words by time will probably reach at least 10.000+. There is no big differences in words, it is almost same languages, but however differences exists. </p>
  
  <p>So, I managed to replace words in Memo fast enough, but what I dont know is how to select all replaced words in Memo so it can be seen which words are replaced. Is this possible? </p>
  
  <p>This is how words are replaced:</p>
  
  <pre><code>procedure TForm1.TranslateExecute(Sender: TObject);
  var i: integer;
      S, OldPattern, NewPattern: string;
  begin
    S:= Memo1.Lines.Text;
  
    for i := 0 to (StrListV.Count - 1) do  {StrListV is created earlier, contains words that should be replaced}
    begin        
      OldPattern:= StrListV.Strings[i];
      NewPattern:= StrListV1.Strings[i]; {StrListV1 contains new words}
      S:= FastStringReplace(S, OldPattern, NewPattern,[rfReplaceAll]);
    end;
  
    Memo1.BeginUpdate;
    Memo1.Clear;
    Memo1.Lines.Text:= S;
    Memo1.EndUpdate;
  end;
  </code></pre>