Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.21;
Скачать: CL | DM;

Вниз

Прервать закачку файла по HTTP   Найти похожие ветки 

 
MAMBA   (2006-04-14 08:27) [0]

Качаю файл из инета с помощью функции

function GetInetFile (const fileURL, FileName: String): boolean;
       const BufferSize = 1024;
var
       hSession, hURL: HInternet;
       Buffer: array[1..BufferSize] of Byte;
       BufferLen: DWORD;
       rrr : integer;
       hhh,ddd: real48;
       f: File;
       sAppName,  vvv: string;
begin
 Result:=False;
 frmMain.btnLoad.Enabled := False;
 sAppName := ExtractFileName(Application.ExeName);
 hSession := InternetOpen(PChar(sAppName), INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
try
 hURL := InternetOpenURL(hSession, PChar(fileURL), nil,0,0,0);
try
 frmMain.ProgressBar.Max := Strtoint(GetUrlInfo(HTTP_QUERY_CONTENT_LENGTH, "http://10.252.205.13/Update/Izm/w.exe"));
 AssignFile(f, FileName);
 Rewrite(f,1);
 rrr := 0;
 hhh := strtofloat(GetUrlInfo(HTTP_QUERY_CONTENT_LENGTH, "http://хх.ххх.ххх.хх/Update/Izm/w.exe"));
 vvv := format("%.2f kb",[hhh/1000]);
repeat
 Application.ProcessMessages;
 InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);
 frmMain.lblProg.Caption := "Размер обновлений - " + vvv + " всего";
 frmMain.lblProg.Update;
 frmMain.lblProgress.Caption := "Получено - " + format("%.2f kb",[rrr/1000]);
 frmMain.lblProgress.Update;
 frmMain.ProgressBar.Position := frmMain.ProgressBar.Position + BufferLen;
 BlockWrite(f, Buffer, BufferLen);
 rrr := rrr + BufferLen;

until BufferLen = 0;
 CloseFile(f);
 Result:=True;
finally
 InternetCloseHandle(hURL)
end
finally
 InternetCloseHandle(hSession)
end
end;

Надо обработать нажатие кнопки Отмена, т.е. прервать загрузку файла. Вопрос - как?


 
Сергей М. ©   (2006-04-14 09:03) [1]


> как?


Вставить в тело цикла проверку состояния флага, взводимого в обработчике события OnClick кнопки "Отмена", т.е. проверку на условие досрочного выхода из цикла.



Страницы: 1 вся ветка

Текущий архив: 2006.05.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.031 c
2-1146474009
Ded22
2006-05-01 13:00
2006.05.21
SQL Запрос !


2-1146643356
Alex_C
2006-05-03 12:02
2006.05.21
Как получить CharSet шрифта


10-1118593428
kblc
2005-06-12 20:23
2006.05.21
Построение приложения


15-1145989461
Yeg
2006-04-25 22:24
2006.05.21
Международные конкурсы программных средств


1-1144822745
Chaser
2006-04-12 10:19
2006.05.21
Как на время заблокировать ListView?