![]() |
|
#1
|
|||
|
|||
![]() Пишу программу которая должна скачать определенный файл из интернета.
И возникли 2 существенные проблемы: 1) при скачивании текстового файла напрочь теряются все ентеры, то есть то что было на разных строках сливается в одну длинющую, но при этом пробелы остаются. 2) при скачивании exe файла его не удается запустить, то есть он как бы запускается, но ничего не происходит Пробовал вот такие функции, но результат один и тот же Код:
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; и Код:
procedure TForm1.Button1Click(Sender: TObject); var MS:TFileStream; begin try MS:=TFileStream.Create('SUt.exe',fmOpenReadWrite); except MS:=TFileStream.Create('SUt.exe',fmCreate); end; try try idHttp1.Get(URL,MS); finally idHttp1.Free; end; finally MS.Free; end; end; Помогите пожалуйста, или хотя бы подскажите в чем ошибка |