Форум: "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.025 c
4-52681           Anderius              2001-11-17 21:24  2002.01.17  
Как насильно завершить другую программу?


14-52660          zvon                  2001-11-23 07:03  2002.01.17  
как программно отправить файл на мыло


1-52588           Eraser                2001-12-29 14:15  2002.01.17  
О заполнении массива


4-52690           NetBreaker666         2001-11-15 03:07  2002.01.17  
Опять все теже HOOk и


14-52650          paul_shmakov          2001-11-21 01:13  2002.01.17  
подсветка синтаксиса в форуме