Asunto: Copiar una carpeta a otra con API de Windows y Delphi
Hay alguna forma de copiar una carpeta (y subcarpetas) en otra carpeta o unidad de disco sin mucho código, sin recorrer los ficheros y demás. Existe alguna función del API de Windows para realizar este menester.
He visto en esta web algunas aplicaciones con código fuente que copian una carpeta a otra de forma recursiva (incluyendo los subdirectorios) pero recorriendo fichero a fichero, por ejemplo:
Pero lo veo demasiado "engorroso", busco algo muy sencillo, incluso que permita "mover" además de copiar.
Publicado:
Sab Mar 21, 2009 5:02 pm
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Copiar una carpeta a otra con API de Windows y Delphi
Anuncios
varios escribió:
Hay alguna forma de copiar una carpeta (y subcarpetas) en otra carpeta o unidad de disco sin mucho código, sin recorrer los ficheros y demás. Existe alguna función del API de Windows para realizar este menester.
He visto en esta web algunas aplicaciones con código fuente que copian una carpeta a otra de forma recursiva (incluyendo los subdirectorios) pero recorriendo fichero a fichero, por ejemplo:
Pero lo veo demasiado "engorroso", busco algo muy sencillo, incluso que permita "mover" además de copiar.
Puedes utilizar la función del API de Windows SHFileOperation, con esta función realizarás la copia de la carpeta mediante el propio Windows, incluso te aparecerá la ventana de progreso de la copia.
Publicado:
Sab Mar 21, 2009 8:07 pm
varios Magnífico usuario
Registrado: Oct 10, 2006 Mensajes: 2092
Asunto: Re: Copiar una carpeta a otra con API de Windows y Delphi
Anuncios
alonsojpd escribió:
Puedes utilizar la función del API de Windows SHFileOperation, con esta función realizarás la copia de la carpeta mediante el propio Windows, incluso te aparecerá la ventana de progreso de la copia.
¿Cómo se utiiza esta función del API de Windows?
Publicado:
Sab Mar 21, 2009 8:08 pm
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Copiar una carpeta a otra con API de Windows y Delphi
Anuncios
varios escribió:
¿Cómo se utiiza esta función del API de Windows?
Te indicamos un ejemplo:
Código:
procedure copiarCarpetas (handle : THandle;
carpetaOrigen, carpetaDestino : string;
accionRealizar : Word);
var
estructuraOp : TSHFileOpStruct;
begin
with estructuraOp do
begin
Wnd := handle;
wFunc := accionRealizar;
pFrom := pchar(carpetaOrigen);
pTo := pchar(carpetaDestino);
fFlags := FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION;
fAnyOperationsAborted := false;
hNameMappings := nil;
lpszProgressTitle := nil;
end;
SHFileOperation(estructuraOp);
end;
Asunto: Re: Copiar una carpeta a otra con API de Windows y Delphi
Anuncios
Aquí tienes el código fuente de la aplicación AjpdSoft Copiar Carpetas (100% Open Source), esta aplicación utiliza la función del API de Windows SHFileOperation:
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A