Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.27;
Скачать: CL | DM;

Вниз

Count of File s   Найти похожие ветки 

 
ronyn   (2006-08-01 01:27) [0]

Как определить количество файлов в папке без использования громоздких процедур. Можно примерно - т.к. нужно для отображения процесса где кол-во файлов - это progress.max .
                                                 Заранее благодарен.


 
Slym ©   (2006-08-01 06:20) [1]

function CountFiles(const Where: string):integer;
var
 EMode:Dword;
 FD:TWin32FindData;
 hSearch:DWORD;
begin
 result:=0;
 EMode:=SetErrorMode(SEM_FAILCRITICALERRORS);
 try
   hSearch:=Windows.FindFirstFile(PChar(IncludeTrailingPathDelimiter(Where)+"*.*"),FD);
   if hSearch<>INVALID_HANDLE_VALUE then
   try
     repeat
       if FD.dwFileAttributes<>FILE_ATTRIBUTE_DIRECTORY then
         Inc(result);
     until not FindNextFile(hSearch,FD);
   finally
     Windows.FindClose(hSearch);
   end;
 finally
   SetErrorMode(EMode);
 end;
end;


 
ronyn   (2006-08-02 00:01) [2]

Спасибо!
Данный пример будет искать количество файлов папке. Но как сделать, что бы подпапки тожк учитывались и их контент тоже?


 
AntiUser ©   (2006-08-02 00:24) [3]

ronyn   (02.08.06 00:01) [2]

А если самому подумать?


 
Eraser ©   (2006-08-02 02:13) [4]

> [2] ronyn   (02.08.06 00:01)

использовать рекурсивный алгоритм поиска.


 
Slym ©   (2006-08-02 05:55) [5]

function CountFiles(const Where: string):integer;
var
EMode:Dword;
FD:TWin32FindData;
hSearch:DWORD;
begin
result:=0;
EMode:=SetErrorMode(SEM_FAILCRITICALERRORS);
try
  hSearch:=Windows.FindFirstFile(PChar(IncludeTrailingPathDelimiter(Where)+"*.*"),FD);
  if hSearch<>INVALID_HANDLE_VALUE then
  try
    repeat
      if FD.dwFileAttributes<>FILE_ATTRIBUTE_DIRECTORY then
        Inc(result)
      else
        Inc(result,CountFiles(IncludeTrailingPathDelimiter(Where)+FD.cFileName));

    until not FindNextFile(hSearch,FD);
  finally
    Windows.FindClose(hSearch);
  end;
finally
  SetErrorMode(EMode);
end;
end;



Страницы: 1 вся ветка

Текущий архив: 2006.08.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.057 c
3-1150731490
rar
2006-06-19 19:38
2006.08.27
Хранимая процеддура


15-1154118328
QuickFinder
2006-07-29 00:25
2006.08.27
Commercial Open Source


2-1155124268
novill
2006-08-09 15:51
2006.08.27
Не могу понять суть такого рода объявлений


15-1153860869
ronyn
2006-07-26 00:54
2006.08.27
Окна нестандартной формы


3-1150723850
Dust
2006-06-19 17:30
2006.08.27
Работа с блобами