Fórum Procurar arquivo subpasta #487460
31/07/2014
0
Bom Dia, como eu procuro um arquivo em uma subpasta ?
Exemplo, tenho um arquivo chamado 'palm.db', eu quero localizar ele em uma subpasta para ver se encontra. Se ele encontrar eu faço minhas configurações necessárias, se nao encontrar da mensagem de erro.
Obrigado
Exemplo, tenho um arquivo chamado 'palm.db', eu quero localizar ele em uma subpasta para ver se encontra. Se ele encontrar eu faço minhas configurações necessárias, se nao encontrar da mensagem de erro.
Obrigado
Jcg Sistemas
Curtir tópico
+ 0
Responder
Posts
31/07/2014
Thiago Irrazabal
Bom dia, criei um exemplo aqui pra ti, segue os passos:
Coloque um TMemo, um TEdit e um TBitBtn. Renomeie o Memo para mmoDiretorios, o Edit para edtDiretorioInicial e o BitBtn deixe como está.
Depois declare essa procedure no private ou public se preferir.
CTRL + SHIFT + C para criar e Substitua por isso:
Depois declare essa function no private ou no public.
CTRL + SHIFT + C para criar e Substitua por isso:
Depois no click do botão coloque isso:
Pronto, rode o programa e coloque no Edit o Diretório que tu quer procurar, exemplo: C:\
Lembrando que tem que ter a contra-barra no final.
Att,
Thiago Irrazabal de Oliveira.
Coloque um TMemo, um TEdit e um TBitBtn. Renomeie o Memo para mmoDiretorios, o Edit para edtDiretorioInicial e o BitBtn deixe como está.
Depois declare essa procedure no private ou public se preferir.
procedure MapeiaDiretorio(Caminho: String);
CTRL + SHIFT + C para criar e Substitua por isso:
var
Search: TSearchRec;
Retorno, I: Integer;
Achou: Boolean;
begin
Achou := False;
Retorno := FindFirst(Caminho + '*.*', faDirectory, Search);
mmoDiretorios.Lines.Add('Mapeando Diretório: ' + Caminho);
repeat
if Search.Name = 'palm.db' then
begin
Achou := True;
mmoDiretorios.Lines.Add('Arquivo Encontrado no Direitório: ' + Caminho);
end
else if (Search.Name[1] <> '.') and ((Search.Attr and faDirectory) = faDirectory) then
Achou := MapeiaSubDiretorio(Caminho + Search.Name + '\');
if not(Achou) then
Retorno := FindNext(Search);
until (Retorno <> 0) or Achou;
end;
Depois declare essa function no private ou no public.
function MapeiaSubDiretorio(Caminho: String): Boolean;
CTRL + SHIFT + C para criar e Substitua por isso:
var
Search: TSearchRec;
Retorno, I: Integer;
Achou: Boolean;
begin
Achou := False;
Retorno := FindFirst(Caminho + '*.*', faDirectory, Search);
mmoDiretorios.Lines.Add('Mapeando Diretório: ' + Caminho);
repeat
if Search.Name = 'palm.db' then
begin
Achou := True;
mmoDiretorios.Lines.Add('Arquivo Encontrado no Direitório: ' + Caminho);
end
else if (Search.Name[1] <> '.') and ((Search.Attr and faDirectory) = faDirectory) then
Achou := MapeiaSubDiretorio(Caminho + Search.Name + '\');
Retorno := FindNext(Search)
until (Retorno <> 0) or Achou;
Result := Achou;
end;
Depois no click do botão coloque isso:
if edtDiretorioInicial.Text = '' then
Exit;
MapeiaDiretorio(edtDiretorioInicial.Text);
Pronto, rode o programa e coloque no Edit o Diretório que tu quer procurar, exemplo: C:\
Lembrando que tem que ter a contra-barra no final.
Att,
Thiago Irrazabal de Oliveira.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)