Загрузка данных из интернета

  • Автор темы SAGAK
  • Дата начала
Статус
Закрыто для дальнейших ответов.
S

SAGAK

#1
Подскажите, как можно сделать так, чтобы при загрузке данных из интернета (php страница, точнее, сгенерированный ею код), отображались данные по частям, т.е. как скачался блок 4кб, так он и отобразился в memo поле, скачался ещё блок, ещё один отобразился и т.п. и т.д.?

Если это реализовывать через InternetReadFile() wininet.h, то надо ждать пока страница загрузиться полностью (так как данные динамические) и только после этого будет её вывод в поле memo. Для статической страницы, html файла, например, это сделать легко, например так:

Код:
		char szData[1024];
int i=0;
AnsiString down_text;
int down = 0, down_kb = 0, down_mb = 0;
DWORD dwBytesRead=1;

FHandle=FileCreate("c:\\temp.txt");
if(FHandle==-1){ShowMessage("Невозможно сохранение на диск");}

while(dwBytesRead)
{
InternetReadFile(inet_http_open_request,szData,sizeof(szData)-1,&dwBytesRead);
down=down+sizeof(szData);
FileWrite(FHandle, (char *)szData,dwBytesRead);
}
FileClose(FHandle);
InternetCloseHandle(inet_http_open_request);
Только в этом примере происходит сохранение на диск блока данных, после его загрузки.
 
Статус
Закрыто для дальнейших ответов.