![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
докачка файлов [D7, WinXP]
anton773 © (2006-06-27 22:00:00)Здравствуйте!Помогите разобраться есть код(широко известный) для докачивания файлов в случае разрыва связи.Закачка идет нормально,а вот с докачкой возникли проблемы: сама докачка начинается нормально,байты информации поступают на компьютер но в файл не дописываются.(как бы уходят вникуда),если закачивать тот же самый файл с начала то проблем не возникает.Докачка файла сервером поддерживается(проверял) файл другой программой не открывался. Помогите ПЛЗ.Все вроде элементарно,но почему то не работает. Хотя бы подскажите в какую сторону копать.
var
Resumepos,Bufferlen,Sumsize :dword;
hSession,hUrl:Hinternet;
Buffer: array[1..1024] of byte;
err: boolean;
begin
Sumsize:=0; Resumepos:= 0;
AssignFile(F,Form2.Edit2.Text);
if FileExists(Form2.Edit2.Text) then
begin
Reset(f,1);
Resumepos:= FileSize(f);
Seek(f,filesize(f));
end else Rewrite(f,1);
NADO := true;
hSession:= InternetOpen('andowload',PRE_CONFIG_INTERNET_ACCESS,nil,nil,0);
hUrl:= InternetOpenUrl(hSession,pchar(Form2.Edit1.Text),nil,0,0,0);
InternetQueryDataAvailable(hUrl,Sumsize,0,0);
if Resumepos > 0 then
begin
InternetSetFilePointer(hUrl,Resumepos,nil,0,0);
end;
repeat
err:= InternetReadFile(hUrl,@buffer,SizeOf(Buffer),Bufferlen);
BlockWrite(f,Buffer,Bufferlen);
Application.ProcessMessages;
until (Bufferlen= 0) or (NADO= false);
ShowMessage('успешно загружено');
anton773 (2006-06-30 21:27:00) [1]Спецы ау-уууууууу!