Показать сообщение отдельно
  #2  
Старый 04.03.2009, 19:38
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Естественно, исчезают. Ты ведь в начале процедуры очищаешь список (ListBox1.Clear). Однако, при добавлении файлов из нескольких папок у тебя возникнет еще одна проблема. А именно, файлы у тебя в список добавляются без пути, т.о. неизвестно из какой папки добавлен конкретный файл. Тебе надо их хранить с полным путем, а для отображения выводить только короткое имя (или вообще, название, если оно есть, например, в ID3-тегах).

Я бы к каждому итему в ListBox'е "подвешивал" бы объектик, в котором хранил бы полный путь и разную дополнительную информацию.

И еще, я бы переписал добавление файлов. У тебя несколько абсолютно одинаковых кусков кода, что уже говорит о том, что этот участок надо отрефакторить. Это раз. Два. при добавлении файлов у тебя они будут сгруппированы по типу, а не по имени или как они лежат на диске. поэтому поиск надо делать по маске *.*, а проверять соответсвие по типам с помощью функции MatchesMask (модуль Masks).
Ответить с цитированием