Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2010, 16:17   #1
syserg
Заблокирован
 
Регистрация: 15.04.2009
Сообщений: 7
По умолчанию IdHTTP и TMemoryStream и String

Ситуация такая, гружу страницу в поток через 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() - все нормально.
syserg вне форума Ответить с цитированием
Старый 02.04.2010, 02:41   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

попробуйте TStringStream
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 02.04.2010, 20:31   #3
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Очень просто. Ссылку на страницу сайта которую запрашиваете выложите. Даже если сайт использует сжатие, даже тогда просто получить с Indy.
Вот пример набросал, разбирайтесь:
Вложения
Тип файла: rar HTTP+MemoryStream.rar (297.0 Кб, 44 просмотров)
Alter вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TMemoryStream Владимир1988 Помощь студентам 0 13.02.2010 13:04
Запуск mp3 из TMemoryStream alegz81 Мультимедиа в Delphi 2 01.01.2010 05:51
TMemoryStream присвоить строковой переменной inndim Общие вопросы Delphi 3 06.05.2009 11:36
TMemorystream -> TJPEGimage ( используя сеть ) Lime Работа с сетью в Delphi 2 17.02.2009 03:14