如何写复制整个文件夹的程序?(给出完整代码。要覆盖原文件)

解决方案 »

  1.   

    uses ShellApi;
    ....
    procedure TForm1.Button1Click(Sender: TObject);
    var
     F:TShFileOpStruct;
     sourceName,
     TargetName:string; 
    Begin
      With f DO
      Begin
        Wnd:= Handle;
        wFunc:= FO_COPY; 
        pFrom:=PChar(SourceName+#0#0);
        pTo:=PChar(TargetName+#0#0);
        fFlags:=FOF_NOCONFIRMATION;
        fAnyOperationsAborted:= False;
        hNameMappings:= Nil;
        lpszProgressTitle:= Nil;
      end;
      ShFileOperation( f);
    end;
      

  2.   

    function CopyDirectory(const Source, Dest: string): boolean;
    var
      fo: TSHFILEOPSTRUCT;
    begin
      FillChar(fo, SizeOf(fo), 0);
      with fo do
      begin
        Wnd := 0;
        wFunc := FO_COPY;
        pFrom := PChar(source+#0);
        pTo := PChar(Dest+#0);
        fFlags := FOF_NOCONFIRMATION+FOF_NOCONFIRMMKDIR    ;
      end;
      Result := (SHFileOperation(fo) = 0);
    end;