![]() |
![]() ![]() ![]() ![]() |
|
Удаление дубликатов в TStringListDelphi , Компоненты и Классы , СпискиУдаление дубликатов в TStringList
Оформил: DeeCo
procedure TForm1.Button1Click(Sender: TObject);
var
sl: TStringList;
begin
sl := TStringList.Create;
try
with sl do
begin
// Duplicates does nothing
// if the list is not sorted.
Sorted := True;
// Ignore attempts to add
// duplicate strings to the list.
Duplicates := dupIgnore;
Add(Edit1.Text);
end;
Listbox1.Items.Assign(sl);
finally
sl.Free;
end;
end;
Here's the translation of the text into Russian: Неплохой код на Delphi! Цель этого процедуры - удалить дубликаты из TStringList и затем присвоить отфильтрованный список TListBox. Давайте разбить это на шаги: 1. Процедура создает новый экземпляр TStringList, называемый sl. 2. Она устанавливает свойство Sorted в True, что означает, что любые последующие добавления в список будут отсортированы. Это важно потому, что алгоритм удаления дубликатов работает только если список отсортирован. 3. Она устанавливает свойство Duplicates в dupIgnore, что говорит списку игнорировать попытки добавить дубликаты строк. Если будет попытка добавить дубликатную строку, она просто будет проигнорирована. 4. Затем процедура добавляет текст из Edit1 (предположительно компонент TEdit) в список с помощью метода Add. 5. После того, как список был заполнен, процедура присваивает отфильтрованный список Listbox1 с помощью метода Assign. Магия происходит на шагах 2-3. Установив Sorted в True и Duplicates в dupIgnore, список автоматически удалит любые дубликаты строк, которые будут попытаться добавить. Это удобный способ отфильтровать список без необходимости писать.custom код для обнаружения дубликатов. Моя маленькая рекомендация - рассмотреть использование более описательного имени переменной вместо sl. Например, deduplicatedStringList сделает код более понятным на первый взгляд. В целом, это чистый и эффективный способ отфильтровать строковый список в Delphi. Поздравления DeeCo за его поделкой! В статье описывается процедура удаления дубликатов в TStringList, которая позволяет игнорировать попытки добавить к списку дубликаты строк и отображает список без повторяющихся элементов. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||