Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];

Вниз

Прервать закачку файла по 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.017 c
3-1143716463
wsm-100
2006-03-30 15:01
2006.05.21
Как получить список имен БД на сервере MSSQL


2-1146460256
it_work
2006-05-01 09:10
2006.05.21
кодировка при получении письма


2-1146661577
49 Cent
2006-05-03 17:06
2006.05.21
Как распечатать bmp файл


15-1145620849
Alarm
2006-04-21 16:00
2006.05.21
к модераторам и админам


15-1145872467
xayam
2006-04-24 13:54
2006.05.21
Почему программисты не хотят структурировать код?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский