Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.08.13;
Скачать: [xml.tar.bz2];

Вниз

Размер папки   Найти похожие ветки 

 
Батыр   (2006-07-22 03:33) [0]

Нет ли такой функции, которая возращала размер каталога.


 
Loginov Dmitry ©   (2006-07-22 08:16) [1]

Если бы была, то TatalCommander наверное так не тормозил бы при подсчете размера каталога (например при нажатии Space)


 
Ketmar ©   (2006-07-22 10:35) [2]

ручками писать. перебором-с...


 
medved_68 ©   (2006-07-22 12:06) [3]


> Нет ли такой функции, которая возращала размер каталога.


> Батыр  

Вот выдрал не помню откуда, но у меня в проектах работает нормально.

procedure TDiscSaze.GetDirSize(const aPath: string; var SizeDir: Int64);
var
 SR: TSearchRec;
 tPath: string;
begin
 tPath := IncludeTrailingBackSlash(aPath);
 if FindFirst(tPath + "*.*", faAnyFile, SR) = 0 then
 begin
   try
     repeat
       if (SR.Name = ".") or (SR.Name = "..") then
         Continue;
       if (SR.Attr and faDirectory) <> 0 then
       begin
         GetDirSize(tPath + SR.Name, SizeDir);
         Continue;
       end;
       SizeDir := SizeDir +
         (SR.FindData.nFileSizeHigh shl 32) +
         SR.FindData.nFileSizeLow;
     until FindNext(SR) <> 0;
   finally
     Sysutils.FindClose(SR);
   end;
 end;
end;

При помощи этой бодяги подсчитываю размеры вложенных папок.



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

Форум: "Начинающим";
Текущий архив: 2006.08.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.059 c
3-1148902254
Nein
2006-05-29 15:30
2006.08.13
рекурсия в цикле по строкам ADOQuery


2-1153667048
userok
2006-07-23 19:04
2006.08.13
Как сделать чтобы программа могла сворачиватся в трей?


15-1153381637
s_pavell
2006-07-20 11:47
2006.08.13
Документирование принтера


2-1153765656
AlexeyT
2006-07-24 22:27
2006.08.13
Как узнать все размеры шрифта?


2-1153842377
vain
2006-07-25 19:46
2006.08.13
Hint не работает





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский