Программирование
Главная » FAQ » Сеть |
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 ); end end; procedure TForm1.Button1Click(Sender: TObject); var FileOnNet, LocalFileName: string; begin // Полный путь к файлу FileOnNet := 'http://delphihelp.ucoz.ru/load/contacts.zip'; // Имя, под которым файл будет сохранен LocalFileName:='File Downloaded From the Net.zip'; if GetInetFile( FileOnNet, LocalFileName ) then ShowMessage( 'Download successful' ) else ShowMessage( 'Error in file download' ); end; |