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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-10-2003
doverzhoff doverzhoff is offline
Miembro
 
Registrado: ago 2003
Posts: 20
Poder: 0
doverzhoff Va por buen camino
Copiar carpeta(s) con ProgressBar

Hola a todos:
Gracias por su atencion en mis anteriores preguntas me han dervido mucho sus respuestas, el motivo por el vuelvo a solicitar su ayuda es la siguiente:
Estoy diseñando un programa para que ma haga respaldos de informacion de una carpeta a otra, esta operacion la hago con ShFileOpStruct, necesito saber si es una buena forma de hacerlo, y de ser buena como puedo hacer para indicar con una ProgressBar cuanto lleva del total, aparte si son varias carpetas que la misma ProgressBar sea para el total de todas las carpetas; se que con ShFileOpStruct puede mostrar una ventana de windows con el progreso de la operacion, pero no es lo que necesito, pero muestra el progreso de la carpeta que se esta copiando pero no del total.

Espero haberme explicado y ojalá me puedan ayudar.
Gracias.

dvz
Responder Con Cita
  #2  
Antiguo 27-10-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Puedes usar CopyFileEx, que utiliza un CallBack para poder generar el progressbar a mano, y calcular el tamaño total de todos los archivos a copiar, para definir el valor máximo del progress.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 27-10-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Mírate esta función:

Copia ficheros con Progreso.


Código:
procedure CopyFiles(const Source,Destination: String);
var
SHFileOpStruct : TSHFileOpStruct;
begin
if FileExists(Source) then
begin
FillChar(SHFileOpStruct,SizeOf(TSHFileOpStruct),#0);
    with SHFileOpStruct do begin
Wnd:=Application.Handle;
      wFunc:=FO_COPY;
      fFlags:=FOF_ALLOWUNDO;
      hNameMappings:=nil;
      pFrom:=PChar(Source+#0+#0);
      pTo:=PChar(Destination+#0+#0);
    end;
ShFileOperation(SHFileOpStruct);
 end;
end;
Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #4  
Antiguo 27-12-2011
koalasoft koalasoft is offline
Miembro
 
Registrado: oct 2004
Ubicación: Tenosique Tabasco
Posts: 86
Poder: 20
koalasoft Va por buen camino
Cita:
Empezado por marcoszorrilla Ver Mensaje
Mírate esta función:

Copia ficheros con Progreso.


Código:
procedure CopyFiles(const Source,Destination: String);
var
SHFileOpStruct : TSHFileOpStruct;
begin
if FileExists(Source) then
begin
FillChar(SHFileOpStruct,SizeOf(TSHFileOpStruct),#0);
    with SHFileOpStruct do begin
Wnd:=Application.Handle;
      wFunc:=FO_COPY;
      fFlags:=FOF_ALLOWUNDO;
      hNameMappings:=nil;
      pFrom:=PChar(Source+#0+#0);
      pTo:=PChar(Destination+#0+#0);
    end;
ShFileOperation(SHFileOpStruct);
 end;
end;
Un Saludo.
Cómo seria un ejemplo para poder usar este procedimiento? y cuando dices "con progreso" te refieres a una barra de progreso o como? .. igual si funciona para varios archivos por asi decirlo, todos los archivos con la extensión .dbf ..

Saludos !!
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 16:53:48.


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