Re: FindFirstFile FindNextFile возвращают не все файлы
От: To4kuH  
Дата: 31.08.05 18:27
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Поиск файлов идет в каталоге c:\windows\system32

А>возвращаются только 3 объекта
А>drivers,
А>folder.htt
А>и desktop.ini


Один раз тоже столкнулся с такой ерундой. нужно было получить список директорий... в хелпе было указано что для директории свойство SearchRec.Attr (var SearchRec: TSearchRec равно faDirectory (это константа, равная не помню чему (32 чтоли)). только оказалось что еще может быть равно и 48 .
вот код :

procedure ScanDir(StartDir: string; List: TStrings);
var
SearchRec: TSearchRec;
begin
if StartDir[Length(StartDir)] <> '\' then
StartDir := StartDir + '\';
if FindFirst(StartDir+'*.*', faDirectory, SearchRec) = 0 then
begin
repeat
Application.ProcessMessages;
if ((SearchRec.Attr = faDirectory) or (SearchRec.Attr = 48)) then
if (SearchRec.Name <> '..') and (SearchRec.Name <> '.') then
List.Add(SearchRec.Name);
until FindNext(SearchRec) <> 0;
FindClose(SearchRec);
end;
end;
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.