Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] _Crypt_HashFile + прогресс бас (http://forum.oszone.net/showthread.php?t=280600)

-TRM- 09-04-2014 15:25 2335309

_Crypt_HashFile + прогресс бас
 
Здравствуйте !
Имеется вырезок кода, с помощью которого проверяются файлы по хеш-суммам :
Код:

$MD5 = StringTrimLeft(_Crypt_HashFile($aFiletext[1] & '\' & $aFile[1], $CALG_MD5), 2)
Возможно ли ещё добавить прогресс-бас при проверке текущего файла или это будет большая нагрузка ?

Iska 09-04-2014 16:31 2335332

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

AZJIO 09-04-2014 17:24 2335361

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

Iska 09-04-2014 18:24 2335393

AZJIO, там («_Crypt_HashFile()») жёстко задан размер:
Код:

                Do
                        $bTempData = FileRead($hFile, 512 * 1024)
                        …
                Until False

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

-TRM- 10-04-2014 14:40 2335750

Iska, AZJIO, Спасибо, разобрался.


Время: 12:33.

Время: 12:33.
© OSzone.net 2001-