Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Como copiar todo el contenido de un directorio? (https://www.clubdelphi.com/foros/showthread.php?t=29796)

JuanErasmo 01-02-2006 18:16:39

Como copiar todo el contenido de un directorio?
 
Buenas tardes amigos.
Necesito cortar el contenido de un directorio ( que incluye subdirectorios )
y ponerlo en una nueva ubicación.
Adicionalmente renombrar la carpeta.
Como puedo hacerlo con Builder?
Gracisa por su respuesta.

dec 01-02-2006 19:21:31

Hola,

Ignoro cuánto te costaría traducir el siguiente código Delphi a C++ Builder, pero, tal vez pueda servirte para empezar:

Código Delphi [-]
uses
  Windows, ShlObj, ShellApi;

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;
  Result := (ShFileOperation(FileOp) = 0);
end;

JuanErasmo 01-02-2006 19:46:40

Gracias dec, lo intentare...
Sabes como renombrar las nuevas carpetas?
Necesito cambiarle el nombre a la nueva carpeta....
Gracias

dec 01-02-2006 19:53:35

Hola,

Cita:

Necesito cambiarle el nombre a la nueva carpeta....
Si no recuerdo mal en la unidad "SysUtils" hay alguna función "RenameFolder" o "RemaneDirectory"... echa un vistazo a ver, ahora mismo no podría confirmártelo.

JuanErasmo 01-02-2006 20:03:02

Buenas tardes.
Alguien sabe cual es el equivalente de # de Delphi en Builder?
ah y de la @ tambien....
Lo que pasa es que el codigo anterior lo trae y no he podido encontrar el equivalente.....
Gracias.

JuanErasmo 01-02-2006 20:18:19

No se puede copiar "directorio" la carpeta de destino es la misma que la carpeta de origen .
Me esta sacnado ese error pero no son iguales....
lo estoy haciendo asi:
Código:


 SHFILEOPSTRUCTA *F = new SHFILEOPSTRUCTA;
 String sOrigen, sDestino; // : String;
  AnsiString Origen,Destino;
  Origen="c:\\o\\a\\*.*";
  Destino= "c:\\medicalimage\\dinamica\\imagenes" ;
  int Result;
 Result = 0;
  // sOrigen = Origen + #0;
  // sDestino = Destino + #0;
 // with F do
 // begin
        F->hwnd  = Application->Handle;
        F->wFunc = FO_COPY;
  // F.pFrom = sOrigen[1];
  // F.pTo  = sDestino[1];
        F->pFrom =  PChar("c:\\o\\a\\*.*");
        F->pTo  =  PChar("c:\\dinamica\\imagenes") ;
      F->fFlags = FOF_ALLOWUNDO | FOF_NOCONFIRMATION ;
  // end;
      SHFileOperationA(F);



La franja horaria es GMT +2. Ahora son las 08:44:23.

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