![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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;