PDA

Ver la Versión Completa : Último fichero modificado ?


spab
29-11-2005, 11:22:38
¿Cómo puedo saber el último fichero modificado/creado de un directorio?
Gracias.

dec
29-11-2005, 11:38:14
Hola,

Utiliza las funciones "FindFirst", "FindNext", etc., para listar los archivos del directorio de marras: encontrarás información sobre esto a poco que realizes una búsqueda (http://www.clubdelphi.com/foros/search.php?) en estos Foros. Una vez tengas la lista de archivos que hay en el directorio que te interesa, ya podrás utilizar la función (por ejemplo) "GetFileTime" (digo por ejemplo, porque acaso exista otra u otras funciones para realizar esta tarea) para obtener la fecha de creación/modificación de los archivos. Una vez tengas las distintas fechas de los ficheros... es cuestión de comparar dichas fechas para averiguar cuál es la más actual, esto es, cuál es el fichero que se modificó/creó en último lugar de los que se encuentran en el directorio. Ponte con ello. Si necesitas ayuda ya sabes dónde estamos. ;)

Lepe
29-11-2005, 17:29:31
Una vez que hayas encontrado todos los archivos, el propio TSearchRec que devuelve FindFirst / FindNext, tiene un campo de tipo Twin32FindData con los siguientes campos:
7

typedef struct _WIN32_FIND_DATA { // wfd
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
DWORD dwReserved0;
DWORD dwReserved1;
TCHAR cFileName[ MAX_PATH ];
TCHAR cAlternateFileName[ 14 ];
} WIN32_FIND_DATA;



Ahí tienes las fechas que necesitas.

saludos

dec
30-11-2005, 03:36:33
Hola,

Buena anotación Lepe. ;)