TyttoSoft

DICAS | SOFTWARE | PROGRAMAÇÃO




Selecionar diretório e listar em um ListBox todos os arquivos - Delphi


Vamos agora ver como selecionar um diretório e listar todo o conteúdo

existente nele, iremos usar em nosso exemplo:

1 ListBox que se encontra na paleta Standard de componentes do Delphi.

1 Button que se encontra na paleta Standard.

clique F12 ou na parte inferior clique na aba Code 

encontre  a Uses do seu código e adicione Vcl.FileCtrl 

Vamos agora em nosso Button der um clique duplo em seu button

em seguida escreva o seguinte código:

var

SCHR: TSearchRec;

         I: integer;

Destino : String;

begin

ListBox1.Items.Clear;  // se existir arquivo no ListBox sera limpo

// SelectDirectory para selecionar o diretorio desejado

if SelectDirectory(Destino, [sdAllowCreate, sdPerformCreate, sdPrompt],0) then

begin

   // recebe quantidade de arquivos no diretorio

  I := FindFirst(Destino+'\*', faAnyFile, SCHR);

  while I = 0 do

begin

// adiociona o arquivo no ListBox

  ListBox1.Items.Add(SCHR.Name);

    // passa para o proximo arquivo

    I := FindNext(SCHR);

end;

end;


Pronto esta feito com esse código ao clicar no button, ira abrir um SelectDirectory

para selecionar o diretório ao selecionar o diretório e clicar em ok.

pronto esta feito, esse exemplo é ótimo para a criação de rotinas para backup, 

ai é só usar a imaginação.


Minha Unit ficou assim:


unit Unit1;

interface


uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,

System.Classes, Vcl.Graphics,  Vcl.Controls, Vcl.Forms, Vcl.Dialogs,

Vcl.StdCtrls, Vcl.FileCtrl;


type

  TForm1 = class(TForm)

    ListBox1: TListBox;

    Button1: TButton;

    procedure Button1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;


var

  Form1: TForm1;


implementation


{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var

    SCHR: TSearchRec;

       I: integer;

Destino : String;

begin

ListBox1.Items.Clear;  // se existir arquivo no ListBox sera limpo

// SelectDirectory para selecionar o diretorio desejado

if SelectDirectory(Destino, [sdAllowCreate, sdPerformCreate, sdPrompt],0) then

begin

   // recebe quantidade de arquivos no diretorio

  I := FindFirst(Destino+'\*', faAnyFile, SCHR);

  while I = 0 do

  begin

  // adiociona o arquivo no ListBox

 ListBox1.Items.Add(SCHR.Name);

  // passa para o proximo arquivo

  I := FindNext(SCHR);

  end;

end;

end;

end.




17/04/2026 05:05 Delphi 5843


Política de privacidade

Utilizamos cookies e outras tecnologias semelhantes para melhorar a sua experiência no nosso site.

Ao continuar navegando, você declara que está de acordo com a nossa política de privacidade.

Copyright © TyttoSoft 2018 | Desenvolvido por www.TyttoSoft.com.br