如何去除ListBox中的重复项?
How to remove duplicates in ListBox?
我使用此代码删除重复项:
procedure TForm1.RemoveDuplicates(StrList : TStringList);
var NoDuplicate: TStringList;
i: Integer;
begin
NoDuplicate := TStringList.Create;
try
NoDuplicate.Sorted := True;
NoDuplicate.Duplicates := dupIgnore;
///
for i := 0 to StrList.Count - 1 do
NoDuplicate.Add(StrList[i]) ;
///
NoDuplicate.Sorted:= False;
StrList.Assign(NoDuplicate) ;
finally
NoDuplicate.Free;
end;
end;
它工作正常。但是 "dupIgnore" 的问题是它不区分大小写。
例如,"rodeo" & "Rodeo" for "dupIgnore" 是重复的,尽管它们不是。如何解决这个问题?
尝试
NoDuplicate.CaseSensitive := True;
我使用此代码删除重复项:
procedure TForm1.RemoveDuplicates(StrList : TStringList);
var NoDuplicate: TStringList;
i: Integer;
begin
NoDuplicate := TStringList.Create;
try
NoDuplicate.Sorted := True;
NoDuplicate.Duplicates := dupIgnore;
///
for i := 0 to StrList.Count - 1 do
NoDuplicate.Add(StrList[i]) ;
///
NoDuplicate.Sorted:= False;
StrList.Assign(NoDuplicate) ;
finally
NoDuplicate.Free;
end;
end;
它工作正常。但是 "dupIgnore" 的问题是它不区分大小写。 例如,"rodeo" & "Rodeo" for "dupIgnore" 是重复的,尽管它们不是。如何解决这个问题?
尝试
NoDuplicate.CaseSensitive := True;