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.
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