Hola a todos.
Escribo para haber si me echan una mano con este procedimiento de delphi que copia directorios completos,
Código Delphi
[-]
procedure CopyDirectory(Origen, Desti : string);
var
Files : integer;
FOrigen, FDesti,traspasa : string;
ok : boolean;
Search : TSearchRec;
pos:Real;
begin
Files := FindFirst(Origen + '\*.*', faAnyFile, Search);
while Files = 0 do
begin
if (Search.Attr = faArchive) and (Search.Attr<>faDirectory) then
begin
FOrigen := Origen + '\' + Search.Name;
FDesti := Desti + '\' + Search.Name;
ok := CopyFile(PChar(FOrigen),PChar(FDesti),false);
if not ok then
ShowMessage('No se pudo copiar el fichero: '+ Search.Name)
end
else
begin
if (Search.Name <> '.') and (Search.Name <> '..') then
begin
ok := CreateDir(Desti + '\' + Search.Name);
if not ok then
ShowMessage('No se pudo crear el directorio: '+Search.Name)
else
CopyDirectory(Origen+'\'+Search.Name,Desti+'\'+Search.Name);
end;
end;
end;
Files := FindNext(Search);
end;
FindClose(Search);
end;
end;
esta función funciona a la perfección cuando la tengo corriendo desde el disco duro de la pc, pero cuando ésta aplicación la ejecuto desde un cd no funciona
, nada mas lo que hace. es en vez de copiar los archivos los remplaza por un monton de carpetas con el nombre del archivos.
Por ello me preguntaba si faArchive o la caracteristica de los ficheros en sistema de archivos de un cd es diferente a la de un disco duro, o es un error del algoritmo que acabo de poner, bueno si se me paso un ; es porque se me paso al momento de transcribir el texto.
Gracias, espero que me haya explicado bien.
saludos