![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Скачка файла с интернета
Dr.Nemo © (2005-08-26 15:00:00)Добрый день колеги у меня сложился вот такой вопрос
вот листинг моей программы:
program Project3;
uses
wininet;
function HttpDownloadFile(URL, FileName: string): boolean;
const
BufferSize = 1024;
var
hSession, hURL: HInternet;
Buffer: array[1..BufferSize] of Byte;
BufferLen: longword;
f: file;
sAppName: string;
begin
Result := False;
//sAppName := 'MyProgram';
hSession := InternetOpen(PChar(sAppName),
INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
try
hURL := InternetOpenURL(hSession, PChar(URL), nil, 0, 0, 0);
try
AssignFile(f, FileName);
Rewrite(f,1);
repeat
InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);
BlockWrite(f, Buffer, BufferLen);
until
BufferLen = 0;
CloseFile(f);
Result := True;
finally
InternetCloseHandle(hURL);
end;
finally
InternetCloseHandle(hSession);
end;
end;
var FileOnNet, LocalFileName: string;
begin
FileOnNet:=' http://localhost/1.exe';
LocalFileName:='1.exe';
if HttpDownloadFile(FileOnNet,LocalFileName)=True
then
/////////////////
else
////////////////////
end.
как в ету функцию вставить цикл
который например через каждые 5 минут
запускал скачку файла с интернета и если скачка прошла успешно то цикл останавливался
помогите пожалуйста а то у меня время поджимает!!
если можно то дайте примерчик или вышлите на smirnof@ua.fm
Плохиш (2005-08-26 15:33:00) [21]TTimer к примеру
Dr.Nemo (2005-08-26 15:18:00) [22]А всё таки как её зациклить с интервалом во времени?
Digitman (2005-08-26 15:12:00) [23]
> как в ету функцию вставить цикл
функцию сначала довести до ума нужно, а уж потом про "циклы" рассуждать.
until BufferLen = 0;
..
Result := True;
с чего ты взял, что истинность условия BufferLen = 0 есть повод для принятия решения об УСПЕШНОМ "скачивании" файла ?