Автор: Nightstar
Кроме приведённого примера загрузки с помощью юнита 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
12. Роман
А можно как-то процесс загрузки файла визуализировать, скажем, с помощью ProgressBar?
|
10. Евгений
Добрый день!
Подскажите, пожалуйста, если нужно сначала авторизоваться для скачивания файла, что нужно тогда добавить в код программы? Ответ: Это очень сложный вопрос. Создайте тему на нашем форуме и мы постараемся помочь вам.
|
6. mmm
после второго нажатия кнопки выскакивает сообщение "Connection Closed Gracefully" и больше файл не скачиваеться
как с этим бороться? |
5. Сергей
(Xaker)
TMemoryStream это оперативная память, и если файл большого размера то выходит не совсем хорошая ситуация...(программа кушает ну очень много)...как можно сделать по другому чтобы её не нагружать...?
Ответ: TFileStream попробуй. Я с такими проблемами не сталкивался
|
Copyright © 2008 - 2018 Программирование на Delphi для начинающих и не только.
Полнота авторских прав на все материалы, опубликованные на сервере DelphiDevelop.ru принадлежит их авторам.
Перепечатка материалов разрешается с указанием авторства и гиперссылки на первоисточник информации.