一部分?
若是全部,使用LoadFromStream

解决方案 »

  1.   

    stream1,stream2:TMemoryStream;
    stream1:=TMemosryStream.Create;
    stream2:=TMemosryStream.Create;
    stream1.LoadForm("c:\test.exe");
    stream1.seek(1500,soFromBeginning);
    stream2.CopyFrom(stream1,3000);
    stream2.SaveToFile("c:\test2.exe");
      

  2.   

    上面的例子就是把test.exe文件从第1500个字节开始COPY,一共COPY 3000个字节,并且把这3000个字节保存为c:\test2.exe对了,在VC里写习惯了
    字符串写错了
    stream1,stream2:TMemoryStream;
    stream1:=TMemosryStream.Create;
    stream2:=TMemosryStream.Create;
    stream1.LoadForm('c:\test.exe');
    stream1.seek(1500,soFromBeginning);
    stream2.CopyFrom(stream1,3000);
    stream2.SaveToFile('c:\test2.exe');
      

  3.   

    别忘记释放哦stream1.free;
    stream2.free;好久没弄delphi了
    这是以前写的代码
    顺手就贴了出来
    呵呵
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      MemStream1: TMemoryStream;
      MemStream2: TMemoryStream;
    begin
      MemStream1 := TMemoryStream.Create;
      MemStream2 := TMemoryStream.Create;
      try
        MemStream1.LoadFromFile('C:\test1.txt');
        MemStream1.Position := 0;
        MemStream2.CopyFrom(MemStream1, MemStream1.Size);
        MemStream2.SaveToFile('C:\test2.txt');
      finally
        FreeAndNil(MemStream1);
        FreeAndNil(MemStream2);
      end;
    end;