Вверх ↑
Ответов: 2059
Рейтинг: 132
#1: 2016-05-26 15:51:17 ЛС | профиль | цитата
Подскажите пожалуйста, а то вот не знал, да забыл: - Есть-ли возможность прочитать из файловой системы (через API, или ещё как) количество файлов в той, или иной папке, учитывая все вложенные директории? Что-то типа GetDirectorySize, только по количеству файлов.
Даже подойдёт без вложенных папок - потом можно просуммировать.
Сейчас приходится делать обход всех вложенных папок с подсчётом файлов через компонент FileSearch, а это не быстро при больших объёмах.
В основном всё такие решения:
procedure GetAllFiles( Path: string; Lb: TListBox );
var
sRec: TSearchRec;
isFound: boolean;
begin
isFound := FindFirst( Path + ‘\*.*’, faAnyFile, sRec ) = 0;
while isFound do
begin
if ( sRec.Name <> ‘.’ ) and ( sRec.Name <> ‘..’ ) then
begin
if ( sRec.Attr and faDirectory ) = faDirectory then
GetAllFiles( Path + ‘\’ + sRec.Name, Lb );
Lb.Items.Add( Path + ‘\’ + sRec.Name );
end;
Application.ProcessMessages;
isFound := FindNext( sRec ) = 0;
end;
FindClose( sRec );
end;

через *.*
карма: 6

0