2015-06-17 116 views
1

我用这个代码来删除重复项:如何删除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”&“dupIgnore”的“Rodeo”是重复的,尽管它们不是。如何解决这个问题?

+0

删除重复的最佳方式是不允许摆在首位添加:-) –

回答

7

尝试

NoDuplicate.CaseSensitive := True; 
+0

这么简单重复...谢谢你。 –