Localizar arquivos
Bem galera voltei,
alguem pode me ajudar com um form de localizar imgs parecido com o do windows?
tenho um form com 2 edits onde o primeiro dita o nome da img(*.tif) e preciso que ele localize esta img em varios diretorios e sub diretorios
por ex:
localizar 00001.tif
diretorio fixo: c:\arquivo\
subdiretorios: pasta1\11-12-00\joao
\maria
\jose
se ele nao achar em um local ir para o proximo (de joao a jose) se mesmo assim ele nao achar voltar para o diretorio e ir para o proximo sub diretorio pasta2\12-12-00\joao
\maria
\jose
e fazer a mesma coisa
ate o ultimo subdiretorio;
ou seja verifique um diretorio todo e seus subdiretorios
muitissimo obrigado desde ja
obs.: o outro especifica o subdiretorio (ex: pasta1) caso ele queira ir direto ao ponto;
uso delphi6;
abraço
:shock: :idea:
alguem pode me ajudar com um form de localizar imgs parecido com o do windows?
tenho um form com 2 edits onde o primeiro dita o nome da img(*.tif) e preciso que ele localize esta img em varios diretorios e sub diretorios
por ex:
localizar 00001.tif
diretorio fixo: c:\arquivo\
subdiretorios: pasta1\11-12-00\joao
\maria
\jose
se ele nao achar em um local ir para o proximo (de joao a jose) se mesmo assim ele nao achar voltar para o diretorio e ir para o proximo sub diretorio pasta2\12-12-00\joao
\maria
\jose
e fazer a mesma coisa
ate o ultimo subdiretorio;
ou seja verifique um diretorio todo e seus subdiretorios
muitissimo obrigado desde ja
obs.: o outro especifica o subdiretorio (ex: pasta1) caso ele queira ir direto ao ponto;
uso delphi6;
abraço
:shock: :idea:
Martintec
Curtidas 0
Respostas
Rodrigo_rcp
04/11/2003
public
procedure AddFilesToList (Filter, Folder: string; Recurse: Boolean);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure GetSubDirs (Folder: string; sList: TStringList);
var
sr: TSearchRec;
begin
if FindFirst (Folder + ´*.*´, faDirectory, sr) = 0 then
try
repeat
if (sr.Attr and faDirectory) = faDirectory then
sList.Add (sr.Name);
until FindNext(sr) <> 0;
finally
FindClose(sr);
end;
end;
procedure TForm1.AddFilesToList(Filter, Folder: string; Recurse: Boolean);
var
sr: TSearchRec;
sDirList: TStringList;
i: Integer;
begin
if FindFirst (Folder + Filter, faAnyFile, sr) = 0 then
repeat
lbFiles.Items.Add (Folder + sr.Name);
until FindNext(sr) <> 0;
FindClose(sr);
if Recurse then
begin
sDirList := TStringList.Create;
try
GetSubDirs (Folder, sDirList);
for i := 0 to sDirList.Count - 1 do
if (sDirList[i] <> ´.´) and (sDirList[i] <> ´..´) then
begin
Application.ProcessMessages;
AddFilesToList (Filter,
IncludeTrailingPathDelimiter (Folder + sDirList[i]),
Recurse);
end;
finally
sDirList.Free;
end;
end;
end;
Boa programação.
GOSTEI 0
Martintec
04/11/2003
rodrigo_rcp muitossimo obrigado pela força funcionou direitinho
:lol:
martin
:lol:
martin
GOSTEI 0