Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-03-2012
petete2008 petete2008 is offline
Miembro
 
Registrado: oct 2008
Posts: 109
Poder: 16
petete2008 Va por buen camino
copiar un directorio en otro

Hola :
Supongamos que tengo un directorio origen llamado c:\carpeta (dentro de prueba hay un subdirectorio llamado T1).
Quiero copiar el contenido de c:\carpeta (incluido ficheros y subdirectorios) a la carpeta destino c:\pp (la carpeta pp esta creada previamente manualmente).

El problema que tengo es que con el código siguiente me crea dentro de la carpeta pp otro directorio llamado carpeta y no es lo que deseo. Quiero también que se sobreescriba si algún fichero o carpeta existe dentro del directorio destino sin preguntar.

Código:
// RenameOnCollision : Boolean; //Renames if directory exists
// NoConfirmation : Boolean; //Responds "Yes to All" to any dialogs
// Silent : Boolean; //No progress dialog  is shown
// ShowProgress : Boolean; //displays progress dialog but no file names
// FromDir : String; //From directory, source
// ToDir : String // To directory, source
Function copyDir(RenameOnCollision:Boolean; NoConfirmation:Boolean; Silent:Boolean; ShowProgress:Boolean; FromDir:String; ToDir:String):Boolean;
var
  SHFileOpStruct : TSHFileOpStruct;
  FromBuf, ToBuf: Array [0..255] of Char;
begin
  Try
    Fillchar(SHFileOpStruct, Sizeof(SHFileOpStruct), 0 );
    FillChar(FromBuf, Sizeof(FromBuf), 0 );
    FillChar(ToBuf, Sizeof(ToBuf), 0 );
    StrPCopy(FromBuf, FromDir);
    StrPCopy(ToBuf, ToDir);
    With SHFileOpStruct Do
    Begin
      Wnd := 0;
      wFunc := FO_COPY;
      pFrom := @FromBuf;
      pTo := @ToBuf;
      fFlags := FOF_ALLOWUNDO;
      If RenameOnCollision Then fFlags := fFlags or
        FOF_RENAMEONCOLLISION;
      If NoConfirmation Then fFlags := fFlags or
        FOF_NOCONFIRMATION;
      If Silent Then fFlags := fFlags or
        FOF_SILENT;
      If ShowProgress Then fFlags := fFlags or
        FOF_SIMPLEPROGRESS;
    End;
  Result := (SHFileOperation(SHFileOpStruct) = 0); // it goes wrong here
  Except
    Result := False;
  End;
end;//copyDir
Código:
 copyDir( false, true, false, false, PChar('c:\prueba'), Pchar('c:\pp');
Alguien tiene idea que puede estar pasando?
gracias de antemano!!
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Copiar la propia aplicación a otro directorio Gothem Varios 2 26-06-2011 22:15:30
Copiar directorio novaten Varios 5 11-01-2011 22:53:04
Copiar directorio y renomer el proyecto Paulao Varios 2 01-07-2008 12:21:34
FileStream pa copiar todo un directorio o carpeta Oxa78 Varios 0 23-03-2007 00:09:39
copiar un archivo a otro directorio scotex Varios 2 19-02-2005 11:27:10


La franja horaria es GMT +2. Ahora son las 10:51:26.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi