如何删除ListBox中的重复项?

Srd*_*ica 1 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;  
Run Code Online (Sandbox Code Playgroud)

它工作正常.但是"dupIgnore"的问题在于它不区分大小写.例如,"dupIgnore"的"rodeo"和"Rodeo"是重复的,尽管它们不是.如何解决这个问题?

Tim*_*880 7

尝试

NoDuplicate.CaseSensitive := True;
Run Code Online (Sandbox Code Playgroud)