Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Obtener archivos de un directorio sin extensión (https://www.clubdelphi.com/foros/showthread.php?t=57715)

esocrates 25-06-2008 19:21:06

Obtener archivos de un directorio sin extensión
 
En este hilo
http://www.clubdelphi.com/foros/showthread.php?t=10165
se ha discutido el procedimiento para recorrer los archivos de un directorio y recuperar sus nombres en memo [por ej.].
Necesito obtener sólo los nombres de los archivos, sin el path y sin la extensión. [si es c:\temp\cartas.txt, obtener cartas]
Si esto es posible ¿Cómo hacerlo?
Muchas gracias
Un saludo

dec 25-06-2008 19:38:35

Hola,

De memoria (*):

Código Delphi [-]
uses
  SysUtils;

function DirectoryName(filePath: string) : string;
begin
  result := ChangeFileExt(ExtractFileName(filePath), '');
end;

(*) Igual ni compila... :D :D :D

egostar 25-06-2008 19:40:04

Como hoy estoy se está festejando el cumpleaños del perro de egostar :D:D:D

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  FindFirst('c:\temp\cartas.txt', faAnyFile, SearchRec);
  Label1.Caption := copy(ExtractFileName(SearchRec.Name), 1,
      pos(ExtractFileExt(SearchRec.Name), ExtractFileName(Searchrec.Name)) - 1);
end;

Salud OS

egostar 25-06-2008 19:40:44

oops, amigo dec, yo no me sabia esa función :o

Salud OS

dec 25-06-2008 19:49:41

Hola,

Cita:

Empezado por egostar
oops, amigo dec, yo no me sabia esa función :o

Bueno, pues ya la sabes. :) ;)

esocrates 25-06-2008 20:30:54

Gracias por responder.
En realidad no sé cómo implementar el código que Uds.me aportan, es este que es el que uso:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);

 procedure RastreaDir(Dir: string);
 var
    FileSearch:  TSearchRec;
 begin
    chDir ('c:\temp\Cartas');
    FindFirst ('*.*', faDirectory, FileSearch);

    while FindNext(FileSearch)=0 do
    begin
      if (FileSearch.Attr = faDirectory) then
      begin
        if (FileSearch.Name<>'..') then RastreaDir(Dir+FileSearch.Name+'\');
      end else
        
        
        Memo1.Lines.Add(FileSearch.Name);
    end;
    FindClose(FileSearch);
 end;

begin
  RastreaDir('c:\Temp\Cartas\');
 end;

Muchas gracias
Un saludo

egostar 25-06-2008 20:33:43

Hola

Código Delphi [-]
        
        {Pon aqui lo que quieras hacer con los ficheros encontrados}
        {Put here anything to make with the find files}
        Memo1.Lines.Add(ChangeFileExt(FileSearch.Name, ''));

Salud OS

esocrates 26-06-2008 00:04:27

Cita:

Empezado por egostar (Mensaje 296167)
Hola

Código Delphi [-]
        
        {Pon aqui lo que quieras hacer con los ficheros encontrados}
        {Put here anything to make with the find files}
        Memo1.Lines.Add(ChangeFileExt(FileSearch.Name, ''));

Salud OS

Muchas gracias egostar y dec. Funciona perfectamente.
Un saludo


La franja horaria es GMT +2. Ahora son las 23:09:44.

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