Показать сообщение отдельно
  #1  
Старый 01.03.2015, 17:26
Anton93 Anton93 вне форума
Прохожий
 
Регистрация: 20.02.2015
Сообщения: 27
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Поиск в подкатологах

помогите осуществить поиск по всем дискам и подкатологам,
пишу так

Код:
procedure FindFiles;
var
  WFD:WIN32_Find_Data;
  HFile:THandle;
  DType:Byte;
  Drive: Char;
  mask: PChar;
begin
  mask:='*.txt';
  for Drive:='a' to 'z' do
  DType:=GetDriveType(PChar(Drive+'\'));
    case DType of
      DRIVE_FIXED{HARD},DRIVE_REMOVABLE{USB}:
        begin
          HFile:=FindFirstFile(DType+mask,WFD);//Ищем файлы только в указанном каталоге
          if HFile<>INVALID_HANDLE_VALUE then //Проверяем отсутствие ошибок
          begin
            repeat
              if (WFD.dwFileAttributes and faDirectory)<>faDirectory then//Проверка что это не папка
              Form1.Memo1.Lines.Add(WFD.cFileName);
            until FindNextFile(HFile,WFD)<>True;
            Winapi.Windows.FindClose(HFile);
          end;
      end;
  end;
end;
именно WIN32_Find_Data без использования tsearchrec.
Ответить с цитированием