Как удалить строку, найденную по тексту, из элемента управления TMemo?

У меня есть TEdit, TMemo и кнопка. Когда пользователь нажимает кнопку, я хочу удалить из этого элемента управления строку, соответствующую тексту, введенному в поле ввода. Если подходящей строки не найдено, должно отображаться сообщение "строка не найдена".

Я новичок в Delphi и не знаю никакого кода для этого, но в теории он должен работать по принципу поиска TMemo пока он не найдет линию, которая соответствует Edit.Text а затем удаляет эту конкретную строку.

Может ли кто-нибудь показать мне, как удалить строку, найденную по тексту из TMemo контроль?

1 ответ

Решение

Использовать IndexOf функция для поиска индекса элемента по тексту в списке строк. Если эта функция возвращает значение, отличное от -1, строка была найдена, и вы можете удалить ее из списка, используя Delete метод передачи найденного индекса:

var
  Index: Integer;
begin
  Index := Memo.Lines.IndexOf(Edit.Text);
  if Index <> -1 then
    Memo.Lines.Delete(Index)
  else
    ShowMessage('Text not found!');
end;

Обратите внимание, что IndexOf функция не чувствительна к регистру.

Другие вопросы по тегам