File.GetCRC
Описание
Возвращает значение CRC для указанного файла.
ПараметрыВозвратResultVariable
(число) Числовое значение CRC для данного файла. Если это действие проходит неудачно, возвращается -1. Можно использовать Application.GetLastError для определения случился ли отказ в работе этого действия и почему.
При добавлении действия из редактора скрипта, можно использовать это поле для определения переменной, которая возвращает значение, сохраняющееся в ней.
Смотрите также: Связанные действия
ПримерыПример 1CRC_check = File.GetCRC(_TempFolder .. "\\setup.exe");Получаем CRC значение файла "setup.exe", размещенного в папке пользователя Temp, и сохраняем его в переменной по имени "CRC_check". Примечание: _TempFolder это встроенная переменная, которая содержит путь к папке "Temp" в системе пользователя. Пример 2-- Check to see if the user is connected to the internet -- Проверяем, есть ли у пользователя соединение с Интернетом connected = HTTP.TestConnection("http://www.indigorose.com", 20, 80, nil, nil); -- If they are connected. -- Если соединение есть. if connected then -- Download a file to their temporary directory. -- Загружаем файл во временную папку пользователя. StatusDlg.Show(MB_ICONNONE, false); HTTP.Download("http://www.indigorose.com/setup.exe", _TempFolder .. "\\setup.exe", MODE_BINARY, 20, 80, nil, nil, nil); -- Get any error codes that may have been returned by the download action. -- Получаем какие-либо коды ошибки, что могут быть возвращены действием загрузки. error = Application.GetLastError(); StatusDlg.Hide(); -- If there was an error during the download, display the error message. -- Если во время загрузки была ошибка, показываем сообщение об ошибке. if error ~= 0 then result = Dialog.Message("Error", _tblErrorMessages[error], MB_OK, MB_ICONEXCLAMATION, MB_DEFBUTTON1); -- If there was no error during the download. -- Если во время загрузки ошибки не было. else -- Get the CRC value of the downloaded file. -- Получаем значение CRC загруженного файла. crc_value = File.GetCRC(_TempFolder .. "\\setup.exe"); -- Check to see if the CRC value matches it's expected value. -- Проверяем совпадает ли значение CRC с его предполагаемым значением. if crc_value == 824907888 then -- Run the executable that was downloaded. -- Запускаем исполняемый файл, что был загружен. File.Run(_TempFolder .. "\\setup.exe", "", "", SW_SHOWNORMAL, true); -- The CRC value does not match. Display an error message to the user. -- Значение CRC не совпадает. Показываем пользователю сообщение об ошибке. else result = Dialog.Message("Error", "The downloaded file is incomplete. Please try downloading again.", MB_OK, MB_ICONSTOP, MB_DEFBUTTON1); end end -- Display a notice informing them that they are not connected. -- Показываем уведомление, информирующее о том, что соединения нет. else Dialog.Message("Internet Error", "You are not connected to the internet. Please connect to download."); endВ этом примере сначала проверяется есть ли у пользователя соединение с Интернетом. Если оно имеется, загружаем файл во временную директорию пользователя. Затем этот файл проверяется, что он цел и не поврежден перед его запуском. Эта проверка файла осуществляется с помощью действия File.GetCRC. Последовательность проверок, выполняемая в этом скрипте, для обработки любых возникающих ошибок и если любое из действий оканчивается неудачей, пользователю показываются уведомительные сообщения. Примечание: _TempFolder это встроенная переменная, которая содержит путь к папке "Temp" в системе пользователя.
Смотрите также: Связанные действия
|