Держи, немного побыстрее будет, точнее в разы от твоего варианта.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i, j :Integer;
begin
with Memo3.Lines do
begin
BeginUpdate;
Clear;
for i := 0 to Memo1.Lines.Count-1 do
for j := 0 to Memo2.Lines.Count-1 do
if CompareStr(Memo1.Lines[i],Memo2.Lines[j]) = 0 then
begin
Add(Memo1.Lines[i]);
Application.ProcessMessages;
end;
EndUpdate;
end;
end;