Как список может запретить повторяющиеся элементы? - PullRequest
1 голос
/ 15 января 2010

Я смотрел на http://delphi.about.com/od/tlistbox/a/list-box-onchange-drag-drop.htm и мне было интересно, можно ли было бы добавить возможность запрещать дубликаты, подобные этим, и если да, то как мне это сделать?

Спасибо

-Brad

Ответы [ 2 ]

5 голосов
/ 15 января 2010

Чтобы избежать дублирования в списке, просто проверьте, существует ли нужный элемент в списке, прежде чем добавить его.

function ItemExists(ListBox: TListBox; const Item: string): Boolean;
begin
  Result := ListBox.Items.IndexOf(Item) >= 0;
end;

Вызовите эту функцию перед вызовом Items.Add. Если он возвращает True, не звоните Items.Add.

1 голос
/ 01 апреля 2018

Я часто использую;

var
  item1 : string;
begin
  item1 := Trim(eSym1.Text);
  if ListBox1.Items.IndexOf(item1) < 0 then
    ListBox1.Items.Add(item1);
end; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...