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

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

TMemoryStream как превратиь в string?


Studios ©   (2008-03-19 17:12:00) 

TMemoryStream как превратиь в string?


Studios   (2008-03-20 00:02:00) [1]

спасибо тебе easy


Studios   (2008-03-19 23:58:00) [2]

да


easy   (2008-03-19 22:50:00) [3]

программу пишете?
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1204539788&n=18&p=1
http://delphikingdom.info/asp/answer.asp?IDAnswer=59922


Studios   (2008-03-19 22:26:00) [4]

а как подвязать?
XMLD.load(Data.DataString)


Джо   (2008-03-19 20:21:00) [5]

> [12] easy ©   (19.03.08 20:00)
> а это проще, чем LoadFromStream 8)

А чем оно проще? Тем, что нужно включать в uses еще один модуль? А так — ничё включать ненужно сверх, используй :)


easy   (2008-03-19 20:19:00) [6]

ктому же, если уж поставил что-то - посмотри в демосы %)


easy   (2008-03-19 20:00:00) [7]


> Джо © (19.03.08 19:17) [11]
> > [9] easy ©   (19.03.08 18:40)
> > ICS\Internet\HttpDmo1.pas
> >
> > procedure LoadMemoFromMemoryStream(Memo : TMemo; Stream
> > : TMemoryStream);
>
> Чего только не придумают, чтобы не делать Memo.Lines.LoadFromStream
> :)

а это проще, чем LoadFromStream 8)


Джо   (2008-03-19 19:17:00) [8]

> [9] easy ©   (19.03.08 18:40)
> ICS\Internet\HttpDmo1.pas
>
> procedure LoadMemoFromMemoryStream(Memo : TMemo; Stream
> : TMemoryStream);

Чего только не придумают, чтобы не делать Memo.Lines.LoadFromStream :)


easy   (2008-03-19 18:45:00) [9]

procedure TForm1.Button1Click(Sender: TObject);
var
  Data : TStringStream;
begin
  Memo1.Clear;

  Data := TStringStream.Create('');
  try
      httpcli1.URL        := ' http://local/index.php5';
      httpcli1.Proxy      := '127.0.0.1';
      httpcli1.ProxyPort  := '81';
      httpcli1.RcvdStream := Data;
      httpcli1.Get;
      showmessage(Data.DataString);
  finally
      Data.Free;

  end;
end;


easy   (2008-03-19 18:40:00) [10]

ICS\Internet\HttpDmo1.pas

procedure LoadMemoFromMemoryStream(Memo : TMemo; Stream : TMemoryStream);
var
   p, q, r : PChar;
begin
   p := Stream.Memory;
   q := p + Stream.Size;// -1; fixed by Shay Horovitz
   r := p;
   while (p <> nil) and (p < q) do begin
       while (p < q) and (p^ <> #13) and (p^ <> #10) do
           Inc(p);
       Memo.Lines.Add(Copy(StrPas(r), 1, p - r));
       if (p[0] = #13) and (p[1] = #10) then
          Inc(p, 2)
       else
          Inc(p);
       r := p;
   end;
end;


Johnmen   (2008-03-19 17:25:00) [11]


> а DATA чтоб было в формате string

var
 Data : string;
 ...
 finally
     Data:='';


Джо   (2008-03-19 17:23:00) [12]

> [6] Studios   (19.03.08 17:18)
> мне нужно так вот

Уже дали 2 варианта выше.


Studios   (2008-03-19 17:18:00) [13]

мне нужно так вот
procedure TForm1.Button1Click(Sender: TObject);
var
   Data : TMemoryStream;
begin
   Memo1.Clear;

   Data := TMemoryStream.Create;
   try
       httpcli1.URL        := ' http://local/index.php5';
       httpcli1.Proxy      := '127.0.0.1';
       httpcli1.ProxyPort  := '81';
       httpcli1.RcvdStream := Data;
       httpcli1.Get;
     
   finally
       Data.Free;

   end;
end;

а DATA чтоб было в формате string


han_malign   (2008-03-19 17:16:00) [14]

SetString(S, PChar(ms.Memory), ms.Size);


Джо   (2008-03-19 17:15:00) [15]

> [2] Джо ©   (19.03.08 17:13)

Пардон, описка. Читать как:
Ms.Read (S[1],Length(S));


AntonUSAnoV   (2008-03-19 17:14:00) [16]

Удалено модератором
Примечание: не нужно домыслов.


Johnmen   (2008-03-19 17:13:00) [17]

А смысл?


Джо   (2008-03-19 17:13:00) [18]

SetLength (S,Ms.Size);
Ms.Position := 0;
Ms.Read (S[0],Length(S));


Наверх

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