Ahh ok entonces no estas empezando de la nada, entonces no es tan complicado :P
Código:
procedure TfrmDirectorios.muestra_dir(path:string; carpetas:boolean; lista:TRzListBox);
var S:string;
SearchRec:TsearchRec;
Result:integer;
begin
try
chdir(path); //Cambia el directorio
except
application.MessageBox('El directorio no existe o no puede ser accesado.', 'Aviso', MB_ICONINFORMATION);
end;
//FindFirst(path+'*.*', faAnyFile,SearchRec);
lista.items.Clear;
if carpetas then
begin
FindFirst(path+'*.*', faDirectory,SearchRec);
Repeat
if (SearchRec.Name<>'.') and (SearchRec.Name<>'..') and not AnsiContainsStr(SearchRec.Name, '.') then
lista.Items.Add(s+SearchRec.Name);
Result:=FindNext(SearchRec);
until result <> 0;
end
else
begin
FindFirst(path+'*.*', faAnyFile,SearchRec);
Repeat
if (SearchRec.Name<>'.') and (SearchRec.Name<>'..') and AnsiContainsStr(SearchRec.Name, '.') then
lista.Items.Add(s+SearchRec.Name);
Result:=FindNext(SearchRec);
until result <> 0;
end;
lista.Sorted := true;
end;
Mira yo use este codigo en delphi 7, enlisto carpetas y/o archivos, lo que tu harias en vez de enlistarlos es recorrerlos y compararlo con el nombre de archivo que buscas.
Espero esto te ayude, es solo un fragmento del codigo pero creo es lo que ocupas.