брат, ну это же просто)
Чего ты... TStrings (это тип который как раз и есть Memo1) надо знать. Ибо он часто встречается...
Давай я наведу на мысли:
тебе надо бонально перебрать все поля, как это сделать ты уже выяснил:
Код:
for i := 0 to Memo1.Lines.Count - 1 do
begin
end;
Перебирая найти ту которая содержит в себе <2>.
Удалить.
Искать дальше строку <3> и пока не найдёшь (цикл с предусловием) удалять всё что попадётся на пути.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
for i:=0 to Memo1.Lines.Count - 1 do //запускаем цикл перебора (вывалимся Exit ниже из него как только найдём <2>
begin
if memo1.Lines[i]='<2>' then // нашли
begin
Memo1.Lines.Delete(i); // удаляем найденное
while memo1.Lines[i]<>'<3>' do memo1.Lines.Delete(i); // пока ищем <3> удаляем строчки(тем самым в мемке последние строки будут подниматься) на место удалённой попадать будет новая...
exit;
end;
end;
end;