Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.13;
Скачать: CL | DM;

Вниз

Поиск файла   Найти похожие ветки 

 
Natalia   (2003-02-03 23:32) [0]

Здравствуйте, уважаемые. Как организовать поиск файлов с последующим выводом списка найденных файлов в FileListBox? Благодарю.


 
Kotka ©   (2003-02-04 00:12) [1]

В базе готовых решений алгоритм есть, а FileListBox это тот же ListBox, только со свойством Directory.


 
eLVik ©   (2003-02-04 00:15) [2]



private // для TForm1
FindMyFiles(Path, Ext: String);
...

procedure TForm1.FindMyFiles(Path, Ext: String);
var
SR: TSearchRec;
i: Integer;
FName: String;
begin
try
ChDir(Path); // пытаемся перейти в каталог
except
Exit; // Выходим в случае краха.
end;
i := FindFirst("*.*", faAnyFile, SR); // открываем поиск
while i = 0 do begin
if (SR.Attr and faDirectory) = faDirectory then
if (SR.Name <> ".") and (SR.Name <> "..") then begin
FindMyFiles(Path + SR.Name + "\"); // РЕКУРСИЯ!
ChDir(Path); // возвращаемся назад
end;
FName := Path + SR.Name;
FExt := AnsiLowerCase(ExtractFileExt(FName));
Ext := AnsiLowerCase(Ext);
if (FExt = Ext) then
FileListBox1.Items.Add(FName)
i := FindNext(SR); // пытаемся найти новый файл (каталог)
end; // while...do...
FindClose(SR); // закрываем поиск
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
FileListBox1.Items.Clear;
FindMyFiles("C:\", "*.txt"); // искать все текстовые файлы на диске C:\
end;


Честно, говоря с FileListBox не уверен, но поиск можно реализовать так (кажется)


 
eLVik ©   (2003-02-04 00:24) [3]

Поправка, sorry :-)

private // для TForm1
procedure FindMyFiles(Path, Ext: String);


Немного видоизмени для своего случая, должно сработать!


 
Natalia   (2003-02-04 10:35) [4]

Спасибо, попробую.



Страницы: 1 вся ветка

Текущий архив: 2003.02.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
1-38191
Hekko
2003-02-04 22:11
2003.02.13
Расположение динамического массива в памяти


1-38362
Saracin
2003-02-04 06:55
2003.02.13
Где можно лицизреть все иерархию VCL?


3-38071
Новичек
2003-01-25 14:27
2003.02.13
Есть ли способ работы с Paradox без BDE?


14-38468
Alexey_B
2003-01-30 11:38
2003.02.13
Delphi 4 & WinXP


14-38549
JibSkeart
2003-01-22 12:56
2003.02.13
Убить(удалить) программу во время выполнения