Seu Curso

  • Full Screen
  • Wide Screen
  • Narrow Screen
  • Increase font size
  • Default font size
  • Decrease font size

Procurar por arquivos especificos em uma aplicação desenvolvida em Delphi

Imprimir
Avaliação do Usuário: / 28
PiorMelhor 

Ter a possibilidade de encontrar algum arquivo ou um conjunto de arquivos, filtrando pelo nome ou pela extensão, pode ser muito útil para uma aplicação. Um exemplo é uma aplicação que catalogue arquivos MP3 ou imagens e que faz uma busca em todo o computador em busca desses tipos de arquivos.

Neste projeto a aplicação busca arquivos em uma determinada localização, mas com um pouco de trabalho e, talvez, com um pouco de recursividade não fica difícil de alterá-lo de forma a buscar em qualquer lugar, incluindo subpastas.

 

Construindo:

 

1. Inicie um novo projeto;

2. No novo formulário insira, conforme a figura abaixo:

a. Um TDriveComboBox da guia Win3.1;

b. Um TDirectoryListBox também da guia Win3.1;

c. Um TListBox;

d. Um TLabel;

e. Um TEdit;

f. Um TButton;

 

 

3. Para o componente DriveComboBox na propriedade DirList  selecione o componente DirectoryListBox;

4. Clique duas vezes sobre o botão “Button1” e declare as seguintes variáveis para a PROCEDURE Button1Click:

 

var
sr   : TSearchRec ;
r   : Integer ;

 

5. Agora clique duas vezes sobre o botão para inserirmos o seguinte código no evento OnClick:

 

application.processmessages;
r := findfirst(DirectoryListBox1.Directory + '\*.*', faanyfile, sr);
while r = 0 do
begin
 if (sr.name <> '.') and (sr.name <> '..') then
 begin
 if UpperCase(Copy(pchar(sr.name),length(pchar(sr.name))-2,6)) = UpperCase(Edit1.Text) Then
 begin
 ListBox1.Items.Add(DirectoryListBox1.Directory + '\' + pchar(sr.name));
 end;
 end;
 r := findnext(sr)
end;
findclose(sr);

 

Entendendo o código:

 

A variável sr é do tipo registro de busca que é composto pelos seguintes campos básicos:

 

Campo - Tipo - Descrição

Time - Integer - Data e hora de criação do arquivo

Size - Int64 - Tamanho, em bytes, do arquivo

Attr - Integer - Atributos do arquivo, em binário

Name - TFileName - Nome do arquivo

 

A variável r servirá para receber o resultado da pesquisa, sendo 0 (zero) sucesso e -1 a ocorrência de erro.

Na linha 02 passamos para a função, que encontra a primeira o ocorrência apenas, como parâmetro o local da busca, o tipo de arquivo procurado e o registro de que receberá os dados do arquivo encontrado. A pesquisa determinada nessa linha é a que será repetida a cada laço na linha 12.

É necessário encerrar o modo de pesquisa usando a função findclose conforme na linha 14.

 

Executando:

 

Execute seu projeto no campo Edit1 digite uma extensão de arquivo a ser procurado, por exemplo, EXE ou JPG, não digite ponto ou caracteres coringa.

No DriveComboBox selecione a unidade onde estarão os arquivos e no DirectoryListBox selecione a pasta.

Clique no botão para iniciar a pesquisa e o resultado será exibido, caso algum arquivo seja encontrado, no ListBox.

 

 

Adicionar comentário


Código de segurança
Atualizar

You are here: