Подписаться на RSS рассылку
Главная » Статьи по Delphi » Интернет и сети » Загрузить файл или страницу из интернета 2

Загрузить файл или страницу из интернета 2

Автор: Nightstar

Tweet

Кроме приведённого примера загрузки с помощью юнита UrlMon, файлы и страницы также можно заружать с помощью TidHTTP. Для этого разместим на форме TIdHTTP, TButton и 2 TEdit (в первый будем вписывать URL, во второй - путь для сохранения на HDD). Пишем обработчик OnClick для кнопки:

procedure TForm1.Button1Click(Sender: TObject); 
var LoadStream: TMemoryStream;
begin
LoadStream := TMemoryStream.Create; // выделение памяти под переменную
idHTTP1.Get(Edit1.Text, LoadStream); // загрузка в поток данных из сети
LoadStream.SaveToFile(Edit2.Text); // сохраняем данные из потока на жестком диске
LoadStream.Free; // освобождаем память
end;

Чтобы не "замерзал" интерфейс программы во время загрузки данных из интернета, добавьте также на форму TIdAntiFreeze, этот компонент располагается на вкладке Indy Misc. Достаточно одного добавления на форму этого компонента, обрабатывать его не нужно.

Просмотров: 12039

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

0   Спам
(24.05.2012)
14. Виталий
Работает и отлично! Автору Спасибо!

0   Спам
(30.01.2012)
13. Мудрый
На вкладке Indy!

0   Спам
(29.01.2011)
12. Роман
А можно как-то процесс загрузки файла визуализировать, скажем, с помощью ProgressBar?

0   Спам
(22.12.2010)
11. kuka
spasibo

0   Спам
(12.11.2010)
10. Евгений
Добрый день!
Подскажите, пожалуйста, если нужно сначала авторизоваться для скачивания файла, что нужно тогда добавить в код программы?
Ответ: Это очень сложный вопрос. Создайте тему на нашем форуме и мы постараемся помочь вам.

0   Спам
(08.11.2010)
9. den gggg (flech)
>>>>>после второго нажатия кнопки выскакивает сообщение "Connection Closed Gracefully" и больше файл не скачиваеться
как с этим бороться?
------------------------------
у компонента IdHTTP1 свойство HandleRedirects поставь в True.... Пробуй

0   Спам
(25.04.2010)
8. Artyom
Позор не знать на какой вкладке TidHTTP!

0   Спам
(20.04.2010)
7. Unnamed
Значит сервак закрывает соединение

0   Спам
(19.04.2010)
6. mmm
после второго нажатия кнопки выскакивает сообщение "Connection Closed Gracefully" и больше файл не скачиваеться
как с этим бороться?

0   Спам
(26.03.2010)
5. Сергей (Xaker)
TMemoryStream это оперативная память, и если файл большого размера то выходит не совсем хорошая ситуация...(программа кушает ну очень много)...как можно сделать по другому чтобы её не нагружать...?
Ответ: TFileStream попробуй. Я с такими проблемами не сталкивался

1 2 »

Имя *:
Email:


Код *:


Самая детальная информация кампобей спайси оранж на нашем сайте.

Copyright © 2008 - 2018 Программирование на Delphi для начинающих и не только.

Полнота авторских прав на все материалы, опубликованные на сервере DelphiDevelop.ru принадлежит их авторам.

Перепечатка материалов разрешается с указанием авторства и гиперссылки на первоисточник информации.