Функция _FTP_ProgressDownload

         Описание функции


_FTP_ProgressDownload

Скачивание файла в двоичном режиме и отображение окна прогресса или вызывая пользовательскую функцию.

#include <FTPEx.au3>
_FTP_ProgressDownload($l_FTPSession, $s_LocalFile, $s_RemoteFile [, $FunctionToCall = ""])

Параметры

$l_FTPSession Указатель возвращённый функцией _FTP_Connect().
$s_LocalFile Путь к локальному создаваемому файлу.
$s_RemoteFile Путь к удалённому исходному файлу.
$FunctionToCall [необязательный] Функция, которая может обновить Progressbar и реагировать на действия пользователя такие как клик на Отмена или Закрыть. (Подробности в конце этого комментария)

Возвращаемое значение

Успех:Возвращает 1
Ошибка:Возвращает 0 и устанавливает @error:
@error:-1 - Невозможно создать локальный файл
-2 - Не удалось получить размер удалённого файла
-3 - Не удалось открыть удалённый файл
-4 - Не удалось чтение удалённого файла
-5 - Не удалось закрыть удалённый файл
-6 - Скачивание отменено PercentageFunc и возвращено вызываемой функцией
-7 - Не удалось записать локальный файл

Примечания

Информация о $FunctionToCall:
Параметр: $Percentage - Процент прогресса
Возвращаемые значения: Продолжить скачивание - 1
            Отмена скачивания - 0 или отрицательное
                Эти возвращаемые значения возвращаются функцией _FTP_ProgressDownload(), тоже,
                так что вы можете реагировать на различные действия, такие как отмена пользователем, закрытие приложения или какой либо TimeOut
Например:
            Func _UpdateProgress($Percentage)
                ProgressSet($percent, $percent &"%")
                If _IsPressed("77") Then Return 0 ; Отмена по F8
                Return 1 ; Продолжить скачивание
            Endfunc

            Func _UpdateProgress($Percentage)
                GUICtrlSetData($ProgressBarCtrl,$percent)
                Switch GUIGetMsg()
                    Case $GUI_EVENT_CLOSE
                        Return -1 ; Отмена _FTP_DownloadProgress со значением -1, таким образом, вы можете выйти в последствии
                    Case $Btn_Cancel
                        Return 0 ; Просто отменить, без специального возвращаемого значения
                EndSwitch
                Return 1 ; Иначе продолжить скачивание
            Endfunc