var
     filename:string;//目标文件名
     source,target: TFileStream;
begin
     source:=TFileStream.Create('c:\lan.exe',fmOpenRead );//源文件
                                 ----------    名,可含路径,
     try                        
       target:=TFileStream.Create(filename,fmOpenWrite or fmCreate);
       try
         if target.CopyFrom(source,source.Size)=source.Size then
           ShowMessage('文件成功复制!!!');
       finally
         target.Free;
       end;
     finally
       source.Free;
     end;

解决方案 »

  1.   

    // 设置文件拷备函数
    function TForm1.WinCOPY(File_name:string;File_name_S:string):string;
    var
      OpStruc:TSHFileOpStruct;
      FromBuf,ToBuf:Array[0..128] of Char;
    begin
          FillChar(FromBuf,Sizeof(FromBuf),0);
          FillChar(ToBuf,Sizeof(ToBuf),0);
         //用0初始化FromBuf和ToBuf数组
          StrPCopy(FromBuf,Pchar(File_name));
          StrPCopy(ToBuf,Pchar(File_name_S));
         //分别在 FromBuf和ToBuf数组中填入操作的源目录及目标目录
         //开始填充OpStruc记录
        with OpStruc do
         begin
           Wnd:=Handle;
           wFunc:=FO_COPY;
          //复制操作
           pFrom:=@FromBuf;
           pTo:=@ToBuf;
           fFlags:=FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION;
           fAnyOperationsAborted:=False;
           hNameMappings:=nil;
           lpszProgressTitle:=nil;
           OpStR:= SHFileOperation(OpStruc);
        end;
    end;
      

  2.   

    用CopyFile写全扩展名不就行了。
      

  3.   

    Up!Up!Up!Up!Up!-------------------------
    你给我分我捧你!
    不给我分我扁你!