Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> прифигачить Прогресс бар, как? 
:(
    Опции темы
ne0n
Дата 26.1.2006, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 5.8.2005
Где: Н.Новгород

Репутация: 1
Всего: 11



Вобщем нужно для красоты в программу присобачить прогресс бар,
не знаю как!
Сама программа сканирует весь винч на файлы определенного формата.
если знаете как то подскажите!!!
заранее благодарю
PM MAIL ICQ   Вверх
allx
Дата 26.1.2006, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 1.9.2005

Репутация: нет
Всего: нет



ne0n
Прогрессбар - никак, разве что если сначала посчитать кол-во файлов на винте.
Зато есть хороший и потенциально красивый контрол JVWaitingBar или около того ))
http://jvcl.sourceforge.net

PM MAIL   Вверх
ne0n
Дата 26.1.2006, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 5.8.2005
Где: Н.Новгород

Репутация: 1
Всего: 11



Цитата(allx @ 26.1.2006, 19:39 Найти цитируемый пост)

Прогрессбар - никак, разве что если сначала посчитать кол-во файлов на винте.
Зато есть хороший и потенциально красивый контрол JVWaitingBar или около того ))

Ну да, как-же, а как тогда тот же самый антивирь Каспера работает?
Врят ли он сначала подсчитывает кол-во файлов на диске!

Цитата(allx @ 26.1.2006, 19:39 Найти цитируемый пост)

http://jvcl.sourceforge.net


Есть он у меня-не подходит.


PM MAIL ICQ   Вверх
SoWa
Дата 26.1.2006, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 2
Всего: 74



Каспера похоже после первой проверки хранит кол-во файлов, а потом предположительно по нему прогрессбар.
Поэтому надо однажды посчитать файлы, а потом делать ПрогрессБар с некоторой погрешностью.


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
MAXakaWIZARD
Дата 26.1.2006, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi wizard



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 5.1.2006
Где: Украина, г. Херсо н

Репутация: нет
Всего: нет



А прога просто производит поиск файлов или еще и какие-то действия над найденными файлами? Если можно, то поконкретнее... smile
PM MAIL ICQ   Вверх
allx
Дата 26.1.2006, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 1.9.2005

Репутация: нет
Всего: нет



Цитата(ne0n @ 26.1.2006, 20:36 Найти цитируемый пост)

Ну да, как-же, а как тогда тот же самый антивирь Каспера работает?
Врят ли он сначала подсчитывает кол-во файлов на диске!

Ну как вариант взять за 100% занятое место на диске и cуммировать кол-во проверенных байт по мере перебора фалов используя getfilesize.
PM MAIL   Вверх
ne0n
Дата 26.1.2006, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 5.8.2005
Где: Н.Новгород

Репутация: 1
Всего: 11



Цитата(MAXakaWIZARD @ 26.1.2006, 20:45 Найти цитируемый пост)

А прога просто производит поиск файлов или еще и какие-то действия над найденными файлами? Если можно, то поконкретнее... 

Впринципе ни чего особого, считае crc сравнивает с базой, короче простинький антивирус!
Цитата(SoWa @ 26.1.2006, 20:42 Найти цитируемый пост)

Каспера похоже после первой проверки хранит кол-во файлов, а потом предположительно по нему прогрессбар.
Поэтому надо однажды посчитать файлы, а потом делать ПрогрессБар с некоторой погрешностью.

Похоже на правду.....
Цитата(allx @ 26.1.2006, 20:47 Найти цитируемый пост)

Ну как вариант взять за 100% занятое место на диске и cуммировать кол-во проверенных байт по мере перебора фалов используя getfilesize.

Думаю долго работать будет, 120 гигов таким образом проверить, накладно получится!

PM MAIL ICQ   Вверх
MAXakaWIZARD
Дата 26.1.2006, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi wizard



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 5.1.2006
Где: Украина, г. Херсо н

Репутация: нет
Всего: нет



Также Каспер при последующей проверке проверяет только те файлы, которые были изменены.
Добавлено @ 21:11
Предлагаю сначала просканить область проверки, подсчитать количество файлов (это будет сравнительно быстро), при необходимости их размер. А потом уже начать конкретно проверку, подсчет CRC и так далее. По-моему приемлемый вариант. И я думаю, что довольно быстрый.
Добавлено @ 21:20
При этом предлагаю использовать алгоритм рекурсивной проверки каталогов.
PM MAIL ICQ   Вверх
ne0n
Дата 26.1.2006, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 5.8.2005
Где: Н.Новгород

Репутация: 1
Всего: 11



Цитата(MAXakaWIZARD @ 26.1.2006, 21:08 Найти цитируемый пост)

При этом предлагаю использовать алгоритм рекурсивной проверки каталогов.

По подробней.

PM MAIL ICQ   Вверх
allx
Дата 26.1.2006, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 1.9.2005

Репутация: нет
Всего: нет



ne0n
А почему собсно так будет долго?
сделать цикл.
на каждом файле прибавлять его размер к переменной
на каждом сотом проверенном файле делать вычисление для прогрессбара: кол-во занятого места / переменная * 100
вот и все...

ЗЫ. а рекурсивную проверку каталогов тебе всеравно придется реализовать - иначе все файлы не переберешь
PM MAIL   Вверх
MAXakaWIZARD
Дата 26.1.2006, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi wizard



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 5.1.2006
Где: Украина, г. Херсо н

Репутация: нет
Всего: нет



Блин, я сейчас не дома (у меня дома пока инета нет), поэтому сорцов тебе дать не могу. Разве что через пару дней. Я один вирусняк писал, который удаляет все файлы на винте вместе с каталогами...
Значит так.
Я для поиска использовал TSearchRec.
Будет процедура, с именем каталога в качестве параметра.
Берешь первый попавшийся каталог. Вызываешь эту же процедуру с именем первого подкаталога в этом каталоге. И так для всех.
А процедура просто ищет все файлы в каталоге, а если находит каталог, то вызывает сама себя для поиска в этом каталоге. Главное чтобы стек не переполнился, если будет уж ОЧЕНЬ много вложенных подкаталогов (хотя вряд ли такое возможно). Вот так-то. smile
Если хош, то через пару дней вышлю тебе на мыло.
PM MAIL ICQ   Вверх
ne0n
Дата 26.1.2006, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 5.8.2005
Где: Н.Новгород

Репутация: 1
Всего: 11



Да в принцип не надо, думаю с кодингом у меня проблем не будет, мне нужен был алгоритм!
Всем спасибо!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0560 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.