delphi 在备忘录中搜索文本

llew8vvj  于 2022-11-04  发布在  其他
关注(0)|答案(1)|浏览(191)

我只想在TMemo的行中搜索'2'。我的代码返回了4个结果,但应该只有1个结果。

如何避免计算其他包含'2'的行?我哪里出错了?

procedure TForm1.Button2Click(Sender: TObject);
var
  f: Integer;
begin
  for f := 0 to Memo2.Lines.Count - 1 do
  begin
    if AnsiContainsStr(Memo2.Lines[f], Panel49.Caption) then
    begin
      Panel50.Caption := IntToStr(StrToInt(Panel50.Caption) + 1);
    end;
  end;
end;
14ifxucb

14ifxucb1#

您正在对每一行执行子字符串搜索。如果任何一行 * 包含 * 子字符串,您认为它是匹配的。但这不是您所说的,所以您应该将 * 整行 * 作为一个整体进行比较,例如更改以下语句:
if Memo2.Lines[f] = Panel49.Caption then
改为:
if Memo2.Lines[f] = Panel49.Caption then

相关问题