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

Вниз

Как узнать кол-во файлов в папке ?   Найти похожие ветки 

 
LedWorm   (2003-07-20 21:42) [0]

Подскажите, мастера, как узнать сколько всего файлов в папке.
Какую процедуру юзать???

Заранее благодарен !!!


 
Spawn ©   (2003-07-20 21:48) [1]

Посмотри FindFirst, FindNext


 
3APA3A ©   (2003-07-20 22:18) [2]

var RR:TSearchRec;
Count:Integer;
begin
Count:=0;
If YourPath[Length(YourPath)]<>"\" then YourPath:=YourPath+"\";
If SysUtils.FindFirst(YourPath+"*.*",$3F,RR)=0 Then
Repeat
If (RR.Name=".")Or(RR.Name="..") Then Continue;
Inc(Count);
Until SysUtils.FindNext(RR)<>0;
SysUtils.FindClose(RR);
ShowMessage("В папке ""+YourPath+"" "+Count+" файлов");
end;
Это без учета файлов во вложенных папках...


 
Marser ©   (2003-07-20 22:55) [3]

Для подкаталогов следует добавить проверку атрибутов. Если fa_directory - новій поиск. Лучше делать рекурсивно.


 
3APA3A ©   (2003-07-20 23:03) [4]

Ну да... с рекурсией "красивше"... =)


 
panov ©   (2003-07-20 23:08) [5]

If SysUtils.FindFirst(YourPath+"*.*",$3F,RR)=0 Then

Лучше писать все-же
if SysUtils.FindFirst(YourPath+"*.*", faAnyFile,RR)=0 Then


 
Marser ©   (2003-07-20 23:19) [6]


> Ну да... с рекурсией "красивше"... =)

Ну и не только...Хотя некоторые ругают рекурсию.


 
3APA3A ©   (2003-07-21 01:12) [7]

Лучше писать все-же
if SysUtils.FindFirst(YourPath+"*.*",faAnyFile,RR)=0 Then

Да... вдруг они маски файлов поменяют... =)

Ну и не только.. Ну и короче... =)



Страницы: 1 вся ветка

Текущий архив: 2003.08.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
14-10386
PavelOKES
2003-07-17 07:46
2003.08.04
Есть ли такие же активные форумы по Java?


3-10124
jenya_d1
2003-07-15 09:10
2003.08.04
Выбор имени сервера БД в сети


1-10287
Артем К
2003-07-22 07:26
2003.08.04
Как вызвать PopupMenu под компонентом (скажем под кнопкой)


14-10401
avlan
2003-07-17 14:37
2003.08.04
DSPack


1-10255
PrettyFly
2003-07-20 13:22
2003.08.04
Framы - диверсанты ;-)