Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.03 c
15-1154225165
eowl
2006-07-30 06:06
2006.08.27
Что случилось с Cos


2-1154599051
oleolay
2006-08-03 13:57
2006.08.27
обращение к элементам TFrame из родительской формы


15-1154381238
ronyn
2006-08-01 01:27
2006.08.27
Count of File s


2-1154911105
Василич
2006-08-07 04:38
2006.08.27
Вопрос по TTime


4-1146872104
Nostradamus
2006-05-06 03:35
2006.08.27
Named Pipes




   Наверх