Скачиваем файл из интернета

Думаете это прям до невозможности сложно? Ничего подобного :)
Это очень просто. Достаточно 4 строчки кода, и файл из интернета уже на нашем компьютере, без открытия браузера.

Для осуществления скачивания мы будем выделять память для переменной.

Подготовка
Итак, создадим новый проект, кинем на форму Edit1, Button1 с вкладки Standart, IdHTTP1 с вкладки Indy Client, IdAntiFreeze с вкладки Indy Misc.

Естественно стираем свойство Text у Edit1, изменяем свойство Caption у Button1 на «Скачать«, ставим значение true у свойства HandleRedirects компонента IdHTTP1.


Написание кода
Кликаем два раза на кнопку и объявляем переменную load типа TMemoryStream:
var
load: TMemoryStream;

Дальше пишем:
load := TMemoryStream.Create;
IdHTTP1.Get(Edit1.Text, load);
load.SaveToFile(‘путь’);
load.Free;

Опишу каждую строчку:
load := TMemoryStream.Create — выделение памяти под переменную load
IdHTTP1.Get(Edit1.Text, load) — скачивание файла, ссылка которого указана в Edit1
load.SaveToFile(‘путь’) — после скачивания, сохраняем файл по заданному пути
load.Free — освобождаем нашу память
Вот и все. Смело проверяйте свою программу. Ну а чтобы было более удобнее, мы с помощью компонента ProgressBar будем видеть прогресс загрузки файла.

Кинем на готовую форму компонент ProgressBar с вкладки Win32.

Кликаем на компонент IdHTTP1, переходим в Object Inspector, переходим во вкладку Events и кликаем по событию OnWork и пишем:
ProgressBar1.Position := AWorkCount;

Далее кликаем по событию OnWorkBegin и пишем:
ProgressBar1.Position := 0;
ProgressBar1.Max := AWorkcountMax;
Добавлено: 05 Сентября 2013 01:33:41 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...