![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| vood |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 271 Регистрация: 23.2.2006 Где: Санкт-Петербург Репутация: нет Всего: 1 |
КАК узнать обьем папки?
-------------------- Вы все еще курите ? Тогда мы идем к вам |
|||
|
||||
| remax |
|
|||
|
Доцент ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 686 Регистрация: 7.4.2002 Где: Украина, Харьков Репутация: 1 Всего: 5 |
Если подразумевается суммарный объем файлов, то соответственно придется перебирать файлы, входящие в эту папку с учетом вложенных папок.
-------------------- Как бы ты не старался быть хорошим и правильным человеком с принципами и уважительным отношением к другим, всегда найдется кто-то, кто бросит в тебя какашку |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Рекурсией. Темы обхода директорий не раз были на форуме. Поищите их и на этой основе легко будет посчитать общий размер.
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| Guedda |
|
||||
![]() Подрывник ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: 14 Всего: 78 |
Пример использования:
-------------------- Ll 2 |
||||
|
|||||
| vood |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 271 Регистрация: 23.2.2006 Где: Санкт-Петербург Репутация: нет Всего: 1 |
Пасибо? Vinyl Man
Добавлено @ 07:27 Пасибо, Vinyl man -------------------- Вы все еще курите ? Тогда мы идем к вам |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
Guedda, всем хорош код, но может криво считаться размер при использовании сокращенной GetDirSize.
а все потому, что Result не инициализирован нулем. 10 минут голову ломал, что за нафиг Добавлено @ 12:14 + еще не уверен, что корректно будет работать колбэк в примере... Это сообщение отредактировал(а) Rrader - 20.7.2009, 15:00 -------------------- There are always someone smarter than you... |
|||
|
||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Размер папки можно узнать через Microsoft Windows Script (через объект FSO):
Надеюсь пояснять не требуется. Экзампл всё сам за себя говорит. Это сообщение отредактировал(а) Yanis - 20.7.2009, 13:56 |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
Yanis, супер) а может такое быть, что Microsoft Windows Script не устанволен на клиентской машине?
-------------------- There are always someone smarter than you... |
|||
|
||||
| CodeMonkey |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 38 Всего: 89 |
Интересно, как последний вариант решает эти вопросы.
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
| Yanis |
|
||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
*Задумался* Знаешь, мне кажется нет ничего такого, что не могло бы случиться с пользовательской машиной. Наверняка найдутся такие индивиды, которые в ходе экспериментов с системой каким-то образом удалили какую-то часть WS. Реестр, знатно, можно по всякому изуродовать. Но, на девственной винде XP пример должен работать без докручивания. Сам объект FSO хранится в так называемой Scripting Type Library (C:\WINDOWS\system32\scrrun.dll). Т.е. эта либа должна быть зарегена в системе, чтобы мы могли получить доступ к FSO. Если сделать:
то будет ошибка при попытке создать класс FSO:
Если есть опасения, что либа может не присутствовать, то можно тоскать с собой длл-у и делать ей «regsvr32 scrrun.dll». Добавлено через 3 минуты и 34 секунды
Но это, конечно, изврат. Проще самому по папке пробежать и посчитать. |
||||||||
|
|||||||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Полагаю, что узнать это можно только лишь экспериментальным путём. Это сообщение отредактировал(а) Yanis - 20.7.2009, 15:38 |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
CodeMonkey, ну вопросы я бы сказал там специФИЧЕские) в большинстве случаев можно о них не беспокоиться имхо.
-------------------- There are always someone smarter than you... |
|||
|
||||
| CodeMonkey |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 38 Всего: 89 |
Почему-же? К примеру, наличие hard-link - не такая уж редкая ситуация. И чем дальше - тем чаще такое будет встречаться.
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
| Riply |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Комодератор Сообщений: 572 Регистрация: 27.3.2007 Где: St. Petersburg Репутация: 3 Всего: 32 |
Угу. Поставила тут Win 7 посмотреть с чем едят сие чудо. Так там и плюнуть на системном диске некуда - обязательно на какой-нибудь редирект попадешь Sorry за оффтоп.
Ну почему же ? Говорят, что KV плодит файловые потоки без всякого зазрения совести и в огромных количествах Это сообщение отредактировал(а) Riply - 21.7.2009, 03:31 |
||||
|
|||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
Riply, кто такой KV? )
-------------------- There are always someone smarter than you... |
|||
|
||||
| Riply |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Комодератор Сообщений: 572 Регистрация: 27.3.2007 Где: St. Petersburg Репутация: 3 Всего: 32 |
Sorry, если не так его обозвала. Имелся ввиду антивирус Касперского или Кашперовского. Черт ! Все время их путаю, уж очень похожи |
|||
|
||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
То есть, есть Антивирус Касперского и Кашперовского? |
|||
|
||||
| Riply |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Комодератор Сообщений: 572 Регистрация: 27.3.2007 Где: St. Petersburg Репутация: 3 Всего: 32 |
Yanis, неа. Антивирус, вроде один.
А вот кто его автор, все время путаю P.S. Ой, чуствую забанят меня за флуд злостный |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
Riply, тебя забанят? не смеши)
да, антивирус касперского - жесть. Но опять же повторюсь, для общего случая достаточно посчитать просто объем всех файлов рекурсивно -------------------- There are always someone smarter than you... |
|||
|
||||
| Riply |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Комодератор Сообщений: 572 Регистрация: 27.3.2007 Где: St. Petersburg Репутация: 3 Всего: 32 |
Ну для чего нам это может понадобиться ? Самые жизненные варианты типа: выяснить хватит ли нам места для копирования на флешку или еще куда. И, как раз здесь, мы и можем попасть в засаду из-за потоков или редиректов... Разумеется, если мы только хотим вывести куда-то информацию, то пойдет... для красоты ибо другой практической ценности у нее не будет, т.к. она может не соответствовать действительности. |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
ключевое слово тут - может, а может и соответствовать) а какая практическая ценность у размера с учетом потоков, кластеров и пр.? при копировании, например, какую пользу она может принести? разве скрытые потоки копируются(простите за неосведомленность)? Это сообщение отредактировал(а) MetalFan - 21.7.2009, 19:48 -------------------- There are always someone smarter than you... |
|||
|
||||
| AntonN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 8.8.2006 Репутация: 3 Всего: 18 |
при копировании, проверенного касперским, файла на флешку с fat32 система честно предупреждает, что будут утеряны некоторые в файловых потоках прикрепленные к этому файлу. Соответственно - копируются |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
хм, как-то нелогично выходит) если с нтфс на фат копировать, то выходит, что не копируются... -------------------- There are always someone smarter than you... |
|||
|
||||
| AntonN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 8.8.2006 Репутация: 3 Всего: 18 |
с нтфс на фат - нет, а с нтфс на нтфс - да
|
|||
|
||||
| Riply |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Комодератор Сообщений: 572 Регистрация: 27.3.2007 Где: St. Petersburg Репутация: 3 Всего: 32 |
А я и не говорила что она есть В этом вопросе, я полностью солидарна с CodeMonkey в плане того, что в общем случае задача решения не имеет. Топиковый вопрос приобретает смысл, только с детальными пояснениями для чего вся эта каша нам понадобилась и что мы хотим получить в конце. Под детальными пояснениями я понимаю ответы почти на все вопросы, перечисленные CodeMonkey. Могут копироваться, а могут и нет. Завсит от FS и от способа копирования. Это сообщение отредактировал(а) Riply - 22.7.2009, 05:09 |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
Усе понятно)
Но я то хотел обратить внимание копипастеров приведенного ранее куска кода для подсчета размера файлов в папках, что он содержит недочет... вот) -------------------- There are always someone smarter than you... |
|||
|
||||
| Riply |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Комодератор Сообщений: 572 Регистрация: 27.3.2007 Где: St. Petersburg Репутация: 3 Всего: 32 |
||||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |