Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.03.2015, 17:25   #1
Anton931
Пользователь
 
Регистрация: 20.02.2015
Сообщений: 35
По умолчанию Поиск в подкатологах

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

Код:
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.
Anton931 вне форума Ответить с цитированием
Старый 01.03.2015, 18:44   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

а где рекурсия-то?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 01.03.2015, 19:18   #3
HTTqp
Форумчанин
 
Регистрация: 20.12.2013
Сообщений: 164
По умолчанию

может подставлять имя если это папка надо)

Последний раз редактировалось HTTqp; 01.03.2015 в 19:22.
HTTqp вне форума Ответить с цитированием
Старый 01.03.2015, 19:22   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

http://eax.me/winapi-file-search/

да и ващще, вотЪ.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 01.03.2015, 20:25   #5
Anton931
Пользователь
 
Регистрация: 20.02.2015
Сообщений: 35
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
раздел Delphi, ссылка на С не знаю к чему
Anton931 вне форума Ответить с цитированием
Старый 01.03.2015, 20:29   #6
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
раздел Delphi, ссылка на С не знаю к чему
ну ты ж сам просил через API
Цитата:
WIN32_Find_Data
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 01.03.2015, 21:01   #7
Anton931
Пользователь
 
Регистрация: 20.02.2015
Сообщений: 35
По умолчанию

а у нас оказывается API=C, то есть на других языках включая Delphi нет! Раздел Delphi читай внимательно, а не набивай посты!!!
Anton931 вне форума Ответить с цитированием
Старый 01.03.2015, 21:34   #8
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
а у нас оказывается API=C
Да, мне, собственно, пофигу, как там у вас.
Цитата:
то есть на других языках включая Delphi нет!
Я этого и не говорил. Какая разница? Язык не имеет значения, я показал, как выглядит рекурсивный алгоритм с использованием типа WIN32_Find_Data. Не более.
Если хочешь, чтобы этот алгоритм был реализован на delphi - напиши его на delphi, вот и всё.

Цитата:
Раздел Delphi читай внимательно, а не набивай посты!!!
А чо такое "набивай посты"?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помощь в доработке программы на языке паскаль (бинарный поиск, поиск перебором) DimzNOVIchok45 Помощь студентам 0 13.10.2014 20:11
Реализовать два метода поиска строк в массиве: поиск перебором, бинарный поиск на языке Pascal DimzNOVIchok45 Помощь студентам 7 19.09.2014 21:40
Обработка одномерного массива - поиск среднего, поиск минимального, сортировка (Паскаль) nadez Паскаль, Turbo Pascal, PascalABC.NET 3 18.03.2014 08:45
Поиск TotKogoNet Microsoft Office Excel 5 17.05.2011 18:15
Поиск в БД ->@LEX<- БД в Delphi 4 16.05.2011 11:50