如何删除ListBox中的重复项?

时间:2015-06-17 18:55:12

标签: delphi listbox duplicate-removal

我使用此代码删除重复项:

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" &安培; "圈地" for" dupIgnore"是重复的,虽然它们不是。如何解决这个问题?

1 个答案:

答案 0 :(得分:7)

尝试

NoDuplicate.CaseSensitive := True;