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

Вниз

Самый быстрый способ узнать размер папки   Найти похожие ветки 

 
cando ©   (2006-07-23 21:44) [0]

Всвоей программе я нахожу размер папки по сумме размеров всех файлов в неи и подкатологов, размеркоторых я нахожу темже способо,
так как это очень медленный способ прошу подсказать способ побыстрее


 
Мефисто   (2006-07-23 21:50) [1]

cando  ©   (23.07.06 21:44)

Готового нет. Только проходом и подсчетом размеров по всему дереву каталогов и файлов. Пример поиска файлов или каталогов на диске по F1 или в FAQ.


 
cando ©   (2006-07-23 21:55) [2]

Примерно так я и ищу
ну например если мне надо измерить размер папки виндовс, приходиться потратить от 2 до 5 минут! мне надо быстрее в этом то вся проблема!


 
Virgo_Style ©   (2006-07-23 21:59) [3]

cando ©   (23.07.06 21:55) [2]
*с очень умным видом* Надо оптимизировать твой алгоритм.


 
cando ©   (2006-07-23 22:04) [4]

Virgo_Style-> сможешь написать свой вариант?


 
Мефисто   (2006-07-23 22:16) [5]


> cando ©   (23.07.06 22:04) [4]


Факторов несколько:
1 - алгоритм поиска (чем проще - тем шустрее :) )
2 - количество файлов в каталоге и подкаталогах
3 - фрагментация этих файлов
4 - включить индексирование файлов

Windows? Total Commander тоже долго считают размер каталога в зависимости от объема. Хочешь их обогнать? :)


 
cando ©   (2006-07-23 22:22) [6]

Да хотелось бы!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


 
Virgo_Style ©   (2006-07-23 22:31) [7]

Полагаю, что смогу.


 
cando ©   (2006-07-23 22:45) [8]

просьба продемонстрировать :)


 
Мефисто   (2006-07-23 22:52) [9]


> cando ©   (23.07.06 22:45) [8]


Сначала твой код :) А то мы покритиковать обычно любим :)))


 
cando ©   (2006-07-23 23:11) [10]

мой код очень большой он однавременно со сканированием записывает положени папок и файло их размеров, вобщем создает полную карту файловой системы, над ним я около часа пыхтел(из за недостатка знаний) и теперь переделывать или новый прописывать лениво!!!!!!!!!!!!!

твой код мне интересно узнать чтобы возможно ускорить этот процесс

общий вид мой код имеет такой

СКАНИРУЕМ НАЧАЛЬНУЮ ДИРЕКТОРИЮ
  ССУМИРУЕМ РАЗМЕРЫ НАЙДЕНЫХ ФАЛОВ
      НАЙДЕННЫЕ ДИРРЕКТОРИИ ВЫСТАВЛЯЕМ В ПОРЯДОК СКАНИРОВАНИЯ
ПОВТОРЯЕМ С НИМИ ОПЕРАЦИЮ С ПЕРВОЙ

И ТАК ДО ОКОНЧАНИЯ ДЕРЕВА КАТАЛОГОВ!!!!!


 
KilkennyCat ©   (2006-07-24 00:15) [11]

> вобщем создает полную карту файловой системы


зачем ее создавать, она уже создана.


 
begin...end ©   (2006-07-24 08:44) [12]

Без перебора, действительно, никак. Но перебор вовсе необязательно делать самому -- можно попросить об этом систему:

var
 FSO, Folder: OleVariant;
begin
 FSO := CreateOleObject("Scripting.FileSystemObject");
 Folder := FSO.GetFolder("C:\Windows");
 ShowMessage(Folder.Size);
 ...
end


 
begin...end ©   (2006-07-24 08:45) [13]

Вдогонку: uses ComObj.



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

Форум: "Начинающим";
Текущий архив: 2006.08.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.046 c
15-1153039011
Cerberus
2006-07-16 12:36
2006.08.13
Альтернетива.


3-1149323064
АНОНИМ
2006-06-03 12:24
2006.08.13
Закрыть базу Access


2-1153514115
Батя
2006-07-22 00:35
2006.08.13
Округление числа


2-1153811873
AlexeyT
2006-07-25 11:17
2006.08.13
Как правильно выводить табуляцию?


2-1153654992
learner
2006-07-23 15:43
2006.08.13
Сервер и его зависимости :))





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский