Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Поиск файлов с помощью компонента FileSearch [D6, WinXP]


Anar ©   (2002-09-19 10:11:00) 

Недавно скачал компонент FileSearch. Он короче ищет файлы на диске.
Вообщем с ним у меня такая проблема: Для поиска временных файлов на диске (с расширением *.tmp и *.~*) если выбран соответствующий CheckBox пишу код для обработчика StartSearchButton:

MainPath:=PathEdit.Text;
SearchEngine.SearchFile:=MainPath;
If TempFilesChBox.Checked=true then
Begin
SearchEngine.SearchFile:=MainPath+"\*.tmp";
SearchEngine.Start;
SearchEngine.SearchFile:=MainPath+"\*.~*";
SearchEngine.Start;
end;


Где SearchEngine - компонент FileSearch, MainPath - путь к которому мы добавляем расширение.

На форме также добавлена кнопка Stop. Для неё пишу

SearchEngine.Stop:=true

При этом поиск не завершается полностью. Т.е. если в данный момент ищет *.tmp, то он прекращает этот поиск и переходит к поиску *.~*. Если выбрать ещё несколько типов файлов, то вообще будет нажимать несолкько раз Stop.

Потом решил написать такой код:


Repeat
SearchEngine.Stop:=true
Until SearchEngine.Searching=false.


Т.е. пусть остановит процесс поиска инфы, пока этот самый SearсhEngine работает. Теперь при нажатии на Stop программа зависает. Помогает только Ctrl-F2 в среде Delphi.

Прошу всех помочь. Please.


lenin   (2002-09-19 15:32:00) [1]

У меня этого компонента нет, но попробуй сделать так: объяви какой нить флаг и измени следующим образом:
MainPath:=PathEdit.Text;
SearchEngine.SearchFile:=MainPath;
fstop:=false;
If TempFilesChBox.Checked=true then
Begin
SearchEngine.SearchFile:=MainPath+"\*.tmp";
SearchEngine.Start;
if not fstop then
begin
SearchEngine.SearchFile:=MainPath+"\*.~*";
SearchEngine.Start;
end;
end;
...
...
...
fstop:=true;
SearchEngine.Stop:=true;


Anar   (2002-09-19 15:21:00) [2]


> Begin
> SearchEngine.SearchFile:=MainPath+"\*.tmp;*.~*";
> SearchEngine.Start;
> end;

Я так делал. При этом он находит только файлы *.tmp, игнорируя *.~*.

ВОТ ТАК! Проблема не решена.


VID   (2002-09-19 11:44:00) [3]

Никогда не работал с этим компонентом, но логика подсказывает что ты, приятель, извращаешься :)

Begin
SearchEngine.SearchFile:=MainPath+"\*.tmp; *.~*";
SearchEngine.Start;
end;


Anar   (2002-09-19 10:14:00) [4]

И ещё: у кого нет этого компонента, могу прислать по почте.


Наверх

Титульная страница Поиск, карта сайта Написать письмо