Lenguaje de programación Borland Delphi
Os mostramos una función en Delphi que recrea una estructura de carpetas y subcarpetas. Por ejemplo, pasándole como parámetro una lista de carpetas:
c:\carpetas\alonso\documentos
f:\datos\contabilidad\contaplus
c:\datos\facturación\facturaplus\bd
Es capaz de crearla si no existe, en el primer caso, creará en la unidad C la carpeta "carpetas", dentro de ésta creará "alonso" y dentro de esta creará la carpeta "documentos".
function recrearEstructuraCarpetas (lsCarpetas : TStringList;
rutaOrigen : string) : string;
var
i : integer;
carpetaNueva : string;
carpetaAnterior : string;
begin
carpetaAnterior := rutaOrigen;
for i := 0 to lsCarpetas.Count - 1 do
begin
carpetaNueva := carpetaAnterior + '\' + lsCarpetas[i];
if not DirectoryExists(carpetaNueva) then
MkDir(carpetaNueva);
carpetaAnterior := carpetaNueva;
end;
result := carpetaAnterior;
end;
Un ejemplo de uso de esta función Delphi:
if FileExists(carpetaOrigen) then
begin
listaCarp := separaCarpetas(ExtractFilePath(carpetaOrigen));
carpetaDestinoCompleta :=
recrearEstructuraCarpetas (listaCarp, carpetaDestino);
copiaFicheros (carpetaOrigen, carpetaDestinoCompleta, '*.*',
not opReemplazarDestino.Checked, tipoLog, true);
end
Donde:
var
listaCarp : TStringList;
carpetaDestinoCompleta, carpetaOrigen : string;
Publicado el: 2008-02-26