Главная страница
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.038 c
15-1146064395
gogi
2006-04-26 19:13
2006.05.21
Распространение исходников по лицензии


1-1144907581
vidiv
2006-04-13 09:53
2006.05.21
TAction.OnUpdate против эффективности


9-1129832946
Galiaf
2005-10-20 22:29
2006.05.21
Учится хочу.


2-1146820456
Юрий
2006-05-05 13:14
2006.05.21
Ошибка "Ambiguous overloaded call to FileSetDate "


15-1145869848
Marser
2006-04-24 13:10
2006.05.21
Кириллические векторные шрифты (.CHR)