Показать сообщение отдельно
  #1  
Старый 07.02.2010, 12:54
Looker Looker вне форума
Прохожий
 
Регистрация: 07.02.2010
Сообщения: 4
Репутация: 10
По умолчанию Скачивание EXE

Пишу программу которая должна скачать определенный файл из интернета.
И возникли 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;

Помогите пожалуйста, или хотя бы подскажите в чем ошибка
Ответить с цитированием