Главная страница
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.071 c
8-89409
Vovich
2003-06-26 16:53
2003.10.27
Работа с VideoCD


14-89507
Gorlum
2003-10-09 11:03
2003.10.27
Выжигание изображения на диске


6-89426
Pavel Oliynik
2003-09-01 15:59
2003.10.27
как показывать прогресс закачки почты в IdPOP3


7-89608
Noname_
2003-08-12 11:45
2003.10.27
Как запускать chkdsk при каждом старте Windows?


7-89611
Jakommo
2003-08-11 14:14
2003.10.27
Запуск ехе с администраторскими правами под юзером.