Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Файловая система
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 31.07.2008, 21:02
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию Поисковик

Помогите исправить поисковик файлов по расширеню
В общем использую следующий алгоритм для поиска
Код:
procedure TdlgSearchResults.SearchDir(Dir,Ext: string);
var
  SR: TSearchRec;
  FindRes: Integer;
  Item:TListItem;
begin
  FindRes := FindFirst(Dir + Ext, faAnyFile, SR);
       while FindRes = 0 do
          begin
            if ((SR.Attr and faDirectory) = faDirectory) and 
            ((SR.Name = '.') or (SR.Name = '..')) then 
               begin 
                 FindRes := FindNext(SR); 
                 Continue; 
               end; 
            if ((SR.Attr and faDirectory) = faDirectory) then 
              begin 
                SearchDir(Dir + SR.Name + '\',Ext);
                FindRes := FindNext(SR); 
                Continue; 
              end;
            //Files.Add(Dir + SR.Name);//Add to list
            Item:=lvFiles.Items.Add;
            Item.Caption:=SR.Name;
            Item.SubItems.Add(IntToStr(SR.Size));
            Item.SubItems.Add(Dir);
            //showmessage(dir+sr.Name);
            FindRes := FindNext(SR);
          end;
  FindClose(FindRes);
end;
При поиске файлов по маске *.* находит все, при поиске к примеру *.exe находит первый файл и прекращает искать.
При поиске к примеру *p* работает отлично, то же самое и при поиске без точки *exe*.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:56.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025