Показать полную графическую версию : [решено] _Crypt_HashFile + прогресс бас
Здравствуйте !
Имеется вырезок кода, с помощью которого проверяются файлы по хеш-суммам :
$MD5 = StringTrimLeft(_Crypt_HashFile($aFiletext[1] & '\' & $aFile[1], $CALG_MD5), 2)
Возможно ли ещё добавить прогресс-бас при проверке текущего файла или это будет большая нагрузка ?
Можно. Берёте «%ProgramFiles%\AutoIt3\Include\Crypt.au3», делаете с неё копию, ищете в этой копии функцию «_Crypt_HashFile», определяете, что чтение и расчёт в функции идут порциями по половинке мегабайта, и расставляете вызов и обновление прогресс-бара в потребных местах. Нагрузка будет небольшая.
_Crypt_HashData имеет параметр $fFinal, просто с файла считывается очередная порция к примеру 5 Мб в цикле и вызывается функция с $fFinal=False, а когда последний участок файла получен, то вызвать с $fFinal=True
У меня 2 Гб за 100 сек проверил, т.е. 20 Мб в 1 сек. Думаю при такой скорости 5 Мб вполне сойдёт за шаг цикла.
AZJIO, там («_Crypt_HashFile()») жёстко задан размер:
Do
$bTempData = FileRead($hFile, 512 * 1024)
…
Until False
Или Вы как раз предлагаете сменить его?
Iska, AZJIO, Спасибо, разобрался.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.