Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.08.2011, 18:43   #1
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию Вычислением MD5 с прогрессбаром

доброго времени суток!

Собственно сабж. Как вычислять md5 с прогрессбаром?
Как например это сделано в hashtab?
Человек_Борща вне форума Ответить с цитированием
Старый 23.08.2011, 19:07   #2
notHaker
Форумчанин
 
Аватар для notHaker
 
Регистрация: 01.12.2009
Сообщений: 569
По умолчанию

Не понел. С отображением прогресса?
Если так, то вот код. Только в функцию MD5Update и в нужное место поставить обновление прогрессбара. Вот и все дела.
Код - это работа, а работа стоит денег.

pz-game.ru. 2d зомби-сурвивал для олдфагов.

Последний раз редактировалось notHaker; 23.08.2011 в 19:10.
notHaker вне форума Ответить с цитированием
Старый 23.08.2011, 19:35   #3
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Ну у меня есть этот модуль. А как определить максимум для прогрессбара?

Ну вообще подобный модуль я видел CnMD5.pas из CnVCL(Прилепил).

Там есть функция:
Код:
function MD5File(const FileName: string;
  CallBack: TMD5CalcProgressFunc = nil): TMD5Digest;
и есть это:
Код:
  TMD5CalcProgressFunc = procedure (ATotal, AProgress: Int64;
    var Cancel: Boolean) of object;
Но сабж так и не заработал.
Вложения
Тип файла: zip cnvcl.zip (3.59 Мб, 8 просмотров)

Последний раз редактировалось Человек_Борща; 23.08.2011 в 19:38.
Человек_Борща вне форума Ответить с цитированием
Старый 23.08.2011, 19:50   #4
notHaker
Форумчанин
 
Аватар для notHaker
 
Регистрация: 01.12.2009
Сообщений: 569
По умолчанию

Подправь код руками. В функции MD5Update (эта функция ключевая для модуля) есть цикл

Код:
while i + 63 < inputLen do
    begin
      MD5Transform(@Context.state, PArray64Byte(@Input[i]));
      Inc(i, 64);
    end;
На входе функции есть параметр InputLen. Делишь его на 64 (там длинна блока такая) и округляешь в большую сторону. Вот тебе и количество проходов (максимум для прогрессбара). И в этом цикле, хочешь вызывать кэлбэк - вызывай, хочешь - напрямую инкрементируй прогрессбар. Без разницы.
Код - это работа, а работа стоит денег.

pz-game.ru. 2d зомби-сурвивал для олдфагов.

Последний раз редактировалось notHaker; 23.08.2011 в 19:55.
notHaker вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Различие MD5 Delphi и MD5 PHP Viteef Общие вопросы Delphi 14 09.02.2011 11:53
Проблема с вычислением oban11 Помощь студентам 1 13.11.2010 13:14
Загрузка файла с прогрессбаром prizrak1390 PHP 7 29.08.2010 19:51
Строку в MD5-hash если Строка является MD5-хешем... Человек_Борща Общие вопросы Delphi 0 13.04.2010 15:27
PHP MD5 и Delphi/C/C++ MD5 в чем отличие? Человек_Борща Общие вопросы Delphi 1 05.04.2010 20:18