PDA

View Full Version : بدست آوردن حجم فایل و پوشه



Laia2005
یک شنبه 23 بهمن 1384, 09:10 صبح
من می خواهم حجم فایل و پوشه را بدست بیاورم

البته تابع باشه بهتره !

Behzad_Asharkhan
یک شنبه 23 بهمن 1384, 14:35 عصر
سلام
برای محاسبه حجم دایرکتوری میتونی از این تابع استفاده کنی

اگه پارامتر SubDir برابر True باشه زیردایرکتوری ها هم در نظر گرفته میشه و برعکس

اگه دقت کنی میبینی که حجم دایرکتوری با جمع زدن حجم فایلها حساب شده، پس موضوع محاسبه حجم فایل هم حله.

اگه راهنمای TSearchRec ببینی راحت میتونی بقیه اطلاعات فایل رو هم استخراج کنی



function GetDirSize(dir: string; subdir: Boolean): Longint;
var
rec: TSearchRec;
found: Integer;
begin
Result := 0;
if dir[Length(dir)] <> '\' then dir := dir + '\';
found := FindFirst(dir + '*.*', faAnyFile, rec);
while found = 0 do
begin
Inc(Result, rec.Size);
if (rec.Attr and faDirectory > 0) and (rec.Name[1] <> '.') and (subdir = True) then
Inc(Result, GetDirSize(dir + rec.Name, True));
found := FindNext(rec);
end;
FindClose(rec);
end;


موفق باشی