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

Вниз

Поиск каталога или файла   Найти похожие ветки 

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

Наверх




Память: 0.47 MB
Время: 0.042 c
7-89601
Евгений12
2003-08-13 15:55
2003.10.27
HDD


1-89393
Oleg Barsky
2003-10-15 15:01
2003.10.27
Как узнать ASCII-код символа?


6-89428
Akim2
2003-08-29 15:34
2003.10.27
MAC при отключении из сети


14-89476
Knight
2003-10-07 06:54
2003.10.27
Люди, как получить более менее случайное число?


1-89288
LinOS
2003-10-17 05:57
2003.10.27
Указания компилятору что бы брал разные строки кода