Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Проблема с delphi 7


Автор: fridrih777 11.3.2008, 14:45
Здраствуйте такая проблемма. Нашёл в DRKB такой пример получения HTML кода. 
Код

procedure TForm1.Button1Click(Sender: TObject); 

begin 

NMHTTP1.Get('www.swissdelphicenter.ch'); 

memo1.Text := NMHTTP1.Body 

end;


У меня на Пк установлен Delphi 7  я никак не могу найти  компонент NMHTTP. Помогите пожалуйста. Возможно его можно заменить или как я не знаю. Заранее благодарю!

Автор: VICTAR 11.3.2008, 16:58
Возьми Indy

Автор: ama_kid 11.3.2008, 17:13
fridrih777 как вариант - можешь использовать функцию:
Код
function DownloadFile(const Url: string): string;
var
  NetHandle: HINTERNET;
  UrlHandle: HINTERNET;
  Buffer: array[0..1024] of char;
  BytesRead: cardinal;
begin
  Result := '';
  NetHandle := InternetOpen('Delphi 7.x', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);

  if Assigned(NetHandle) then
  begin

    UrlHandle := InternetOpenUrl(NetHandle, PChar(Url), nil, 0, INTERNET_FLAG_RELOAD, 0);

    { UrlHandle правильный? Начинаем загрузку }
    if Assigned(UrlHandle) then
    begin
      FillChar(Buffer, SizeOf(Buffer), 0);
      repeat
        Result := Result + Buffer;
        FillChar(Buffer, SizeOf(Buffer), 0);
        InternetReadFile(UrlHandle, @Buffer, SizeOf(Buffer), BytesRead);
      until
        BytesRead = 0;
      InternetCloseHandle(UrlHandle);
    end
    else
    begin
      { UrlHandle неправильный. Генерируем исключительную ситуацию. }
      raise Exception.CreateFmt('Cannot open URL %s', [Url]);
    end;

    InternetCloseHandle(NetHandle);
  end
  else
    { NetHandle недопустимый. Генерируем исключительную ситуацию }
    raise Exception.Create('Unable to initialize Wininet');
end;

Автор: MetalFan 11.3.2008, 17:27
Цитата(ama_kid @  11.3.2008,  17:13 Найти цитируемый пост)
raise Exception.CreateFmt('Cannot open URL %s', [Url]);

не самый правильный ход,
в это случае не выполнится
Цитата(ama_kid @  11.3.2008,  17:13 Найти цитируемый пост)
InternetCloseHandle(NetHandle);

и как следствие возможна утечка ресурсов

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)