Качаем файл из Internet

Статьи » Интернет » Качаем файл из Internet

Если ваша программа содержит подключаемые модули (BPL или DLL) или есть необходимость обновлять саму программу, то наверняка стояла проблема обновления копий программы. С развитием Internet появилась прекрасная возможность сделать это быстро и красиво. В данной статье мы расскажем, как добавить опцию автообновления программ из Internet.

   Delphi дает нам полный доступ к API WinInet (wininet.pas), что позволяет подключиться и скачать любой файл с указанного вебсайта, используя протоколы FTP или HTTP. Например, мы можем использовать функции API WinInet для создания FTP-браузера или программы для поиска на публичных FTP-серверах заданных файлов.

   Основная функция нашей программы - GetInetFile:

uses Wininet; function GetInetFile(const fileURL, FileName: String): boolean;const BufferSize = 1024;var hSession, hURL: HInternet;Buffer: array[1..BufferSize] of Byte;BufferLen: DWORD;f: File;sAppName: string;begin   Result:=False;   sAppName := ExtractFileName(Application.ExeName);   hSession := InternetOpen(PChar(sAppName), INTERNET_OPEN_TYPE_PRECONFIG,         nil, nil, 0);   try      hURL := InternetOpenURL(hSession,      PChar(fileURL),nil,0,0,0);      try         AssignFile(f, FileName);         Rewrite(f,1);         repeat            InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);            BlockWrite(f, Buffer, BufferLen)         until BufferLen = 0;         CloseFile(f);         Result:=True;      finally      InternetCloseHandle(hURL)      end   finally   InternetCloseHandle(hSession)   endend;

   Замечание: конечно, этот пример нужно расширить, вставив, например, код для отображения прогресса скачивания в цикл.    Использовать функцию GetInetFile очень просто:

var FileOnNet, LocalFileName: stringbegin   FileOnNet:='http://src.fitkursk.ru/articles/mp3player.zip';   LocalFileName:='MyFile.zip';    if GetInetFile(FileOnNet,LocalFileName)=True then      ShowMessage('Download successful')   else      ShowMessage('Error in file download') end;

   Этот кусок кода скачивает файл с именем mp3player.zip, находящийся по адресу 'http://src.fitkursk.ru/articles/' и записывает его в текущий каталог под именем 'MyFile.zip'. Все очень просто.

Источник www.proglib.ru

Другое по теме:

Категории

Статьи

Советы

Copyright © 2022 - All Rights Reserved - www.delphirus.com