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

Вниз

Программное определение размера директории   Найти похожие ветки 

 
me2   (2003-03-21 17:34) [0]

Подскажите пожалуйста, как реализовать сабж?


 
MBo   (2003-03-21 17:38) [1]

обходом по findFirst etc


 
me2   (2003-03-21 17:42) [2]

Пробовал так
function TMainForm.GetBaseSize: Integer;
var
SearchRec: TSearchRec;
FindResult: Integer;
begin
Result := -1;
FindResult := FindFirst("c:\SomeDir", faDirectory, SearchRec);
if FindResult = 0 then
Result :=SearchRec.Size;
end;

Но Result равен нулю, хотя если читать размер файла, то все нормально.
Видать придеться делать как говорит MBo


 
Anatoly Podgoretsky   (2003-03-21 17:53) [3]

me2 (21.03.03 17:34)
А что ты имеешь ввиду, когда говоришь размер "директории", оно как бы размера не имеет


 
Chlavik   (2003-03-21 19:07) [4]

Я делал так
Procedure GetDirSize(Path:string; var size:int64);
var
SR: TSearchRec;
tPath: String;
begin
tPath := IncludeTrailingBackSlash(Path);
if FindFirst(tPath+"*.*",faAnyFile,SR) = 0 then
begin
try
repeat
Application.ProcessMessages;
if SR.Name[1]="." then Continue;
case (SR.Attr and faDirectory) of
faDirectory: GetDirSize(tPath+SR.Name,size);
else Size:=Size+SR.Size;
end;
until FindNext(SR)<>0;
finally
FindClose(SR);
end;
end;
end;



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

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

Наверх





Память: 0.45 MB
Время: 0.008 c
1-6574
Alex-21
2003-03-20 21:29
2003.04.03
TPopupMenu


3-6309
Val_123
2003-03-17 12:06
2003.04.03
Перечитать таблицу


1-6581
Alex Shulg
2003-03-21 16:52
2003.04.03
CreateProcess & SW_MINIMIZE


14-6673
calm
2003-03-18 09:31
2003.04.03
Кто-нибудь следит за своими авторскими правами?


1-6462
Sergey_
2003-03-24 11:15
2003.04.03
в чём отличие TEdit.text и string ?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский