Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];

Вниз

Как можно скачать файл при помощи IdHTTP ?   Найти похожие ветки 

 
Наташа   (2004-09-29 15:38) [0]

Как можно скачать файл при помощи IdHTTP ?


 
fuzzy ©   (2004-09-29 17:40) [1]

Вообще, можно и без него файлы качать, универсально для D4-D7


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 = "http://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;


 
Наташа   (2004-09-30 17:36) [2]

Благодарю!!!



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.036 c
1-1100693283
Ученик
2004-11-17 15:08
2004.12.05
Преобразование времени


1-1101207665
Руслана
2004-11-23 14:01
2004.12.05
Подскажите как в компоненте TListView проверить состояние


3-1099685707
Елена
2004-11-05 23:15
2004.12.05
загрузка по кусочкам


1-1100968084
lp
2004-11-20 19:28
2004.12.05
Grid


3-1098510260
UVV
2004-10-23 09:44
2004.12.05
Посоветуйте компоненты...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский