Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2014-01

Recorer archivos de una carpeta

11 messages · 5 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Ismael L. Donis Garcia

Necesito recorrer una carpeta y leer los nombres de los archivos con una extensi�n determinada.

Alguien me podr�a explicar como lograr esto en Lazarus, o al menos orientarme de alguna documentaci�n que explique como poder lograr realizar esto en Lazarus.

Toda ayuda sobre el tema ser� bien venida.

Desde ya Gracias
========
| ISMAEL |
========
------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20140122/aa89c208/attachment.html>

Reply by email

Rubén Ibáñez
to Ismael L. Donis Garcia

Ismael:
Me parece que el modo m�s sencillo de hacer lo que dices es usar OpenDialog, con la propiedad Filter puesta con la extensi�n que necesitas. unit Unit1;

{$mode objfpc}{$H+}
interface
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
  { TForm1 }
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    SelectDirectoryDialog1: TSelectDirectoryDialog;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.lfm}

{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);
begin
     OpenDialog1.Execute;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
     SelectDirectoryDialog1.Execute;
end;
end.

Y en el inspector de objetos puedes poner la propiedad Filter con *.ext, donde ext es la extensi�n deseada.
Ojal� te sirva.
Rub�n.

El 22 de enero de 2014, 10:02, Ismael L. Donis Garcia <ismael en citricos.co.cu

Show quoted text 22 lines
escribi�: Necesito recorrer una carpeta y leer los nombres de los archivos con una extensi�n determinada. Alguien me podr�a explicar como lograr esto en Lazarus, o al menos orientarme de alguna documentaci�n que explique como poder lograr realizar esto en Lazarus. Toda ayuda sobre el tema ser� bien venida. Desde ya Gracias ======== | ISMAEL | ======== _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20140122/4803a5aa/attachment.html>

Reply by email

Ismael L. Donis Garcia
to Rubén Ibáñez

Me da la impresi�n que no me sirve para lo que busco.

Busco por ejemplo entrar a la carpeta mis documentos y recorrer todos los archivos existentes y obtener los nombres de los archivos .doc

No quiero nada visual, solo recorrer la carpeta y obtener los nombre de los archivos seg�n el filtro puesto.

Por ejemplo decir b�scame en la carpeta xxx los archivos .txt o en la carpeta yyy los archivos .exe

Saludos Reiterados
========
| ISMAEL |
========

Earlier message 82 lines
----- Original Message ----- From: Rub�n Ib��ez To: Spanish version of Lazarus List Sent: Wednesday, January 22, 2014 10:06 AM Subject: Re: [Lazarus-es] Recorer archivos de una carpeta Ismael: Me parece que el modo m�s sencillo de hacer lo que dices es usar OpenDialog, con la propiedad Filter puesta con la extensi�n que necesitas. unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls; type { TForm1 } TForm1 = class(TForm) Button1: TButton; Button2: TButton; OpenDialog1: TOpenDialog; SaveDialog1: TSaveDialog; SelectDirectoryDialog1: TSelectDirectoryDialog; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { private declarations } public { public declarations } end; var Form1: TForm1; implementation {$R *.lfm} { TForm1 } procedure TForm1.Button1Click(Sender: TObject); begin OpenDialog1.Execute; end; procedure TForm1.Button2Click(Sender: TObject); begin SelectDirectoryDialog1.Execute; end; end. Y en el inspector de objetos puedes poner la propiedad Filter con *.ext, donde ext es la extensi�n deseada. Ojal� te sirva. Rub�n. El 22 de enero de 2014, 10:02, Ismael L. Donis Garcia <ismael en citricos.co.cu> escribi�: Necesito recorrer una carpeta y leer los nombres de los archivos con una extensi�n determinada. Alguien me podr�a explicar como lograr esto en Lazarus, o al menos orientarme de alguna documentaci�n que explique como poder lograr realizar esto en Lazarus. Toda ayuda sobre el tema ser� bien venida. Desde ya Gracias ======== | ISMAEL | ========

Reply by email

Maxi
to Ismael L. Donis Garcia

Busca de filesearch Ahora no tengo a mano para enviarte ejemplos desde el celular
El 22/01/2014 13:34, "Ismael L. Donis Garcia" <ismael en citricos.co.cu> escribi�:

Show quoted text 117 lines
Me da la impresi�n que no me sirve para lo que busco. Busco por ejemplo entrar a la carpeta mis documentos y recorrer todos los archivos existentes y obtener los nombres de los archivos .doc No quiero nada visual, solo recorrer la carpeta y obtener los nombre de los archivos seg�n el filtro puesto. Por ejemplo decir b�scame en la carpeta xxx los archivos .txt o en la carpeta yyy los archivos .exe Saludos Reiterados ======== | ISMAEL | ======== ----- Original Message ----- *From:* Rub�n Ib��ez <ruben.mariano.ibanez en gmail.com> *To:* Spanish version of Lazarus List<lazarus-es en lists.lazarus.freepascal.org> *Sent:* Wednesday, January 22, 2014 10:06 AM *Subject:* Re: [Lazarus-es] Recorer archivos de una carpeta Ismael: Me parece que el modo m�s sencillo de hacer lo que dices es usar OpenDialog, con la propiedad Filter puesta con la extensi�n que necesitas. unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls; type { TForm1 } TForm1 = class(TForm) Button1: TButton; Button2: TButton; OpenDialog1: TOpenDialog; SaveDialog1: TSaveDialog; SelectDirectoryDialog1: TSelectDirectoryDialog; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { private declarations } public { public declarations } end; var Form1: TForm1; implementation {$R *.lfm} { TForm1 } procedure TForm1.Button1Click(Sender: TObject); begin OpenDialog1.Execute; end; procedure TForm1.Button2Click(Sender: TObject); begin SelectDirectoryDialog1.Execute; end; end. Y en el inspector de objetos puedes poner la propiedad Filter con *.ext, donde ext es la extensi�n deseada. Ojal� te sirva. Rub�n. El 22 de enero de 2014, 10:02, Ismael L. Donis Garcia < ismael en citricos.co.cu> escribi�: > Necesito recorrer una carpeta y leer los nombres de los archivos con > una extensi�n determinada. > > Alguien me podr�a explicar como lograr esto en Lazarus, o al menos > orientarme de alguna documentaci�n que explique como poder lograr realizar > esto en Lazarus. > > Toda ayuda sobre el tema ser� bien venida. > > Desde ya Gracias > ======== > | ISMAEL | > ======== > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > ------------------------------ _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20140122/3d3d21f4/attachment-0001.html>

Reply by email

Martin Gomez
to Maxi

2014/1/22 Maxi <maximiliano.duarte en gmail.com>

Busca de filesearch Ahora no tengo a mano para enviarte ejemplos desde el celular

?Es algo as� como FileFindFirst y FileFindNext, utilizando en el "next" la estructura de b�squeda creada en el findfirst.
?
http://www.freepascal.org/docs-html/rtl/sysutils/findfirst.html

aqui el ejemplo de la web:

Program Example43;
{ This program demonstrates the FindFirst function }
Uses SysUtils;
Var Info : TSearchRec;
    Count : Longint;
Begin
  Count:=0;
  If FindFirst ('*',faAnyFile and faDirectory,Info)=0 then
    begin
    Repeat
      Inc(Count);
      With Info do
        begin
        If (Attr and faDirectory) = faDirectory then
          Write('Dir : ');
        Writeln (Name:40,Size:15);
        end;
    Until FindNext(info)0;
    end;
  FindClose(Info);
  Writeln ('Finished search. Found ',Count,' matches');
End.

?Lo he utilizado muchas veces y funciona de maravillas.?

Try not to become a man of success but rather to become a man of value. *Albert Einstein* ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20140122/4e41bbe5/attachment.html>

Reply by email

Martin Gomez
to Martin Gomez

Ten en cuenta que el ejemplo s�lo hace el Write en pantalla si es una carpeta (faDirectory), en la ayuda de Lazarus est�n los valores para buscar archivos, la extensi�n la defines en el FindFirst, poniendo '*.doc?' (el comod�n ? es para los .docx)

Martin Gomez wrote 45 lines
2014/1/22 Maxi <maximiliano.duarte en gmail.com> > Busca de filesearch Ahora no tengo a mano para enviarte ejemplos desde el > celular ?Es algo as� como FileFindFirst y FileFindNext, utilizando en el "next" la estructura de b�squeda creada en el findfirst. ? http://www.freepascal.org/docs-html/rtl/sysutils/findfirst.html aqui el ejemplo de la web: Program Example43; { This program demonstrates the FindFirst function } Uses SysUtils; Var Info : TSearchRec; Count : Longint; Begin Count:=0; If FindFirst ('*',faAnyFile and faDirectory,Info)=0 then begin Repeat Inc(Count); With Info do begin If (Attr and faDirectory) = faDirectory then Write('Dir : '); Writeln (Name:40,Size:15); end; Until FindNext(info)0; end; FindClose(Info); Writeln ('Finished search. Found ',Count,' matches'); End. ?Lo he utilizado muchas veces y funciona de maravillas.? -- Try not to become a man of success but rather to become a man of value. *Albert Einstein*
Try not to become a man of success but rather to become a man of value. *Albert Einstein* ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20140122/473d0d48/attachment.html>

Reply by email

Rubén Ibáñez
to Martin Gomez

Tambi�n me parece que puede servir la funci�n FSearch:

http://www.freepascal.org/docs-html/rtl/unix/fsearch.html

saludos.

El 22 de enero de 2014, 14:33, Martin Gomez <mmgomez en gmail.com> escribi�:

Show quoted text 66 lines
Ten en cuenta que el ejemplo s�lo hace el Write en pantalla si es una carpeta (faDirectory), en la ayuda de Lazarus est�n los valores para buscar archivos, la extensi�n la defines en el FindFirst, poniendo '*.doc?' (el comod�n ? es para los .docx) On Wed, Jan 22, 2014 at 3:30 PM, Martin Gomez <mmgomez en gmail.com> wrote: > > 2014/1/22 Maxi <maximiliano.duarte en gmail.com> > >> Busca de filesearch Ahora no tengo a mano para enviarte ejemplos desde >> el celular > > > Es algo as� como FileFindFirst y FileFindNext, utilizando en el "next" > la estructura de b�squeda creada en el findfirst. > > http://www.freepascal.org/docs-html/rtl/sysutils/findfirst.html > > aqui el ejemplo de la web: > > Program Example43; > { This program demonstrates the FindFirst function } > Uses SysUtils; > Var Info : TSearchRec; > Count : Longint; > Begin > Count:=0; > If FindFirst ('*',faAnyFile and faDirectory,Info)=0 then > begin > Repeat > Inc(Count); > With Info do > begin > If (Attr and faDirectory) = faDirectory then > Write('Dir : '); > Writeln (Name:40,Size:15); > end; > Until FindNext(info)0; > end; > FindClose(Info); > Writeln ('Finished search. Found ',Count,' matches'); > End. > > > Lo he utilizado muchas veces y funciona de maravillas. > > > -- > Try not to become a man of success but rather to become a man of value. *Albert > Einstein* > -- Try not to become a man of success but rather to become a man of value. *Albert Einstein* _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20140122/48e72e2f/attachment-0001.html>

Reply by email

Jesus Reyes
to Ismael L. Donis Garcia: Necesito recorrer una carpeta y leer los nombres de los archivos con una extensi�n…

El Mi�rcoles, 22 de enero, 2014 8:32:29, Ismael L. Donis Garcia <ismael en citricos.co.cu> escribi�:

Necesito recorrer una carpeta y leer los nombres de los archivos con una extensi�n determinada.

� Alguien me podr�a explicar como lograr esto en

Lazarus, o al menos orientarme de alguna documentaci�n que explique como poder lograr realizar esto en Lazarus.

� Toda ayuda sobre el tema ser� bien

venida.

� Desde ya Gracias ======== | ISMAEL

|

Si usas la unit FileUtil (paquete LazUtils) puede hacer algo como esto:

Lista := FindAllFiles( '/un/directorio', '*.xml', false);

Regresa un TStringList (Lista) con los archivos que coincidan con la extensi�n .xml en /un/directorio , el �ltimo par�metro indica si quieres que tambi�n busque en subdirectorios o no.

Jesus Reyes A.

Reply by email

Maxi
to Jesus Reyes

Muy buena esa funcion!!
El 22/01/2014 16:00, "Jesus Reyes" <jesusrmx en yahoo.com.mx> escribi�:

Show quoted text 35 lines
El Mi�rcoles, 22 de enero, 2014 8:32:29, Ismael L. Donis Garcia < ismael en citricos.co.cu> escribi�: Necesito recorrer una carpeta y leer los nombres de los archivos con una extensi�n determinada. > >Alguien me podr�a explicar como lograr esto en Lazarus, o al menos orientarme de alguna documentaci�n que explique como poder lograr realizar esto en Lazarus. > >Toda ayuda sobre el tema ser� bien venida. > >Desde ya Gracias >======== >| ISMAEL | Si usas la unit FileUtil (paquete LazUtils) puede hacer algo como esto: Lista := FindAllFiles( '/un/directorio', '*.xml', false); Regresa un TStringList (Lista) con los archivos que coincidan con la extensi�n .xml en /un/directorio , el �ltimo par�metro indica si quieres que tambi�n busque en subdirectorios o no. Jesus Reyes A. _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20140122/eccda269/attachment.html>

Reply by email

Rubén Ibáñez
to Maxi

S�, he hecho esta pruebita y est� funcionando perfectamente. Gracias, he aprendido algo muy �til.

unit Unit1;
{$mode objfpc}{$H+}
interface
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
  { TForm1 }
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    CheckBox1: TCheckBox;
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;
var
  Form1: TForm1;
  Lista: TStringList;
  opcion: boolean;
implementation
{$R *.lfm}

{ TForm1 }

procedure TForm1.Button2Click(Sender: TObject);
begin
     Close;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
     if CheckBox1.Checked then opcion:= true else opcion:= false;
     Lista := FindAllFiles(Edit2.Text, Edit1.Text, opcion);
     Memo1.Text:= Lista.CommaText;
end;
end.

El 22 de enero de 2014, 15:35, Maxi <maximiliano.duarte en gmail.com> escribi�:

Show quoted text 45 lines
Muy buena esa funcion!! El 22/01/2014 16:00, "Jesus Reyes" <jesusrmx en yahoo.com.mx> escribi�: El Mi�rcoles, 22 de enero, 2014 8:32:29, Ismael L. Donis Garcia < > ismael en citricos.co.cu> escribi�: > > Necesito recorrer una carpeta y leer los nombres de > los archivos con una extensi�n determinada. > > > >Alguien me podr�a explicar como lograr esto en > Lazarus, o al menos orientarme de alguna documentaci�n que explique como > poder > lograr realizar esto en Lazarus. > > > >Toda ayuda sobre el tema ser� bien > venida. > > > >Desde ya Gracias > >======== > >| ISMAEL > | > > Si usas la unit FileUtil (paquete LazUtils) puede hacer algo como esto: > > Lista := FindAllFiles( '/un/directorio', '*.xml', false); > > Regresa un TStringList (Lista) con los archivos que coincidan con la > extensi�n .xml en /un/directorio , el �ltimo par�metro indica si quieres > que tambi�n busque en subdirectorios o no. > > Jesus Reyes A. > > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20140122/c17c7302/attachment.html>

Reply by email

Martin Gomez
to Jesus Reyes: El Mi�rcoles, 22 de enero, 2014 8:32:29, Ismael L. Donis Garcia <ismael en…

2014/1/22 Jesus Reyes <jesusrmx en yahoo.com.mx>

Show quoted text 10 lines
Si usas la unit FileUtil (paquete LazUtils) puede hacer algo como esto: Lista := FindAllFiles( '/un/directorio', '*.xml', false); Regresa un TStringList (Lista) con los archivos que coincidan con la extensi�n .xml en /un/directorio , el �ltimo par�metro indica si quieres que tambi�n busque en subdirectorios o no. Jesus Reyes A.

?Buen�simo... siempre lo hice "a lo Delphi", esta funci�n ayuda much�simo! ?

Try not to become a man of success but rather to become a man of value. *Albert Einstein* ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20140123/1be3a684/attachment.html>

Reply by email