![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Процедура скачивания файлов создает "лишние" файлы...
novill © (2006-07-04 10:57:00)Вот процедура:
function MyDownloadAndSaveURL(const Url: string; const Fname:String): string;
var
hSession, hFile: HInternet;
Buffer: array[1..10240] of Byte;
BufferLen: LongWord;
f: File;
begin //----------------------------DOWNLOAD
try
hSession := InternetOpen('DownloadFile', INTERNET_OPEN_TYPE_PRECONFIG,nil, nil, 0);
if Assigned(hSession) then begin
hFile := InternetOpenURL(hSession, PChar(Url), nil, 0, INTERNET_FLAG_RELOAD, 0);
if Assigned(hFile) then begin
AssignFile(f, Fname);
Rewrite(f,1);
repeat
InternetReadFile(hFile, @Buffer, SizeOf(Buffer), BufferLen);
BlockWrite(f, Buffer, BufferLen);
until (BufferLen = 0);
CloseFile(f);
InternetCloseHandle(hFile);
end;
InternetCloseHandle(hSession);
end;
Result:='';
except
on e:EInOutError do result:=result+#13#10+e.ClassName+' '+e.Message+' '+SysErrorMessage(e.ErrorCode);
on e:exception do result:=result+#13#10+e.ClassName+' '+e.Message;
end;
end;
Иногда, при ошибках она создает
какие-то странные файлы с именами типа text_???.tmp
с вот таким содержимым
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dkoi8-r">
<META content=3D"MSHTML 6.00.2900.2180" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV> </DIV></BODY></HTML>
umbra (2006-07-12 14:39:00) [1]
> Откуда они берутся? и как избежать их создания?
>
Это кусок файла, который Вы запрашивали. Если быInternetOpenURLзавершилась успешно, тоtext_???.tmpбыл бы переименован вчего-то_там.html. Избежать их появления нельзя, зато, в случае возникновения ошибки, файл можно докачать
novill (2006-07-12 12:13:00) [2]Не знаю, кто из модераторов форума, и в частности "WinAPI" перенес эту ветку в форум "Начинающим", но искренне этому человеку рассудительности.
novill (2006-07-04 10:59:00) [3]Откуда они берутся? и как избежать их создания?