Модератор: Модераторы
minoshi » 07.10.2009 13:21:50
- Код: Выделить всё
procedure tmainfo.FindFile(dir, searchedfile:String; absalutfind,firstfindonly : boolean);
Var fs : TSearchRec;
begin
if (length(dir)>0)and(dir[1] <> '/')
then dir := '/' + dir;
if dir = '/'
then dir := '';
stopsearch := false;
findfirst(dir + '/*',faAnyFile,fs);
repeat
application.ProcessMessages;
if (fs.Name='')
or(fs.Name='.')
or (fs.Name='..')
then continue;
if absalutfind
then begin
if searchedfile = fs.Name
then begin
tstringgrid1.appendrow(dir + '/' + fs.Name);
if firstfindonly
then stopsearch := true;
end;
end
else begin
if substrpos(searchedfile,fs.Name) > 0
then begin
tstringgrid1.appendrow(dir + '/' + fs.Name);
if firstfindonly
then stopsearch := true;
end;
end;
if stopsearch
then begin
findclose(fs);
exit;
end;
if fpReadLink(dir+ '/' +fs.Name) <>
then continue;
if ((fs.Attr and faDirectory) <> 0)
then findfile(dir + '/' + fs.name, searchedfile, absalutfind, firstfindonly);
until findnext(fs) <> 0;
findclose(fs);
end;
-

minoshi
- постоялец
-
- Сообщения: 279
- Зарегистрирован: 17.05.2008 21:23:38
Padre_Mortius » 13.06.2011 15:31:17
Добавлю еще один момент. В качестве маски имен файлов лучше всего использовать переменную AllFilesMask
-
Padre_Mortius
- энтузиаст
-
- Сообщения: 1265
- Зарегистрирован: 29.05.2007 17:38:07
- Откуда: Спб
Вернуться в Файловая система
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1