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

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

Поиск файлов


Ig ©   (2001-11-17 19:35:00) 

Мне нужно перебрать все файлы на диске.
Написал процедуру, но работает некорректно. Помогите найти ошибку.

Procedure FindFiles(start:string);
var Find:Tsearchrec;found:integer;
begin
found:=FindFirst(start+("\"),FaAnyfile,Find);
while found=0 do begin
if (find.Attr<>faDirectory)and(find.Name[1]<>".") then
RichEdit1.Lines.Add(find.name)
else if find.Name[1]<>"." then findFiles(start+"\"+find.name);
found:=findnext(find);
end;
findclose(find);
end;


Anatoly Podgoretsky   (2001-11-18 16:03:00) [1]

Да я это упустил


panov   (2001-11-18 01:41:00) [2]

found:=FindFirst(start+("\"),FaAnyfile,Find);
вместо этого надо
found:=FindFirst(start+( "\*.*"),FaAnyfile,Find);
Это плюс к <Anatoly Podgoretsky © (17.11.01 23:27)>


Anatoly Podgoretsky   (2001-11-17 23:27:00) [3]

if (find.Attr and faDirectory) <> faDirectory
then ...
else if (find.Name <> ".") and (find.Name <> "..") then ...

FindClose надо выполнять только в том случае, если первый Found = 0


Наверх

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