• Jueves 14 de Noviembre de 2024, 23:17

Autor Tema:  Copiar Archivos  (Leído 1510 veces)

Pyroman

  • Miembro activo
  • **
  • Mensajes: 28
    • Ver Perfil
Copiar Archivos
« en: Miércoles 22 de Septiembre de 2004, 22:35 »
0
Holas, quisiera saber si alguien sabe como copiar archivos de una carpeta a otra durante la ejecucion de un programa al pinchar un boton.Gracias ;)

_Viktor

  • Miembro MUY activo
  • ***
  • Mensajes: 271
    • Ver Perfil
    • http://AyudaCBuilder.foros.st
Re: Copiar Archivos
« Respuesta #1 en: Jueves 23 de Septiembre de 2004, 20:17 »
0
holas, prueba esto:

Código: Text
  1. void __fastcall CopiarCarpeta(AnsiString Origen, AnsiString Destino)
  2. {
  3.     SHFILEOPSTRUCT sfos = {0,};
  4.     ZeroMemory(&sfos, sizeof(sfos));
  5.     sfos.hwnd = NULL;
  6.     sfos.wFunc = FO_COPY;
  7.  
  8.       // Añadimos estas dos líneas
  9.       Origen.SetLength(Origen.Length()+1);
  10.       Origen[Origen.Length()] = '\0';
  11.  
  12.     sfos.pFrom = Origen.c_str();
  13.     sfos.pTo = Destino.c_str();
  14.     sfos.fFlags = FOF_NOCONFIRMMKDIR | FOF_NOCONFIRMATION;
  15.     SHFileOperation(&sfos);
  16. }
  17.  
  18. void __fastcall TForm1::Button1Click(TObject *Sender)
  19. {
  20.    CopiarCarpeta("c:\\dir_origen", "d:\\dir_destino");
  21.   
  22. }
  23.  

Saludos!
_Viktor _Yañez_
"Ser inteligente no es ser mas, solo equivocarse menos y no usar visual basic"

http]

Pyroman

  • Miembro activo
  • **
  • Mensajes: 28
    • Ver Perfil
Re: Copiar Archivos
« Respuesta #2 en: Lunes 27 de Septiembre de 2004, 20:25 »
0
Ok muchas gracias,me ha funcionado.
Relacionado con lo anterior, estoy haciendo 1 aplicacion que maneja una base de datos Paradox, dicha bd la almaceno en una carpeta y quiero que mi aplicacion haga una copia de la misma en otro directorio(una especie de copia de seguridad) y tb que restaure la bd desde distintas copias pero me da un error de violacion de acceso. He provado desactivando la sesion, cerrando la bd y el componente BatchMove pero siempre el mismo error.¿Se puede hacer lo que pretendo?
Cada copia la guardo con un alias distinto para poder acceder pero no hay manera... <_<