Ver Mensaje Individual
  #4  
Antiguo 03-10-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
tan solo una cosita, dice arriba del todo que se puede mostrar el progreso de la copia, me gustaría hacer eso, he mirado la ayuda de delphi y no entiendo nada... :-( alguien me puede decir como se hace eso?
Siguiendo el ejemplo que mencionas, se trata de jugar con las banderas (flags) en el miembro "fFlags" de la estructura "TShFileOpStruct". En la ayuda de Win32 está bastante bien explicado. Prueba con algo así:

Código Delphi [-]
 procedure TForm1.Button1Click(Sender: TObject);

   function CopiaTodo(Origen,Destino : String) :
   LongInt;
   var
     F : TShFileOpStruct;
     sOrigen, sDestino : String;
   begin
     Result := 0;
     sOrigen := Origen + #0;
     sDestino := Destino + #0;

     with F do
     begin
       Wnd   := Application.Handle;
       wFunc := FO_COPY;
       pFrom := @sOrigen[1];
       pTo   := @sDestino[1];
       fFlags := FOF_ALLOWUNDO or FOF_NOCONFIRMATION or FOF_SIMPLEPROGRESS;
     end;

     Result := ShFileOperation(F);
 end;

 begin
   CopiaTodo('c:\Delphi3\*.*','c:\kk');
 end;

Cita:
Por cierto, la copia de seguridad la quiero hacer en pendrive (origen y destino en el mismo usb) como lo puedo hacer? ya que en un ordenador la ruta sera por ejemplo:

'G:\Documentos' y si meto el mismo pendrive en otro ordenador puede ser: 'D:\Documentos' y claro, error!!!! como puedo solucionar esto? gracias.
¿Tu aplicación se ejecutará en el PenDrive? Si es así, puedes usar funciones como "GetDriveName" para averiguar la unidad ruta en que se encuentra tu publicación y a partir de ahí conformar la ruta que necesites.

Si tu aplicación no se ejecuta en el PenDrive... ahora mismo sólo se me ocurre lo más obvio: preguntar al usuario (¿hay usuario?) por la ruta en que quiere que se realize la copia de seguridad, comprobar su existencia y proceder.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita