ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Возможности библиотеки WininetБиблиотека Wininet содержит следующие функции, которые будут использоваться программой для загрузки файлов из Internet с возможностью последующей дозагрузки: 1 Функция InternetOpen (lpszAgent: PChar; dwAccessType: DWORD; IpszProxyName, IpszProxyBypass: PChar; dwRags: DWORD): HINTERNET. Эта функция открывает интернет-сессию для приложения. Функция имеет следующие аргументы: - lpszAgent – имя программы; - dwAccessType – способ соединения (PRE_CONFIGJNTERNET_ACCESS – как в реестре, INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY – не использовать internet setup file, GATEWAY INTERNET ACCESS – через шлюз, CERN_PROXYJNTERNET_ACCESS – через прокси-сервер); - IpszProxyName – имя прокси-сервера; - pszProxyBypass – ограничения прокси-сервера; - dwRags – режим работы (для простоты использования этот аргумент равен 0). 2 Функция lnternetOpenUrl (hinet: HINTERNET; IpszUrl: PChar; IpszHeaders: PChar; dwHeadersLength: DWORD; dwFlags: DWORD; dwContext: DWORD): HINTERNET. Эта функция открывает заданный URL. Функция имеет следующие аргументы: - hinet – переменная типа HINTERNET, ее значение возвращает функция InternetOpen; - IpszUrl – URL; - IpszHeaders – дополнительные строки в HTTP запросе; - dwHeadersLength – длина дополнительных строк. 3 Функция lnternetReadFile (hFile: HINTERNET; IpBuffer: Pointer; dwNumberOfBytesToRead: DWORD; var IpdwNumberOfBytesRead: DWORD): BOOL. Эта функция читает удаленный файл. Функция имеет следующие аргументы: - hFile – значение предыдущей функции; - IpBuffer – буфер, через который будет читаться файл, т.к. буфер это массив, то файл читается кусками, равными размеру этого массива объемом 1024 байта, т.е. один килобайт; - dwNumberOfBytesToRead – какое количество байт необходимо прочесть, он должен быть равен размеру массива, т.е. 1024; - IpdwNumberOfBytesRead – сколько действительно байт прочитано. 4 Функция InternetSetFilePointer (hFile: HINTERNET; IDistanceToMove: Longint; pReserved: Pointer; dwMoveMethod, dwContext: DWORD): DWORD; stdcall. Эта функция сдвигает позицию чтения файла на заданное число байт. Другими словами, если надо прочитать файл не с начала, а с отметки 1000 байт, то надо пользоваться InternetSetFilePointer. Функция имеет следующие аргументы: - hFile – значение предыдущей функции. - IDistanceToMove – на какое количество байт смещать указатель; - pReserved – резерв, а само значение должно быть равно нулю; - dwMoveMethod – способ смещения (FILE_BEGIN – с начала; FILE_END – с конца; FILECURRENT – с текущей позиции). - dwContext – значение этого параметра должно быть равно 0. Указанная функция и будет обеспечить «докачку» файлов из сети. Если команда прервется, например, на отметке 1,2 Мб, то программа позволит вернуться на нужную позицию и продолжить скачивание с момента прерывания связи с сетью. 5 Функция InternetQueryDataAvailable (hFile: IpdwNumberOfBytesAvailable: DWORD; dwFlags, dwContext: DWORD): BOOL; stdcall; HINTERNET. Эта функция выясняет объем доступных данных, т. е. размер запрашиваемого файла. Функция имеет следующие аргументы: - hFile – рассматривалась выше; - IpdwNumberOfBytesAvailable – указывает доступные байты. 6 Функция InternetCloseHandle (hInet: HINTERNET): BOOL; stdcall. Эта функция закрывает интернет-сессию. Задание на работу Необходимо разработать программу, обеспечивающую загрузку файлов из сети Internet по указанному URL адресу с последующей дозагрузкой. Не нашли, что искали? Воспользуйтесь поиском:
|