Главная страница
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.021 c
7-89603
Nick_Omsk
2003-08-16 09:35
2003.10.27
Синхронизация внешних событий с потоком


3-89172
Митяй
2003-10-06 16:52
2003.10.27
SQL запрос с тремя таблицами


3-89105
Данила
2003-10-08 12:59
2003.10.27
Результаты в DBgrid.


14-89520
Knight
2003-10-08 18:59
2003.10.27
Дикий вопрос... а может и не очень


9-89089
x_michael
2003-04-22 02:06
2003.10.27
DXSpriteEngine и прозрачность входящих туда Sprites