procedure Tmain.Button7Click(Sender: TObject);
var fr,fw:TMemoryStream;
   buf:pbyte;
begin
  fr:= TMemoryStream.Create;
  fr.LoadFromFile('D:\llx\delphi test\2010\1\qian.jpg');
  fr.ReadBuffer(buf,fr.Size);
  fw:=TMemoryStream.Create;
  fw.WriteBuffer(buf,fr.size);
  fw.SaveToFile('D:\llx\delphi test\2010\1\money.jpg');
  fr.Free;
  fw.Free;
end;
为什么不行呢???
TMemoryStream   or   TFileStream 实现的都可以。请贴代码 3Q

解决方案 »

  1.   

     var Fread,Rwrite:TFileStream;
        rbuf:pbyte;
    begin
      Fread:=TFileStream.Create(filename,fmOpenRead);
       Fread.ReadBuffer(rbuf,Fread.Size);
       Fread.Position:=0;
       Rwrite:=TFileStream.Create('nihao.txt',fmOpenWrite or fmCreate);
       Rwrite.WriteBuffer(rbuf,Fread.Size);
       Rwrite.Free;
       Fread.Free;
    end;
    这个能成功 但是会出错!
      

  2.   

    直接用
    CopyFile('E:\个人\picture\082.jpg','E:\个人\picture\082副本.jpg',True);
    不就搞定了?为什么这么麻烦?
      

  3.   

    非要用Memory,就这样procedure TForm1.Button4Click(Sender: TObject);
    var fr:TMemoryStream;
    begin
      fr:= TMemoryStream.Create;
      fr.Position:=0;
      fr.LoadFromFile('E:\个人\picture\082.jpg');
      fr.SaveToFile('E:\个人\picture\082副本.jpg');
      fr.Free;
    end;
      

  4.   

    这个跟COPY 函数差不多。都集成到函数里面了。
      

  5.   

    问题提得不好。我是想把文件都读到内存里面去。然后可以很好的操作文件。甚至可以把2个jpg文件合并到一个文件。一般是文件1,一般是文件2。
      

  6.   


    procedure TForm1.Button4Click(Sender: TObject);
    var
      fr,fw,ff:TFileStream;
      buf:array of Char;
      size:Int64;
      handle:THandle;
    begin
      //文件流的方式
      fr:= TFileStream.Create('E:\个人\picture\082.jpg',fmopenread or fmopenreadwrite);
      if fileexists('E:\个人\picture\082副本.jpg') then
      else
      begin
        handle:=filecreate('E:\个人\picture\082副本.jpg');
        fileclose(handle);
      end;
      ff:=TFileStream.Create('E:\个人\picture\082副本.jpg',fmopenread or fmopenreadwrite);
      ff.Position:=0;
      size:=fr.Size;
      SetLength(buf,size+1);
      fr.ReadBuffer(buf[0],size);
      fr.Position:=0;
      ff.WriteBuffer(buf[0],size);
      fr.Free;
      ff.Free;
      //API函数
      //CopyFile('E:\个人\picture\082.jpg','E:\个人\picture\082副本.jpg',True);
    end;