去掉重复(20分)

  • 主题发起人 主题发起人 小唐
  • 开始时间 开始时间

小唐

Unregistered / Unconfirmed
GUEST, unregistred user!
用户用文本文件记录了许多数据,每个数据占一行,这当中不免有重复的数据,
如何挑选出不重复的数据放入另一个文本文件中。希望大家能够献出代码,这
个原理可能人人都知道,我要的是实出的代码。谢谢。
 
procedure DeDup(SrcName, DstName: string);
var
i: Integer;
CurrItem: string;
Src, Dst: TStringList;
begin
Src := TStringList.Create;
Src.LoadFromFile(SrcName);
Dst := TStringList.Create;

for i := 0 to Src.Count - 1 do
begin
CurrItem := Src;
if Dst.IndexOf(CurrItem) < 0 then
Dst.Add(CurrItem);
end;

if Dst.Count > 0 then
Dst.SaveToFile(DstName);
Src.Free;
Dst.Free;
end;
 
//原理可能人人都知道,我要的是实出的代码
既然知道原理,为何不自己写代码呢(若没有特殊情况的话)?
否则是不可能会有提高的!
 
beta,谢谢你的帮助。
因为进行比较的关键代码一时把我给难住了,使我走了很多弯路,也就是你写的这一行:
if Dst.IndexOf(CurrItem) < 0 then
原先我也写过像上面这行这样的代码,判断用户输入的答案是不是在列表项之中,
不过那是用的listbox而不是stringlist,其实这两个东西完全是一回事呀。
有时用要学会变通才行,呵呵。
分数我给你加上了,再次谢谢你!
 
接受答案了.
 
后退
顶部