有四个memo,其中文本m1中:
test
test wenben文本m2中是要比较的文本多行,比如m2中有如下的行:
abcdef
ghijk test qita
hijk hlm
yyyy test wenben ccc
name is做两个按钮 1查找包含的行 2查找不包含的行点按钮1时m3获得结果:
ghijk test qita
yyyy test wenben ccc点按钮2时m4获得结果:
abcdef
hijk hlm请教个为前辈,代码如何写呢?请不要使用正则。我只会查找行是否包含。
Var
  j,k:integer;
  str1,str2:string;
begin
label4.Caption :='';
  for j:=0 to memo1.Lines.Count-1 do
  begin
    str1:=memo1.Lines[j];
    for k:=0 to memo2.Lines.Count-1 do
      begin
        str2:=memo2.Lines[k];
        if  pos(str1,str2)<>0 then
        begin
        label4.Font.Color:=clRed;
        label4.Caption:='已找到';
        break;
        end
        else
        begin
        label4.Font.Color:=clGreen;
        label4.Caption:='没找到';
        end;
      end;
  end;
end;

解决方案 »

  1.   

    上面问题修改为:
    有四个memo,其中文本m1中:
    test
    end wenben文本m2中是要比较的文本多行,比如m2中有如下的行:
    abcdef
    ghijk   test   qita
    hijk   hlm
    yyyy  end wenben   ccc
    name   is做两个按钮   1查找包含的行   2查找不包含的行点按钮1时m3获得结果:
    ghijk   test   qita
    yyyy   end wenben   ccc点按钮2时m4获得结果:
    abcdef
    hijk   hlm请教个为前辈,代码如何写呢?请不要使用正则。我只会查找行是否包含。
    Var
        j,k:integer;
        str1,str2:string;
    begin
    label4.Caption   :='';
        for   j:=0   to   memo1.Lines.Count-1   do
        begin
            str1:=memo1.Lines[j];
            for   k:=0   to   memo2.Lines.Count-1   do
                begin
                    str2:=memo2.Lines[k];
                    if     pos(str1,str2) <> 0   then
                    begin
                    label4.Font.Color:=clRed;
                    label4.Caption:='已找到';
                    break;
                    end
                    else
                    begin
                    label4.Font.Color:=clGreen;
                    label4.Caption:='没找到';
                    end;
                end;
        end;
    end;
      

  2.   

    点按钮2,怎么没看见“name is ”行,我只会查找行是否包含那不包含用not不就搞定了。
      

  3.   

    哦,对不起漏写了,
    点按钮2时m4获得结果:
    abcdef
    hijk       hlm 
    name       is 
    感谢zswang的回复,我是菜鸟,上面的代码我只能比较文本2中是否包含有文本1各行的字符窜,
    现在我是想在m3,m4中分别获得:
    文本2中包含有文本1字符窜的行到文本3中;
    和文本2中不包含文本1的行到文本4中。
    请给段代码,感谢!