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