Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Delphi .NET
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.08.2008, 21:30
Merch7 Merch7 вне форума
Прохожий
 
Регистрация: 25.12.2007
Сообщения: 24
Репутация: 5
По умолчанию Скачать файл по URL в среде .NET

Нужна помощь!
Перечитал все компоненты VCL, но они не работают к сожалению в Framework, поэтому задам основу вопроса: как, с помощью каких компонентов, пример исходного кода, закачать файл в fs: FileStream c URL "http:\\server.net\1.png"?
Ответить с цитированием
  #2  
Старый 20.08.2008, 17:04
Merch7 Merch7 вне форума
Прохожий
 
Регистрация: 25.12.2007
Сообщения: 24
Репутация: 5
По умолчанию

Код:
uses WinInet;

function TWinForm2.GetInetFile (const fileURL, FileName: String): boolean;
const BufferSize = 1024;
var
  hSession, hURL: HInternet;
  Buffer: array[1..BufferSize] of Byte;
  BufferLen: Cardinal;
  f: FileStream;
  sAppName: String;
begin
  Result:=False;
  sAppName := ExtractFileName(Application.ExecutablePath);
  hSession:=InternetOpen(sAppName, INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
  try
    hURL := InternetOpenURL(hSession, fileURL, nil, 0, 0, 0);
    try
      f:=FileStream.Create(t2.Text,FileMode.CreateNew,FileAccess.Write);
      repeat
        InternetReadFile(hURL, Buffer, SizeOf(Buffer), BufferLen);
        f.Write(Buffer,0,BufferLen);
      until BufferLen = 0;
      MessageBox.Show(f.Length.ToString+' байтов');
      f.Close;
      Result:=True;
    finally
      InternetCloseHandle(hURL)
    end
  finally
    InternetCloseHandle(hSession)
  end
end;
Admin: Учимся правильно оформлять код.

Последний раз редактировалось Admin, 20.08.2008 в 18:17.
Ответить с цитированием
  #3  
Старый 04.09.2008, 14:15
Merch7 Merch7 вне форума
Прохожий
 
Регистрация: 25.12.2007
Сообщения: 24
Репутация: 5
По умолчанию

Фрагмент из моей проги
Код:
uses WinInet, ...

    var fileURL: string; FileName: String;
    const BufferSize = 1024;
    var
      hSession, hURL,db: HInternet;
      Buffer: array[1..BufferSize] of Byte;
      BufferLen: Cardinal;
      fs: FileStream;
      sAppName: String;


function DownLoad.DownloadNow (const fileURL, FileName: String): boolean;
var l: int64;
    head:String;
    FileSize: string;
    dwBufferLen, dwIndex: Cardinal;
    i: integer;
begin
  Result:=False;
  hSession:=InternetOpen(sAppName, INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
  try
    hURL := InternetOpenURL(hSession, fileURL, nil, 0, 0, 0);
    try
      fs:=FileStream.Create(FileName,FileMode.CreateNew,FileAccess.Write);
      repeat
        InternetReadFile(hURL, Buffer, SizeOf(Buffer), BufferLen);
          end;  
        fs.Write(Buffer,0,BufferLen);
      until BufferLen = 0;
      fs.Close;
      Result:=True;
    finally
      InternetCloseHandle(hURL)
    end
  finally
    InternetCloseHandle(hSession)
  end;
end;

Последний раз редактировалось Admin, 10.09.2008 в 20:57.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:54.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter