Sei sulla pagina 1di 6

FTP

CCD

Enlaces

Copiar, mover y borrar una carpeta y todo su contenido


FA Q

Miembros

Trucos

Trabajo

Foros

Nombre de Usuario Nombre de Usuario


Recordarme?

Foros Club Delphi > Otros temas > Trucos

Registrarse

Buscar

Calendario

C ontrasea

Iniciar Sesin

Gua de estilo

Temas de Hoy

Herramientas

Desplegado

#1

07-06-2006

Registrado: dic 2004


Ubicacin: Alcobendas, Madrid, Espaa
Posts: 11.873

dec
Moderador

Copiar, mover y borrar una carpeta y todo su contenido

Con las siguientes funciones podemos copiar, mover y borar carpetas y todo su contenido:
Cdigo Delphi [-]
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

uses
ShlObj, Masks, ShellApi;
function CopiarCarpeta(const carpetaOrigen,
carpetaDestion: string) : boolean;
var
FileOp: TSHFileOpStruct;
begin
FillChar(FileOp, SizeOf(FileOp), #0);
with FileOp do
begin
wFunc := FO_COPY;
Wnd := GetDesktopWindow;
pTo := PChar(carpetaOrigen);
pFrom := PChar(carpetaDestion+#0#0);
fFlags := FOF_NOCONFIRMATION or
FOF_SILENT or FOF_ALLOWUNDO;
end;
Result := (ShFileOperation(FileOp) = 0);
end;
function MoverCarpeta(const carpetaOrigen,
carpetaDestion: string) : boolean;
var
FileOp: TSHFileOpStruct;
begin
FillChar(FileOp, SizeOf(FileOp), #0);
with FileOp do
begin
wFunc := FO_MOVE;
Wnd := GetDesktopWindow;
pTo := PChar(carpetaOrigen);
pFrom := PChar(carpetaDestion+#0#0);
fFlags := FOF_NOCONFIRMATION or
FOF_SILENT or FOF_ALLOWUNDO;
end;
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Result := (ShFileOperation(FileOp) = 0);


end;
function BorrarCarpeta(const rutaCarpeta: string) : boolean;
var
FileOp: TSHFileOpStruct;
begin
FillChar(FileOp, SizeOf(FileOp), #0);
with FileOp do
begin
wFunc := FO_DELETE;
Wnd := GetDesktopWindow;
pFrom := PChar(rutaCarpeta+#0#0);
fFlags := FOF_NOCONFIRMATION or
FOF_SILENT or FOF_ALLOWUNDO;
end;
Result := (ShFileOperation(FileOp) = 0);
end;

#2

19-06-2006

Registrado: jun 2006


Ubicacin: Las Tunas, C uba
Posts: 1

Ren Luis
Registrado

El cdigo est muy bin, pero a la hora de copiar una carpeta y su contenido a un path con el mismo nombre, se
demora mucho en sobreescribirla y adems, debera tener un Progressbar que te indique si la copia se efectua o no.

#3

28-04-2010

Caones
open in browser PRO
version

Registrado: ene 2007


Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Caones

Ubicacin: La Paz Entre Ros


Posts: 347

Miembro

Hola. La verdad que entiendo poco lo que hace la funcin, pero en elgn punto puedo saber el tamao de la
carpeta?
Gracias.

#4

31-05-2011

Registrado: feb 2008


Posts: 97

juank1971
Miembro

Hay un error en copiar estan invertidos pFrom Con pTo


donde dice en CopiarCarpeta
[delphi]
pTo := PChar(carpetaOrigen);
pFrom := PChar(carpetaDestion+#0#0);
[delphi]
debe decir
[delphi]
pFrom := PChar(carpetaOrigen);
pTo := PChar(carpetaDestion+#0#0);
[delphi]

#5

30-05-2013

Registrado: ago 2007


Posts: 569

ingabraham
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

ingabraham

Posts: 569

Miembro

muy buen codigo, felicitaciones, muy util.


__________________
Ensear es la virtud de un sabio.

#6

Hace 1 Da

Registrado: mar 2015


Posts: 11

jbecerra
Miembro

Hola...como va? una consulta.. que es "GetDesktopWindow"?

#7

Hace 1 Da

Registrado: may 2003


Ubicacin: C olombia
Posts: 6.482

jhonny
Jhonny Surez

C ita:

Empezado por jbecerra


Hola...como va? una consulta.. que es "GetDesktopWindow"?
Simplemente es el cdigo "Handle" del Desktop de Windows.
__________________
Lecciones de mi Madre. Tema: modificacin del comportamiento, "Par de actuar como tu padre!"
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Tema A nterior | Prximo Tema

Normas de Publicacin
no
no
no
no

Puedes
Puedes
Puedes
Puedes

crear nuevos temas


responder a temas
adjuntar archivos
editar tus mensajes

El cdigo vB est habilitado


Las caritas estn habilitado
C digo [IMG] est habilitado
C digo HTML est deshabilitado

Saltar a Foro
Trucos

Ir

La franja horaria es GMT +2. Ahora son las 04:33:44.

-- Espaol 3.6.7

Contactar con Nosotros - Club Delphi - A rchivo - Top

Powered by vBulletin Version 3.6.8


C opyright 2000 - 2015, Jelsoft Enterprises Ltd.
Traduccin al castellano por el equipo de moderadores del C lub Delphi
Inicio | Contacto | Foros | Noticias | Trabajo
Copyright 1996-2007 Club Delphi

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Potrebbero piacerti anche