Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как скачать файл из интернета без зависания?


SSSS ©   (2007-08-04 13:14:00) 

Добрый день! подскажите пожалуйста...Как можно закачать файл из интернета без зависания...
function DownloadFile(SourceFile, DestFile: string): Boolean;
begin
 try
     Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0;
 except
   Result := False;
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
const
 SourceFile = ' http://delphimaster.ru/55.wmv';
  DestFile = 'C:\55.wmv';
begin
 if DownloadFile(SourceFile, DestFile) then
 begin
   Label1.Caption:='1';
    end
 else
   ShowMessage('Error while downloading ' + SourceFile)
end;


Вот так я качаю файл..Но во время скачки у меня форма просто зависает...и я ничего сделать не могу..возможно ли без зависания скачать ?
Заранее спс...


Yanis   (2007-08-05 13:42:00) [1]

Дубль: http://forum.vingrad.ru/index.php?show_type=forum&showtopic=166532


SSSS   (2007-08-05 13:16:00) [2]

ппц а по теме них(


Anatoly Podgoretsky   (2007-08-05 12:54:00) [3]

Не фига там, а факт и кроме того его скоро будут бить пользователи online.kz


Dib@zol   (2007-08-05 12:51:00) [4]

> Не успокаиваешься, а зря - каждое нарушение режим RO приводит
> только к его продлению, на данный момент уже до 30 дней.

Фига там!!!


app   (2007-08-05 12:50:00) [5]

> Zagaevskiy_ro  (05.08.2007 12:49:15)  [15]

Не успокаиваешься, а зря - каждое нарушение режим RO приводит только к его продлению, на данный момент уже до 30 дней.


Zagaevskiy_ro   (2007-08-05 12:49:00) [6]

Удалено модератором


SSSS   (2007-08-05 12:21:00) [7]

Карочь никто незнает?
> то можно запустить скачку в отдельном потоке (Thread).

вот про Thread я в инете искал, все в скольз толком не написанно...
Подскажите кто хнает чем нить а то не дело что б форма зависала во время процесса скачивание а потом отвисала))


Zagaevskiy   (2007-08-05 11:59:00) [8]


> Колонки   (05.08.07 11:56) [12]


Zagaevskiy   (05.08.07 11:56) [12]


Колонки   (2007-08-05 11:56:00) [9]


> (де)Билл Гейтс.

ХАХАХА
можно так (типа по французски) де Билл Гейтс


Dib@zol   (2007-08-05 11:54:00) [10]

> [10] Zagaevskiy ©   (05.08.07 11:51)
> БГ ?

Ну не боря же гребенщиков? (де)Билл Гейтс.


Zagaevskiy   (2007-08-05 11:51:00) [11]

БГ ?


Anatoly Podgoretsky   (2007-08-05 11:50:00) [12]

Ой как не в тему, идет от ненависти к БГ


Zagaevskiy   (2007-08-05 09:07:00) [13]


> JanMihail ©   (04.08.07 18:27) [1]
> Попробуй вот эту функцию. Возвращает true при удачном скачивании
> copyFile('путь к файлу для скачивания', 'путь для сохранения');
>

Насколько я помню, JanMihail пользовался этим для качания из Инета.
А вот
> Sdubaruhnul   (05.08.07 00:52) [4]

Совсем не в тему


SSSS   (2007-08-05 00:56:00) [14]

И можно про инди рассказать) а то вы только все предлогаете))а в инетрнете мало на эту тему...примеров хоть бы(


SSSS   (2007-08-05 00:55:00) [15]

Вот про отдельный поток можно по точнее как и с чем его использоовать?


SSSS   (2007-08-05 00:54:00) [16]

Вот про отедльный потом можно по точнее как и с чем его использоовать?


Sdubaruhnul   (2007-08-05 00:52:00) [17]

> Попробуй вот эту функцию. Возвращает true при удачном скачивании
copyFile('путь к файлу для скачивания', 'путь для сохранения');


Сегодня у тебя день пишу абы было?

> На самом деле там много параметров не задано, которым вообще говоря можно передать интерфейс, и при скачке будут вызываться функции этого интерфейса.

Ну будет OnProgress, всё равно легче не станет.

то можно запустить скачку в отдельном потоке (Thread). Это решит проблему.

ИМХО так и надо поступать.

---------------

UrlDownloadToFile - часть комплекта IE, и поэтому я бы не советовал её использовать для чего-нибудь более-менее серьёзного, ибо та же пресловутая зависимость и малый контроль за ходом выполнения. Предлагаю использовать Indy.


palva   (2007-08-05 00:33:00) [18]

Надо искать в интернете, как использовать функцию UrlDownloadToFile. На самом деле там много параметров не задано, которым вообще говоря можно передать интерфейс, и при скачке будут вызываться функции этого интерфейса.
Если нет желания в этом разбираться, то можно запустить скачку в отдельном потоке (Thread). Это решит проблему.


SSSS   (2007-08-05 00:25:00) [19]

у мя пишет не все параметры заданы...по конкретнее можно пример.?


JanMihail   (2007-08-04 18:27:00) [20]

Попробуй вот эту функцию. Возвращает true при удачном скачивании
copyFile('путь к файлу для скачивания', 'путь для сохранения');


Наверх

Титульная страница Поиск, карта сайта Написать письмо