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

Вниз

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

 
Труп Васи Доброго ©   (2004-09-25 09:47) [0]

Как это сделать???


 
080D:07BBh ©   (2004-09-25 09:54) [1]

Труп Васи Доброго
???????
просто ищи по маске *
все файлы первые два файла "." и ".." откидывай все остальные считай получишш значение равное количеству файлов.


 
080D:07BBh ©   (2004-09-25 09:55) [2]

ты не прикалываешся ?


 
Труп Васи Доброго ©   (2004-09-25 10:05) [3]


> ты не прикалываешся ?

Просто ищи по маске *.* я и без тебя знаю, а по гругому никак нельзя?
Просто я посмотрел что в ХР при просмотре свойств папки быстренько так показывает: файлов - 505, папок - 40, неужели тоже просто перебирает все подряд? Может какая функция есть?


 
Aspi   (2004-09-25 10:05) [4]

Cколько файлов есть в определённой папке?
Как наиболее быстрым способом узнать, сколько файлов с определенным расширением есть в определенной папке?

Например для HTM файлов:

Function GetFileCount(Dir:string):integer;
var fs:TSearchRec;
begin
 Result:=0;
 if FindFirst(Dir+"\*.htm",faAnyFile-faDirectory-faVolumeID, fs)=0 then
   repeat
     inc(Result);
   until FindNext(fs)<>0;
 FindClose(fs);
end;


 
080D:07BBh ©   (2004-09-25 10:08) [5]

Труп Васи Доброго
тады посмотри по API инфу скорее всего они там что новое прикрутили еще может быть на asm"e это быстро получается


 
Bardun   (2004-09-25 10:16) [6]

>Aspi   (25.09.04 10:05) [4]

А как сделать так чтобы результат этой функции у меня отображался например на Label ?


 
KilkennyCat ©   (2004-09-25 10:21) [7]

Быстро получится, если обратиться к фату, наверное.


 
TUser ©   (2004-09-25 10:24) [8]


> Просто ищи по маске *.* я и без тебя знаю, а по гругому
> никак нельзя?
> Просто я посмотрел что в ХР при просмотре свойств папки
> быстренько так показывает: файлов - 505, папок - 40, неужели
> тоже просто перебирает все подряд? Может какая функция есть?

Я уже тут спрашивал чо-то подобное. FindFirst/FindNext долго файлы перебирает, а OpenDialog показывает полный их список почти мгновенно. Следовательно, способы быстрее чем FindFirst/FindNext обязательно есть.


 
Bardun   (2004-09-25 10:43) [9]

Люди добрые подскажите  как сделать так чтобы результат этой функции у меня отображался например на Label ?


 
Труп Васи Доброго ©   (2004-09-25 10:58) [10]


> Aspi   (25.09.04 10:05) [4]

Твоя функция ИМХО не найдёт файлф в подкаталогах, да точно не найдёт, там рекурсия нужна.
У меня собственно программа перебирает все файлы в указанной папке (включая все вложенные) на предмет нахождения всех изменённых за последние сутки.
Всё работает, но вот задумал я к этому делу ещё и Gauge прикрутить, типа для красоты, чтобы видно было сколько процентов обработано. Вот и встал воброс как быстро определить сколько этих самых файлов там имеется! Ну не перебирать же мне все файлы два раза!


 
KilkennyCat ©   (2004-09-25 11:09) [11]


> Труп Васи Доброго ©   (25.09.04 10:58) [10]


Вообще-то, далеко не все, что хочется - можно :)

У меня антивирусник писициллин.... так вот он имеет два счетчика - один показывает число найденных файлов, другой - число обработанных. Может, тебе по такому принципу стоит сделать?


 
Труп Васи Доброго ©   (2004-09-25 11:17) [12]


> Может, тебе по такому принципу стоит сделать?

Нигого особо не интересует "сколько файлов обработано"
Юзера ВСЕГДА интересует СКОЛЬКО ЕЩЁ ЖДАТЬ ОСТАЛОСЬ!


 
Anatoly Podgoretsky ©   (2004-09-25 11:21) [13]

А ты как думал, хочешь и список и иметь и после него строить прогресс бар - два раза или вести свой список файлов в отдельном файле (кеширование). ОС кеширует список файлов первого и иногда второго уровня.


 
KilkennyCat ©   (2004-09-25 11:25) [14]


> Труп Васи Доброго ©   (25.09.04 11:17) [12]


а... понятно... Я бы, вообще-то, не стал бы так КАТЕГОРИЧНО решать ЧТО ХОЧЕТ ЮЗЕР.
разжевываю: мой антивирусник не знает, сколько файлов ему обработать, он при обработке считает их. То есть, есть два потока - один считает файлы, второй - сканирует на наличие вирусов. Отобразимть эти два процесса можно как счетчиками, так и гаугами. И вообще как угодно, если слегка подумать, что осталось=найдено-выполнено


 
Труп Васи Доброго ©   (2004-09-25 11:56) [15]

А вообще то быстро подсчёт перебором работает! Так что всё нормально! Всем спасибо!


 
Anatoly Podgoretsky ©   (2004-09-25 12:55) [16]

У меня примерно 5000 файлов в секунду с визуализацией.



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

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

Наверх




Память: 0.5 MB
Время: 0.035 c
1-1096976842
СержК
2004-10-05 15:47
2004.10.17
Ошибка при установке компонент


1-1096932113
vt
2004-10-05 03:21
2004.10.17
TFrame versus WM_NCHITTEST


1-1096925457
Artemka
2004-10-05 01:30
2004.10.17
Цвет текста в консолном приложении


3-1095660146
YurikGL
2004-09-20 10:02
2004.10.17
Запрос показывает не все записи


4-1095084845
Relaxxx
2004-09-13 18:14
2004.10.17
Как мне инициализировать сразу два порта(СОМ1 и СОМ2)