Чтение онлайн

на главную - закладки

Жанры

Рекурсия

Карпов Юрий

Шрифт:

{ 49 } if ((SR.Attr and $10) = $10 ) then

|t_| Ты возможно заметил что в предыдущей строке комментария, дается расшифровка этой строки

{ 48 } // если это папка

Но

все таки давай разберемся подробнее.

Во первых, открою тебе великую тайну. Папка (folder, каталог, директорий) на самом деле это файл.

Да, это просто файл, и отличается он от других только атрибутом. Вот теперь мы добрались до атрибутов.

Вызови help на слове TsearchRec и ты увидишь(кроме всего прочего) :

faReadOnly $00000001 Read-only files

faHidden $00000002 Hidden files

faSysFile $00000004 System files

faVolumeID $00000008 Volume ID files

faDirectory $00000010 Directory files

faArchive $00000020 Archive files

faAnyFile $0000003F Any file

Нас интересует faDirectory но у папки могут быть установлены и другие атрибуты, а устанавливаются они сложением соответствующих значений.

Значит для определения, что рассматриваемый файл является папкой сказать

if SR.Attr = $10

будет неправильно, т.к. $11, $12, $13, $14, $15 ...
– это тоже папки.

Поэтому

лучше сначала обрезать значение с помощью &

В результате операции SR.Attr and $10 останется или 0 или $10, и это мы проконтролируем.

|go| Чёто сложновато.

|t_| Ну, я тут немножко повыёживался, не очень подробно объясняю.

Но, я хотел подвести к морали: программист должен очень много знать. В том числе работу операционной системы, и, а это святое - алгебру логики.

|go| Намек понял, не дурак. Надо подучить.

|t_| Ну, что ж, давай на этой оптимистичной ноте, заканчивать сегодняшнее занятие.

Сегодня мы сделали полезную, но, не очень необходимую утилитку.

В следующий раз мы будем продолжать тему "Рекурсия", я предлагаю сделать программку имитирующую windows Поиск, но с бОльшими возможностями:

Поиск регулярных выражений

Поиск в найденном

Сохранение и Загрузка списка найденных файлов

See you later.

|go| До связи.

Поделиться:
Популярные книги

Барон меняет правила

Ренгач Евгений
2. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Барон меняет правила

Сумеречный стрелок 6

Карелин Сергей Витальевич
6. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный стрелок 6

Случайная первая. Прокурор и училка

Кистяева Марина
Первые. Случайные. Любимые
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Случайная первая. Прокурор и училка

Ведьмак (большой сборник)

Сапковский Анджей
Ведьмак
Фантастика:
фэнтези
9.29
рейтинг книги
Ведьмак (большой сборник)

Волков. Гимназия №6

Пылаев Валерий
1. Волков
Фантастика:
попаданцы
альтернативная история
аниме
7.00
рейтинг книги
Волков. Гимназия №6

Сделай это со мной снова

Рам Янка
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Сделай это со мной снова

Возрождение Феникса. Том 2

Володин Григорий Григорьевич
2. Возрождение Феникса
Фантастика:
фэнтези
попаданцы
альтернативная история
6.92
рейтинг книги
Возрождение Феникса. Том 2

Кодекс Крови. Книга ХVI

Борзых М.
16. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Крови. Книга ХVI

Красноармеец

Поселягин Владимир Геннадьевич
1. Красноармеец
Фантастика:
боевая фантастика
попаданцы
4.60
рейтинг книги
Красноармеец

Самый богатый человек в Вавилоне

Клейсон Джордж
Документальная литература:
публицистика
9.29
рейтинг книги
Самый богатый человек в Вавилоне

Теневой Перевал

Осадчук Алексей Витальевич
8. Последняя жизнь
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Теневой Перевал

Последняя Арена

Греков Сергей
1. Последняя Арена
Фантастика:
боевая фантастика
постапокалипсис
рпг
6.20
рейтинг книги
Последняя Арена

Повелитель механического легиона. Том II

Лисицин Евгений
2. Повелитель механического легиона
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Повелитель механического легиона. Том II

Зубных дел мастер

Дроздов Анатолий Федорович
1. Зубных дел мастер
Фантастика:
научная фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Зубных дел мастер