Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-01-2007
Avatar de hvelascos
hvelascos hvelascos is offline
Miembro
 
Registrado: ene 2007
Posts: 18
Poder: 0
hvelascos Va por buen camino
problemas en sistema de archivos vfat

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

Última edición por hvelascos fecha: 17-01-2007 a las 21:34:24.
Responder Con Cita
  #2  
Antiguo 17-01-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Yo cambiaría esta instrucción
Código Delphi [-]
if (Search.Attr = faArchive) and  (Search.Attr<>faDirectory) then
por esta otra
Código Delphi [-]
if (Search.Attr and faDirectory) = 0 then
Responder Con Cita
  #3  
Antiguo 17-01-2007
Avatar de hvelascos
hvelascos hvelascos is offline
Miembro
 
Registrado: ene 2007
Posts: 18
Poder: 0
hvelascos Va por buen camino
gracias por tu respuesta, funcionó bien.
saludos

Última edición por hvelascos fecha: 17-01-2007 a las 22:16:45.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problemas con archivos bloqueados javicho_villa Varios 10 25-10-2006 18:50:12
Problemas Minimizar icono barra sistema serhasae Varios 0 30-04-2006 15:04:49
Microsoft logra la propiedad del sistema de archivos FAT Sasuke_Cub Noticias 2 13-01-2006 16:09:24
Conceden a Microsoft la patente por VFAT marcoszorrilla Noticias 0 12-01-2006 22:18:12
Problemas en sistema JamesBond_Mx Varios 1 25-03-2004 23:20:20


La franja horaria es GMT +2. Ahora son las 01:10:41.


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
Copyright 1996-2007 Club Delphi