Вопрос № 30106: Уважаемые эксперты! Подскажите, пожалуйста как можно организовать поиск на диске определенных файлов, например по расширению или по имени, и занести их список в файл *.txt...
Вопрос № 30.106
Уважаемые эксперты! Подскажите, пожалуйста как можно организовать поиск на диске определенных файлов, например по расширению или по имени, и занести их список в файл *.txt
Отправлен: 23.11.2005, 22:45
Вопрос задал: MET (статус: Посетитель)
Всего ответов: 4 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Маренич Владимир
Здравствуйте, MET!
Используйте функции FindFirst и FindNext (описание смотрите в хелпе)
Ответ отправил: Маренич Владимир (статус: 7-ой класс)
Отправлен: 23.11.2005, 23:25
Отвечает: sir henry
Здравствуйте, MET!
Это можно сделать связкой функций FindFirst() и FindNext(). Первая функция ищет первый попавшийся файл с заданными параметрами и заполняет специальную запись, вторая этот поиск продолжает.
Uses WinDos;
var
SR: TSearchRec;
f: Text;
Begin
Assign(f, 'protocol.log');
Rewrite(f);
If FindFirst('*.txt', faAnyFile, SR)=0 Then
Repeat
WriteLn(f, SR.Name);
Until FindNext(SR)<>0;
End.
Если нужно искать во вложеных подкаталогах, то нужно анализировать атрибут каждого найденого файла (SR.Attr and faDirectory = faDirectory) и если это каталог, то заносить в его в отдельный список и вводить его потом как путь для поиска.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 24.11.2005, 06:00 Оценка за ответ: 4 Комментарий оценки: спасибо за пример, но у меня pascal пишет error 143, я немного исправил FindFirst('*.mp3', faAnyFile, SR); while DosError=0 do begin WriteLn(f, SR.Name); end;
Отвечает: Whisper
Здравствуйте, MET!
с функции FindFirst и FindNext, описание читай в стандартном хелпе
--------- все тленно
Ответ отправила: Whisper (статус: 2-ой класс)
Отправлен: 24.11.2005, 13:34
Отвечает: Schmak
Здравствуйте, MET!
Используйте FindFirst, FindNext. В приложении приведена процедура, которая ищет файлы в заданной папке и всех подпапках. Пример написан для Delphi, но в принципе должен работать и в Pascale.
Приложение:
--------- Не всё то Windows, что висит!
Ответ отправил: Schmak (статус: Студент)
Отправлен: 24.11.2005, 13:55
Отправить вопрос экспертам этой рассылки
Приложение (если необходимо):
* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.
Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!
Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.
Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.