Главная страницаОбратная связьКарта сайта

Закачать файл из Интернета


uses 
  URLMon, ShellApi; 

function DownloadFile(SourceFile, DestFile: string): Boolean; 
begin 
  try 
    Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0; 
  except 
    Result := False; 
  end; 
end; 

procedure TForm1.Button1Click(Sender: TObject); 
const 
  // URL Location 
  SourceFile = "?wurl=www.google.com/intl/de/images/home_title.gif"; 
  // Where to save the file 
  DestFile = "c:\temp\google-image.gif"; 
begin 
  if DownloadFile(SourceFile, DestFile) then 
  begin 
    ShowMessage("Download succesful!"); 
    // Show downloaded image in your browser 
    ShellExecute(Application.Handle, PChar("open"), PChar(DestFile), 
      PChar(""), nil, SW_NORMAL) 
  end 
  else 
    ShowMessage("Error while downloading " + SourceFile) 
end; 

// Minimum availability: Internet Explorer 3.0 
// Minimum operating systems Windows NT 4.0, Windows 95 

{********************************************************} 

{2.} 


uses 
  Wininet; 

function DownloadURL(const aUrl: string): Boolean; 
var 
  hSession: HINTERNET; 
  hService: HINTERNET; 
  lpBuffer: array[0..1024 + 1] of Char; 
  dwBytesRead: DWORD; 
begin 
  Result := False; 
  // hSession := InternetOpen( "MyApp", INTERNET_OPEN_TYPE_DIRECT, nil, nil, 0); 
  hSession := InternetOpen("MyApp", INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0); 
  try 
    if Assigned(hSession) then 
    begin 
      hService := InternetOpenUrl(hSession, PChar(aUrl), nil, 0, 0, 0); 
      if Assigned(hService) then 
        try 
          while True do 
          begin 
            dwBytesRead := 1024; 
            InternetReadFile(hService, @lpBuffer, 1024, dwBytesRead); 
            if dwBytesRead = 0 then break; 
            lpBuffer[dwBytesRead] := #0; 
            Form1.Memo1.Lines.Add(lpBuffer); 
          end; 
          Result := True; 
        finally 
          InternetCloseHandle(hService); 
        end; 
    end; 
  finally 
    InternetCloseHandle(hSession); 
  end; 
end;


Обсудить статью на форуме


Если Вас заинтересовала или понравилась информация по разработке на Delph - "Закачать файл из Интернета", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу:

Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!
   


Copyright © 2008 - 2024 Дискета.info