Вот тебе:
| Код | function GetInetFile(fileURL, FileName : string) : boolean; const BufferSize = 1024; var hSession, hURL : HInternet; Buffer : array[1..BufferSize] of byte; BufferLen : DWORD; f : file; sAppName : string; Path : string;
function IsConnectedToInternet: Boolean; // проверяет, есть ли соединение с интернетом. var dwConnectionTypes: DWORD; begin dwConnectionTypes := INTERNET_CONNECTION_MODEM + INTERNET_CONNECTION_LAN + INTERNET_CONNECTION_PROXY; Result := InternetGetConnectedState(@dwConnectionTypes, 0); end;
begin Result := false; if not IsConnectedToInternet then begin MessageDlg('Нет соединения с интернетом!', mtWarning, [mbOk], 0); Exit; end; GetDir(0, Path); sAppName := ExtractFileName(Path + '\MyProg.exe'); 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;
|
|