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

Вниз

Загрузка удаленного файла   Найти похожие ветки 

 
GamerZone   (2007-10-11 16:42) [0]

Для загрузки файла с http использую функцию:
/////////////////////////////////////////////////////////////////////////
function GetInetFile (const fileURL, FileName: String): boolean;
const BufferSize = 1024;
var
 hSession, hURL: HInternet;
 Buffer: array[1..BufferSize] of Byte;
 BufferLen: DWORD;
 f: File;
 sAppName: string;
begin
 Result:=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
     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;
/////////////////////////////////////////////////////////////////////////

Но у нее есть недостаток:
если файла нет, функция все равно возвращает True, т.к. сервер при отсутствии выдает сообщение об ошибке.

Подскажите, как от этого избавиться.


 
Сергей М. ©   (2007-10-12 08:59) [1]


> как от этого избавиться


Для начала осознать, что

1.  InternetReadFile и InternetReadFile - это функции.
2. Вызовы WinAPI-функций при корректных передаваемых им параметрах не приводят в исключительным ситуациям.



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

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

Наверх




Память: 0.47 MB
Время: 0.018 c
2-1216187859
savyhinst
2008-07-16 09:57
2008.08.17
Как инвертировать цвета TBitmap?


15-1214989510
Slider007
2008-07-02 13:05
2008.08.17
С днем рождения ! 2 июля 2008 среда


2-1215972445
Дима
2008-07-13 22:07
2008.08.17
Ошибка консольного приложения, при расчете CRC32 суммы?


15-1214884536
ASR
2008-07-01 07:55
2008.08.17
Хочу сделать на сайте


1-1196520892
NikolayV
2007-12-01 17:54
2008.08.17
Вопрос по ThemeServices