S:=Tstringstream
......
begin:
......
s.Tstringstream.creat;
get('http://www.xxx/xxx.*',s)
.......
//怎样从流s中读出文件并保存;
.....
end;
给点提示:)

解决方案 »

  1.   

    S:=Tstringstream;
    ......
    begin:
    ......
    s.Tstringstream.creat();
    IdHTTP1.Get('http://xxx/xxx.*',s);
    .......
    //怎样从流s中读出文件并保存;
    .....
    end;
    给点提示:)
      

  2.   

    var
     k:TstringS;
     st1:tfilestream;
    begin
    if opendialog1.execute then
    begin
      K:=TStringList.Create();
      st1:=tfilestream.Create(opendialog1.FileName,fmopenread);
      K.LoadFromStream(ST1);
      EDIT1.TEXT:=copy(K.Text,1,3);
     K.Free;
    ST1.Free ;
    end;
    END;
      

  3.   

    看不明白你的代码;
    TSTRINGSTREAM的构造函数必须有个STRING的参数啊;
      

  4.   

    var
      s: TStringStream;
      f: TFileStream;
    begin
      f := TFileStream.Create('c:\test.txt', fmCreate or fmShareDenyRead);
      f.CopyFrom(s, s.Size);
    end;
      

  5.   

    我试试你们的方法看看~~~
    我就是想用IdHTTP1的get() procedure 来下载一个文件
    嘿嘿~~
      

  6.   

    我用sysu(死树) 的方法提示stream read error!
    s:=Tstringstream.Create('');
    form1.IdHTTP1.Get(ASourceDir,s);
    f:=tfilestream.Create(SaveDir,fmCreate);
    f.CopyFrom(s,s.Size);
    s.Free;
    f.Free;
      

  7.   

    对了,IdHTTP1.Get后s的流指针在末尾,要移到开头来才行,
    s.Seek(0, soFromBeginning);
    f.CopyFrom(s,s.Size);
    我试过可以了。