Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.03;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
1-6445
@andrew
2003-03-20 16:44
2003.04.03
Ресурсы. Есть файл, созданный WriteComponentResFile


3-6338
sniknik
2003-03-11 11:48
2003.04.03
RDS нужен пример, на Delphi


1-6491
Cranium
2003-03-23 22:09
2003.04.03
IniFiles и диалог выбора файла.....


1-6489
BIG BROTHER
2003-03-20 20:47
2003.04.03
Шрифт и цвет


3-6407
Kent1
2003-03-16 01:24
2003.04.03
связать таблицы через КомбоБоксы