Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

IdHTTP и TMemoryStream и String


syserg ©   (2010-04-01 16:16:00) 

Ситуация такая, гружу страницу в поток через IdHTTP

IdHTTP.Request.AcceptEncoding:='gzip, deflate';
inStream:=TMemoryStream.Create;
try
IdHttp.Get(url,inStream);
outStream:=TMemoryStream.Create;
 try
  gZipDecompress(inStream,outStream);
  outStream.Position:=0;
finally outStream.Free; end;
finally inStream.Free; end;

А вот как мне вытянуть из OutStream в String для дальнейшей обработки ума не приложу.
Doc:=coHTMLDocument.Create as IHTMLDocument2; //создали экземпляр документа
 V:=VarArrayCreate([0,0], varVariant);
 V[0]:=Cache;
 Doc.Write(PSafeArray(TVarData(v).VArray));

Кто знает, подскажите.
Я пробовал через SetString(Cache, PChar(OutStream.Memory), еще через одну функцию, но результат на выходе одинаковый - квадратики вместо текста. Чего я не правильно делаю? Причем в memo1.lines.loadfromstream() - все нормально.


Slym   (2010-04-02 08:08:00) [1]

HTTP:=TIdHTTP.Create;
try
 HTTP.Compressor:=TIdCompressorZLib.Create(HTTP);
 Cache:=Http.Get(url);
finally
 HTTP.Free;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо