ДЕЛФИ TSTRINGLIST УДАЛИТЬ ДУБЛИКАТЫ
TStringList в Delphi представляет собой список строк. В нём могут храниться одинаковые строки, в том числе дубликаты. Если требуется удалить дубликаты строк, можно воспользоваться методом TStringList.Duplicates
.
Метод TStringList.Duplicates
определяет, как обрабатывать дубликаты строк. Он может принимать одно из трёх значений перечислимого типа TDuplicates
:
var MyStrings: TStringList;begin MyStrings := TStringList.Create; try MyStrings.Sorted := True; MyStrings.Duplicates := dupIgnore; MyStrings.Add('string1'); MyStrings.Add('string2'); MyStrings.Add('string1'); finally MyStrings.Free; end; // Output: 'string1', 'string2'
Таким образом, если вы хотите удалить дубликаты, выставьте свойство Duplicates
равным dupIgnore
. Если же нужно запретить дубликаты, выставьте его равным dupError
.
При использовании метода TStringList.FindDupes
можно найти все дубликаты в списке строк:
var MyStrings: TStringList;begin MyStrings := TStringList.Create; try MyStrings.Add('string1'); MyStrings.Add('string2'); MyStrings.Add('string1'); MyStrings.Add('string3'); MyStrings.Add('string2'); MyStrings.Add('string2'); MyStrings.Sorted := True; MyStrings.Duplicates := dupIgnore; MyStrings.FindDupes; // Output: 'string1', 'string2'
Если вы хотите удалить найденные дубликаты, их можно получить методом TStringList.Duplicates
, а затем удалить с помощью метода TStringList.Delete
:
var MyStrings: TStringList; Dups: TStringList; I: Integer;begin MyStrings := TStringList.Create; Dups := TStringList.Create; try MyStrings.Add('string1'); MyStrings.Add('string2'); MyStrings.Add('string1'); MyStrings.Add('string3'); MyStrings.Add('string2'); MyStrings.Add('string2'); MyStrings.Sorted := True; MyStrings.Duplicates := dupIgnore; Dups.Assign(MyStrings); Dups.Duplicates := dupIgnore; Dups.Sorted := True; for I := Dups.Count - 1 downto 0 do MyStrings.Delete(MyStrings.IndexOf(Dups[I])); // MyStrings now only contains unique strings finally Dups.Free; MyStrings.Free; end;
Урок на делфи 47. Сравнить два списка на дубликаты
Delphi - работа с TStringList основные моменты
Лучшая программа поиска дубликатов файлов и удаления - 4DDiG Duplicate File Deleter
DELPHI Урок 3 Создание БД, добавление, удаление, изменение записей
Как удалить дубликаты файлов на компьютере Windows 11/10/8/7?✅👍
Бесплатная программа для удаления дубликатов файлов на Вашем компьютере
✅ Важнейшая экспирация (Итоговый обзор рынка от TVT (16.06.2023))
Как автоматически удалить дубликаты файлов по содержимому
Delphi - Сохранение данных в текстовый файл и компонент SaveDialog
Тест на Delphi