Форум: "Основная";
Текущий архив: 2003.10.27;
Скачать: [xml.tar.bz2];
ВнизПоиск каталога или файла Найти похожие ветки
← →
Slavian (2003-10-14 18:41) [0]Мастера, напишите мне как найти каталог или файл, если дано имя, на всём диске. У меня не получается проверить все подкаталоги.
← →
DVM (2003-10-14 18:48) [1]FindFirst + FindNext + FindClose + рекурсия
← →
Slavian (2003-10-14 18:57) [2]
> DVM © (14.10.03 18:48) [1]
рекурсия, рекурсия, У меня она до бесконечности доходит, напишите мне полный текст процедуры!
← →
DVM (2003-10-14 19:01) [3]В лом мне писать. Вот функция, которая вычисляет размер папки. Суть та же + подумать.
function GetDirectorySize(const Path: string): Int64;
var
FD : TWin32FindData;
FH : THandle;
TempSize: TULargeInteger;
begin
Result := 0;
if Path="" then exit;
if not(DirExists(Path)) then exit;
FH := FindFirstFile( PChar( Path + "*.*" ), FD );
repeat
if (FH<>INVALID_HANDLE_VALUE) and (FD.cFileName <> string(".")) and
(FD.cFileName<>string("..")) then
begin
if (FILE_ATTRIBUTE_DIRECTORY and FD.dwFileAttributes) <> 0 then
Inc(Result, GetDirectorySize(Path + FD.cFileName + "\"))
else
begin
TempSize.LowPart := FD.nFileSizeLow;
TempSize.HighPart := FD.nFileSizeHigh;
Inc(Result, TempSize.QuadPart);
end;
end;
until FindNextFile(FH,FD) = false;
FindClose(FH);
end;
← →
clickmaker (2003-10-14 19:03) [4]
> Slavian © (14.10.03 18:57) [2]
>
> > DVM © (14.10.03 18:48) [1]
>
> рекурсия, рекурсия, У меня она до бесконечности доходит,
> напишите мне полный текст процедуры!
Ты лучше свой бесконечный код напиши! А мы уж поглядим, как ему конец приделать...
← →
ilka (2003-10-14 19:08) [5]попробуй поискать сдесь
http://delphibase.endimus.ru/?action=viewfunc&topic=sysparams&id=10314
http://delphibase.endimus.ru/?action=viewtopic&topic=fileops
http://delphibase.endimus.ru/?action=viewtopic&topic=filenames
← →
Slavian (2003-10-14 19:14) [6]всем пасиба, если есть ещё предложения пишите, нет - ну и ладно я уже нашел то что искал!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.10.27;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.012 c