Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> неполучается скачать файл!!! 
V
    Опции темы
ne0n
Дата 16.3.2007, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 5.8.2005
Где: Н.Новгород

Репутация: нет
Всего: 11



Взял пример из FAQ:
Код

function DownloadFile(const Url: string): string; 
var 
  NetHandle: HINTERNET; 
  UrlHandle: HINTERNET; 
  Buffer: array[0..1024] of char; 
  BytesRead: cardinal; 
begin 
  Result := ''; 
  NetHandle := InternetOpen('Delphi 5.x', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0); 

  if Assigned(NetHandle) then 
    begin 

      UrlHandle := InternetOpenUrl(NetHandle, PChar(Url), nil, 0, INTERNET_FLAG_RELOAD, 0); 

      if Assigned(UrlHandle) then 
{ UrlHandle правильный? Начинаем загрузку } 
        begin 
          FillChar(Buffer, SizeOf(Buffer), 0); 
          repeat 
            Result := Result + Buffer; 
            FillChar(Buffer, SizeOf(Buffer), 0); 
            InternetReadFile(UrlHandle, @Buffer, SizeOf(Buffer), BytesRead); 
          until BytesRead = 0; 
          InternetCloseHandle(UrlHandle); 
        end 
      else 
        begin 
{ UrlHandle неправильный. Генерируем исключительную ситуацию. } 
          raise Exception.CreateFmt('Cannot open URL %s', [Url]); 
        end; 

      InternetCloseHandle(NetHandle); 
    end 
  else 
{ NetHandle недопустимый. Генерируем исключительную ситуацию } 
    raise Exception.Create('Unable to initialize Wininet'); 
end;


Результат работы функции возращает строковое значени, чето я не пойму, а что мне делать если надо скачать там exe или rar


Это сообщение отредактировал(а) ne0n - 16.3.2007, 16:55
PM MAIL ICQ   Вверх
Snowy
Дата 16.3.2007, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Если там exe, то у тебя в строке будет exe.
В чём проблема? Сохранить это в файл?
Код

var
  fs: TFileStream;
  s:  string;
begin
  s := получаем результат функции;
  fs := TFileStream.Create('C:\1.exe', fmCreate);
  fs.Write(s[1], Length(s));
  fs.Free;
end;

PM MAIL   Вверх
ne0n
Дата 16.3.2007, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 5.8.2005
Где: Н.Новгород

Репутация: нет
Всего: 11



Ну я так и думал, только мне нельзя использовать TFileStream! Можно обойтись через WinApi?
Пробовал вот так, тока  не работает:
Код



S:=DownloadFile('http://someurl/arc.rar');
 AssignFile(FileToSave,'C:\1.rar');
 Rewrite(fileToSave);
 Writeln(filetosave,s);
 CloseFile(FileToSAve);



Работал как с TextFile


Это сообщение отредактировал(а) ne0n - 16.3.2007, 17:30
PM MAIL ICQ   Вверх
Snowy
Дата 16.3.2007, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



http://forum.vingrad.ru/index.php?showtopi...st&p=702016

Добавлено @ 17:34 
Процедура принимает URL и имя файла, куда сохранить.
PM MAIL   Вверх
ne0n
Дата 16.3.2007, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 5.8.2005
Где: Н.Новгород

Репутация: нет
Всего: 11



 smile  smile  smile Спасиба, как раз точто нужно!!!! smile  Очень благодарен!!!!!!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0687 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.