Реферат: Разработка файловой оболочки
D:string;
begin
{ Вывод в статус строке директории в которой производится поиск }
FindForm.StatusFind.Panels[1].Text:=CurDir;
FindFirst(CurDir+'*.*',faAnyFile,F);
FindNext(F);
repeat
// Проверка расширенного поиска
If FindForm.CBAdvSearch.Checked and (F.Attr<>faDirectory) then
begin
// Проверка на размер найденного файла
// размер и время создания найденого файла должны находится в пределах заданных
// пользователем
if not(((F.Size < StrToInt(FindForm.SLess.Text)) and
(F.Size > StrToInt(FindForm.SGreater.Text)))) then Continue;
if not(((FileDateTime(CurDir+F.Name)<FindForm.DateIsBefore.Date) and (FileDateTime(CurDir+F.Name) > FindForm.DateIsAfter.Date))) then Continue;
end;
// проверить не является ли найденый файл директорией
if F.Attr=faDirectory then
if (F.Name<>'.') and (F.Name<>'..') then
begin
// если найденный файл – директория , рекурсивный вызов поиска в данной директории
FindInCurrentDir(CurDir+F.Name+'\');
end;
if (F.Name<>'..') and (F.Name<>'.') then
// если файл подходит под маску, занести его в список
if CompareFileWithMask(F.Name) then
begin
FindForm.FileWasFind.Items.Add(CurDir+F.Name);