例如c盘的一个.exe拷贝到d盘的一个.exe

解决方案 »

  1.   

    如果仅仅是拷贝文件,建议用CopyfileMyStream := TFileStream.Create('C:\a.exe',fmOpenReadWrite);myStream.Seek(0,);//定位到文件开始参见TStreamfunction ComponentToString(Component: TComponent): string;var
      BinStream:TMemoryStream;
      StrStream: TStringStream;
      s: string;
    begin
      BinStream := TMemoryStream.Create;
      try
        StrStream := TStringStream.Create(s);
        try
          BinStream.WriteComponent(Component);
          BinStream.Seek(0, soFromBeginning);
          ObjectBinaryToText(BinStream, StrStream);
          StrStream.Seek(0, soFromBeginning);
          Result:= StrStream.DataString;
        finally
          StrStream.Free;    end;
      finally
        BinStream.Free
      end;
    end;function StringToComponent(Value: string): TComponent;
    var
      StrStream:TStringStream;
      BinStream: TMemoryStream;
    begin
      StrStream := TStringStream.Create(Value);
      try
        BinStream := TMemoryStream.Create;
        try
          ObjectTextToBinary(StrStream, BinStream);
          BinStream.Seek(0, soFromBeginning);
          Result := BinStream.ReadComponent(nil);    finally
          BinStream.Free;
        end;
      finally
        StrStream.Free;
      end;
    end; 
      

  2.   

    声明一个TMemoryStream类,mm := TMemoryStream.Create;
    打开源文件,mm.LoadFromFile(szSourceFile);
    保存到目标文件mm.SaveToFile(szDestFile);
    释放内存mm.Free
      

  3.   

    copyfile在某些系统下不支持带空格的文件夹。
      

  4.   

    什么系统下面Copyfile不支持带空格的文件夹?