Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.17;
Скачать: [xml.tar.bz2];




Вниз

Поиск файлов 


Ig   (2001-11-17 19:35) [0]

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

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-17 23:27) [1]

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

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



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

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



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

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




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.17;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.035 c
1-52526           Baz                   2001-12-26 10:21  2002.01.17  
Господи, да что ж делается-то?!


1-52586           Mikhalyov Dmitry      2001-12-27 16:21  2002.01.17  
О фреймах


1-52536           LLong                 2001-12-26 17:17  2002.01.17  
Искажения цвета


1-52592           NewComer              2001-12-29 14:07  2002.01.17  
Как проверить...


6-52630           z0ne                  2001-10-19 02:18  2002.01.17  
server sharedirname --->>> d: dir subdirwhatshared