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


Автор: IDontBelieveInSilence 17.2.2009, 16:24
Здравствуйте. 

Будьте добры, покажите мне пример, как можно выкачать текстовый файл по http, и не сохраняя его на жестком диске, тупо загрузить в память и показать пользователю, а потом освободить?

Хочется это так список изменений показывать для функции автообновления.

Заранее благодарю.

Автор: MetalFan 17.2.2009, 16:51
так получай в строку idHTTP.Get. делов-то.

Автор: sai_NT 18.2.2009, 10:17
Код

var
  rcvrdata: TMemoryStream;
  idHttp1: TidHttp;
begin
    idHttp1 := TidHttp.Create(nil);
    rcvrdata := TMemoryStream.Create;
    idHttp1.Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1)';
    idHttp1.Request.AcceptLanguage := 'ru';
    idHttp1.Response.KeepAlive := true;
    idHttp1.HandleRedirects := true;//automaticaly change location
    {if referer <> '' then
      idHttp1.Request.Referer := referer;
    }
    try
      idHttp1.Get(Edit1.Text, rcvrdata);
    finally
      idHttp1.Free;
    end;
    if rcvrdata.Size > 0 then begin
      rcvrdata.Seek(0, soFromBeginning);
      SetLength(rcvrstr, rcvrdata.size);
      rcvrdata.Read(rcvrstr[1], rcvrdata.size);
      ShowMessage(rcvrstr);
    end;
    rcvrdata.Free;
end;

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