Пятница, 29.03.2024, 19:02
Приветствую Вас Гость
Меню сайта


Копилка для дальнейшего развития ресурса.
 
Форма входа
Интересное
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Программирование на Delphi.

Программирование

Главная » 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;