Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > IdHTTP - статус загрузки


Автор: slavonX86 12.3.2006, 12:16
как отобразить статус загрузки документа через IdHTTP

Автор: Snowy 12.3.2006, 17:44
OnWorkBegin, OnWork
Поиск по форуму

Автор: slavonX86 18.3.2006, 22:46
Код

procedure THTTP.OnWorkBegin(ASender: TObject; AWorkMode: TWorkMode;
  AWorkCountMax: Integer);
begin
  
end;



AWorkCountMax = 0. Почему ???

Автор: Poseidon 18.3.2006, 23:09
Потому что ничего не начал качать.
AWorkCountMax в OnWorkBegin показывает размер закачиваемого файла. Что бы узнать, сколько уже скачалось, используй OnWork

Автор: Rexar 18.3.2006, 23:54
А как узнать какой размер закачиваемой web-страницы ?

Автор: Matematik 19.3.2006, 00:37
Цитата(Rexar @ 18.3.2006, 23:54 Найти цитируемый пост)
А как узнать какой размер закачиваемой web-страницы ?

Если сервер сообщает IdHTTP размер скачиваемого файла, то OnWorkBegin+AWorkCountMax.
А если нет, то НИКАК. т.е. только после полной загрузки файла

Код

ShowMessage('Размер web-страницы http://stranica.net равен '+
                         IntToStr(Length(idhttp.get('http://stranica.net')))

Автор: Poseidon 19.3.2006, 02:51
Цитата(Rexar @ 18.3.2006, 22:54 Найти цитируемый пост)
А как узнать какой размер закачиваемой web-страницы ?
Если это html-страница, то узнать можно так:
Код
function GetInetFileSize(const FileUrl:string):integer;
begin
  Result:=0;
  idHTTP:=TIdHTTP.Create(nil);
  idHTTP.Head(FileUrl);
  Result:=idHTTP.Response.ContentLength; //размер файла
  IdHTTP.Free;
end;

можно, потому что страница html - это тот же файл.

А вот если это php-скрипт, то тут сложнее, т.к. такая страница генерируется сервером на основании php-кода.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)