Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Leer archivo sin saber el nombre (https://www.clubdelphi.com/foros/showthread.php?t=91987)

Copernico 20-06-2017 09:24:39

Leer archivo sin saber el nombre
 
Buenos días.

Bueno el nombre del tema creo que lo deja claro. En una carpeta me van dejando periodicamente un fichero de texto (.txt) con nombres diferentes cada vez. El problema es que nunca conoceré el nombre de ese archivo, por lo que hasta donde yo llego, no se leer ese archivo sin conocer el nombre.

Tengo el siguiente trozo de código:

Cita:


procedure TfrVenta.btCargarBalanzaClick(Sender: TObject);

var f : TextFile;

begin

AssignFile(f, ExtractFilePath( Application.ExeName ) + 'NombreDeArchivo');

if FileExists(ExtractFilePath( Application.ExeName ) + 'NombreDeArchivo') then
begin
try

Reset(f);

[...]


Con el siguiente código quiero asignar el archivo (NombreDeArchivo) a la variable f, pero no se como puedo hacer para poder asignar un archivo sin conocer el nombre. Me bastaría con asignarle aquel que tenga extensión .txt, porque es el único archivo que voy a tener con dicha extensión.

Muchas gracias de antemano.

Un saludo.

Ñuño Martínez 20-06-2017 09:28:36

Puedes hacerlo preguntándole al sistema operativo qué archivos hay en el directorio. Para esto tienes que usar FindFirst, FindNext y FindClose.

Aquí tienes un ejemplo: http://www.delphibasics.co.uk/RTL.asp?Name=FindFirst

Copernico 20-06-2017 09:45:47

Perfecto ÑuÑo, muchas gracias por tu atención y celeridad. Ha funcionado a la perfección.

Neftali [Germán.Estévez] 20-06-2017 13:51:23

También puedes usar este truco de [DEC] que es de hace tiempo, pero funciona muy bien:
http://www.clubdelphi.com/foros/showthread.php?t=80413

Que ya te busca todos los ficheros con una determinada extensión de un directorio y te los almacena en un TStrings. Y que usa las funciones que te ha comentado Ñuño.

Copernico 20-06-2017 16:02:33

Genial!! muy buenos ejemplos!!

Muchas gracias Neftalí.


La franja horaria es GMT +2. Ahora son las 20:29:10.

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