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

Рпавильно не показывает, т.к. у тебя получается абсолютно бредовая маска для поиска. Тут надо искать файлы по маске *.*, а потом руками проверять файл на соответсвие нужному набору масок (с помощью функции MatchesMask из модуля Masks).

примерно так:
Код:
var
 iFound : Integer;
 F : TSearchRec;
begin
 iFound := FindFirst(Path + '*.*', faAnyFile, F);
 While iFound = 0 Do
  begin
    If (F.Attr And faDirectory) = 0 Then // Исключаем папки
      If MatchesMask(F.Name,'*.mp3') Or
         MatchesMask(F.Name,'*.wav') Or
         MatchesMask(F.Name,'*.avi') Then ListBox1.Items.Add(Path + F.Name); // Не забываем добавлять полный путь, а то потом хрен файл найдешь
    iFound := FindNext(F);
  end;
 FindClose(F); // не забываем освобождать ресурсы
 ...
Ответить с цитированием