Delphi 如何删除列表框中的重复项?

Delphi 如何删除列表框中的重复项?,delphi,listbox,duplicate-removal,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; ///

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

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”代表“dupIgnore”是重复的,尽管它们不是。如何解决这个问题

试试看

NoDuplicate.CaseSensitive := True;
试一试


就这么简单。。。谢谢,就这么简单。。。谢谢。删除重复项的最佳方法是不允许在第一个位置添加重复项:-)删除重复项的最佳方法是不允许在第一个位置添加重复项:-)