Код:
Function DownLoadRss(_LinkLoad, _SaveWay: string) : Boolean ;
var F: File;
BufferLen,SumSize: DWORD;
hSession, hURL: HInternet;
Buffer: array[1..1024] of Byte;
begin
SumSize:=0;
// ResumePos:=0; //Инициализируемся
AssignFile (F,_SaveWay); //Свяжемся с файлом
ReWrite(f,1); // создадим
//Открыли сессию
hSession:= InternetOpen('X-Kachalka',PRE_CONFIG_INTERNET_ACCESS,nil,nil,0);
//И наш УРЛ
hURL := InternetOpenURL(hSession,PChar(_LinkLoad),nil,0,0,0);
try
REPEAT //Качаем
InternetReadFile(hURL, @Buffer,SizeOf(Buffer),BufferLen); //Читаем буфер
BlockWrite(f, Buffer, BufferLen); //Пишем в файл
Application. Processmessages
UNTIL BufferLen= 0;
Result := true;
except
Result := false;
end;
InternetCloseHandle(hURL);
Closefile(f);
InternetCloseHandle(hSession);
end;
и у этого чуда такая проблема:
если программа запущена и функция используется первый раз то всё в порядке - файл закачивается и это чувствуется по затраченному времени и тому что программа занята.
но вот все последующие разы использования выкидывают такой фокус: файл (даже если он удалён) качается в разы быстрее, и он качается в том же виде что и первый раз( я качаю rss ленты и заметил этот фокус когда я посмотрел файл сразу после скачивания и сравнил с тем что был на сайте и спустя 3 часа. на сайте обновилось а вот "скачанный" файл нет).