C++ Builder - вопросы программирования

       

Алгоритм функции Clear



Рисунок 10.23. Алгоритм функции Clear



Сначала функция clear обрабатывает текущий каталог: просматривает все файлы и удаляет те, которые надо удалить. Просмотр файлов обеспечивают функции FindFirst и FindNext . Функция FindFirst просматривает каталог, указанный при ее вызове, и записывает в структуру searchRec имя первого из найденных файлов, имя которого соответствует маске. В данной программе маска *.* , т. е. функция выбирает первый по порядку файл. Если файл найден, то выполняется проверка его расширения. Если расширение файла obj, tds или начинается со значка ~, то имя файла добавляется в поле Memo1 , а сам файл удаляется с диска. Удаляет файл функция DeleteFiie . После обработки первого файла для поиска следующего вызывается функция FindNext . После того как все файлы текущего каталога будут обработаны, функция clear проверяет, есть ли в текущем каталоге подкаталоги. Проверку выполняет функция FindFirst , которой в качестве параметра передается константа faDirectory , информирующая функцию о том, что надо искать имена каталогов, а не файлов. Если в текущем каталоге нет подкаталогов, то функция clear завершает работу. Если в текущем каталоге есть подкаталоги, то выполняется вход в подкаталог (делает это функция choir ) и вызов функции clear (для обработки подкаталога функция вызывает саму себя). Если в текущем каталоге нет необработанных каталогов, то она завершает работу и возвращает управление функции clear , которая ее вызвала и которая после этого продолжает обработку "своих" подкаталогов.

Вывод окна Обзор папок выполняет функция selectDirectory , которую вызывает функция обработки события click на кнопке Каталог. Для доступа к этой функции в текст программы надо включить директиву #include <FileCtrl.hpp>.

 



Содержание раздела