当前位置:编程学习 > Delphi >>

delphi 如何对比两个txt文件并输出不同部分

举个例子,比如E盘下有两个TXT文件,文件名分别为1.txt和2.txt

 

 

 

1.txt内容如下:

Active Connections

  Proto  Local Address          Foreign Address        State
  TCP    111.11.1.111:1975      221.181.70.12:5926     ESTABLISHED

 

 

 

 

 

2.txt内容如下:

Active Connections

  Proto  Local Address          Foreign Address        State
  TCP    111.11.1.111:1975      221.181.70.12:5926     ESTABLISHED

  TCP    111.11.1.111:1111      169.254.241.33:2222     ESTABLISHED

 

 

 

显然2.txt比1.txt多了一排,那么就把这一排输出到3.txt

 

以上都是人工操作,如何用delphi实现

高手给具体代码,uses要用到什么,也说下

 

PS:问题要是baidu能解决,我也不来发帖了。

补充:

补充下我这txt的由来,就是在cmd中输入netstat -n的结果,然后将结果输出到txt文档中,所以文档的格式都是这样的

追问:

i 没有定义,这我自己改了,var后面加 i:integer;

但后面的我就不懂了(水平很菜= =)

 

 

答案:

var

  sl1,sl2,sl3:TStringList;

begin

  sl1:=TStringList.Create;

  sl1.LoadFromFile('1.txt');

  sl2:=TStringList.Create;

  sl2.LoadFromFile('2.txt');

  sl3:=TStringList.Create;

  for i:=0 to sl2.Count-1 do begin

    if (sl1.IndexOf(sl2.String[i])<0) then sl3.Add(sl2.String[i]);

  end;

  sl3.SaveToFile('3.txt');

  sl1.Free;

  sl2.Free;

  sl3.Free;

end;

我这边没有编译环境,上面代码是手写,要是有编译不过的地方自己修改下吧。

上一个:delphi7菜单的分隔线怎么打
下一个:DELPHI改变其他应用程序中的控件的文本内容

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,