Войти

Показать полную графическую версию : [решено] _Crypt_HashFile + прогресс бас


-TRM-
09-04-2014, 15:25
Здравствуйте !
Имеется вырезок кода, с помощью которого проверяются файлы по хеш-суммам :
$MD5 = StringTrimLeft(_Crypt_HashFile($aFiletext[1] & '\' & $aFile[1], $CALG_MD5), 2)
Возможно ли ещё добавить прогресс-бас при проверке текущего файла или это будет большая нагрузка ?

Iska
09-04-2014, 16:31
Можно. Берёте «%ProgramFiles%\AutoIt3\Include\Crypt.au3», делаете с неё копию, ищете в этой копии функцию «_Crypt_HashFile», определяете, что чтение и расчёт в функции идут порциями по половинке мегабайта, и расставляете вызов и обновление прогресс-бара в потребных местах. Нагрузка будет небольшая.

AZJIO
09-04-2014, 17:24
_Crypt_HashData имеет параметр $fFinal, просто с файла считывается очередная порция к примеру 5 Мб в цикле и вызывается функция с $fFinal=False, а когда последний участок файла получен, то вызвать с $fFinal=True
У меня 2 Гб за 100 сек проверил, т.е. 20 Мб в 1 сек. Думаю при такой скорости 5 Мб вполне сойдёт за шаг цикла.

Iska
09-04-2014, 18:24
AZJIO, там («_Crypt_HashFile()») жёстко задан размер:
Do
$bTempData = FileRead($hFile, 512 * 1024)

Until False

Или Вы как раз предлагаете сменить его?

-TRM-
10-04-2014, 14:40
Iska, AZJIO, Спасибо, разобрался.




© OSzone.net 2001-2012