delphi比较两个文本文件删除相同数据

有两个文本文件A、B,里面存储了大量的字符串,举例如下:A中有:1478ui……B中有:4uiasdfertuqwiu……想使用delphi编写一个小程序,首先读入两个文... 有两个文本文件A、B,里面存储了大量的字符串,举例如下:
A中有:
1
4
78
ui
……
B中有:
4
ui
asdf
ertuqwiu
……
想使用delphi编写一个小程序,首先读入两个文件,比较A、B文件中字符串,把
相同的字符串如4、ui删掉。最好还要有个dbgrid控件,显示删掉的字符串在A的什么位置,请高手帮忙,没有分数了,见谅!
展开
 我来答
myhuy
2011-07-11 · 超过25用户采纳过TA的回答
知道答主
回答量:88
采纳率:0%
帮助的人:86.2万
展开全部
告诉你一个思路:
1、定义两个TStringList
strl1,strl2,strl3:TstringList;
2、实例化:
strl1:=Tstringlist.create;
strl2:=tstringlist.create;
strl3:=tstringlist.create;
3、读取文件
strl1.loadfromfile(filename1);
strl2.loadfromfile(fliename2)
4、通过循环来比较有没有重复的
for i=0 to strl1.count-1 do
begin
flag:=true;//标记设为真
for k=0 to strl2.count-1 do
begin
if strl1[i].tostring=strl2[k].tostring then
begin
flag:=false;//如果有相同的,把标记设为假
break;
end
if flag then//标记为真,表示没有相同的,加到了第三个字符列表中
begin
strl3.add(strl1[i].tostring);
end;
end;
end
最后,strl3中的内容,就是排除了相同的。保存一下:strl3.savetofile(filename);
记得把strl1,strl2,strl3都free掉。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
己闻楣Sx
2011-07-11 · TA获得超过1935个赞
知道大有可为答主
回答量:1057
采纳率:93%
帮助的人:891万
展开全部
用dbgrid?这个和数据库毫无关系呀,应该用StringGrid或者ListBox就可以了。
其实最好不用界面元素,直接把删除掉的信息保存到另外一个文本文件中,每行以<TAB>分开为两列,当你想用什么来显示时,再装载也不迟,例如显示到ListBox,用ListBox.Items.LoadFromFile,显示到Memo,用Memo.Lines.LoadFromFile都很方便。

要点:针对“大量数据”,需要首先对两组数据排序,然后仿照归并排序算法,求出交集。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lovedf2006
2011-07-10 · TA获得超过349个赞
知道小有建树答主
回答量:499
采纳率:0%
帮助的人:257万
展开全部
能不能将文件发送过来 这边处理一下. 122772322
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式