Ver Mensaje Individual
  #16  
Antiguo 03-08-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Examina lo que significa la llamada a FindFirst.

FindFirst(Dir, faDirectory, Nombre);

busca los directorios (faDirectory) cuyo nombre corresponda a Dir. Si el directorio existe, sus datos se colocan en la variable Nombre y de aquí que lo que obtienes es el nombre del directorio que pasas en Dir.

FindFirst(Dir, faArchive, Nombre);

busca los archivos (faArchive) cuyo nombre corresponda a Dir. Si Dir es, por ejemplo, 'C:\Temp', FindFirst busca un archivo cuyo nombre sea 'C:\Temp', que no existe y por ello no te devuelve nada.

El punto está en la frase "cuyo nombre corresponda a". El primer parámetro de FindFirst puede incluir comodines. Así que lo más adecuado sería:

FindFirst(Dir + '\*.*', faArchive, Nombre);

De esta manera, si como en el ejemplo Dir es 'C:\Temp', FindFirst buscará los archivos cuyo nombre corresponda a 'C:\Temp\*.*', es decir, cualquier archivo dentro del directorio C:\Temp y pondrá en Nombre los datos del primero que encuentre o devolverá <> 0 si no hay ninguno.

Para cerrar la búsqueda usa FindClose.

// Saludos
Responder Con Cita