У меня есть ListBox,в каждой строке указан путь к файлу...мне нужно определить размер всех файлов в мегабайтах...помогите пожалуйста  И еще вопросик: вообще у меня процедура рекурсивного обход директории, она получает результаты удовлетворяющие критерию поиска и выводит их в ListBox. Я пытался в процедуру добавить получение размеров файлов через SearchRec.Size,но она мне выводила размер всех файлов,а не тех которые удовлетворяют критерию поиска...может все таки можно в процедуре данное действие выполнить? Процедура:
Код | rocedure FindFiles(StartFolder, Mask: string; List: TStrings; ScanSubFolders: Boolean = True); var SearchRec: TSearchRec; FindResult: Integer;
begin List.BeginUpdate; try StartFolder := IncludeTrailingBackslash(StartFolder); FindResult := FindFirst(StartFolder + '*.*', faAnyFile, SearchRec); try while FindResult = 0 do with SearchRec do begin Application.ProcessMessages(); if (Attr and faDirectory) <> 0 then begin if ScanSubFolders and (Name <> '.') and (Name <> '..') then FindFiles(StartFolder + Name, Mask, List, ScanSubFolders); end else begin if MatchesMask(Name, Mask) then List.Add(StartFolder + Name); Size_file:=size_file+SearchRec.Size; end; FindResult := FindNext(SearchRec); end; finally FindClose(SearchRec); end; finally List.EndUpdate; end; end;
|
Size_file - глобальная переменная,потом по нажатию кнопки выводится значение в label...но опять же она(процедура) выводит размер всех файлов...помогите пожалуйста :( |