Чтобы избежать дублирования в списке, просто проверьте, существует ли нужный элемент в списке, прежде чем добавить его.
function ItemExists(ListBox: TListBox; const Item: string): Boolean;
begin
Result := ListBox.Items.IndexOf(Item) >= 0;
end;
Вызовите эту функцию перед вызовом Items.Add
. Если он возвращает True, не звоните Items.Add
.