Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];

Вниз

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

 
Труп Васи Доброго ©   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.032 c
1-1096560226
Никита
2004-09-30 20:03
2004.10.17
Извлечь цифру из строки


1-1096646497
KIR
2004-10-01 20:01
2004.10.17
Изменить размеры Memo с помощью мыши в run-time


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


1-1096435775
Vint
2004-09-29 09:29
2004.10.17
нужно перехватить сообщение об открытии окна (наверное)


14-1096276126
WondeRu
2004-09-27 13:08
2004.10.17
Конец демократии или проблема 2008 года решена!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский