Вопрос № 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