如何从 TMemo 控件中删除文本找到的行?

How to delete a line found by text from a TMemo control?

我有一个 TEditTMemo 和一个按钮。当用户按下按钮时,我想从该备忘录控件中删除与编辑框中输入的文本匹配的行。如果未找到匹配行,则应显示某种 "line not found" 消息。

我是 Delphi 的新手,不知道这方面的任何代码,但理论上它应该按照搜索 TMemo 的原则工作,直到找到与 Edit.Text 然后删除该特定行。

有人可以告诉我如何从 TMemo 控件中删除通过文本找到的行吗?

使用IndexOf function to find the index of an item by text in a string list. If this function returns value different from -1, the string was found and you can delete it from the list by using the 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 函数不区分大小写。