|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Получить список папок
Необходимо получить список папок определённой директории и вывести список в массив строк. Поиски не дали результатов. Кто-нибудь знает решение проблемы?
|
#2
|
|||
|
|||
Так
Код:
function MatchAttrs(flags, attrs: DWORD): Boolean; begin MatchAttrs := (flags and attrs) = flags; end; function SearchInFolder(folder: String; names: TStrings): Boolean; var hSearch: Thandle; FindData: WIN32_FIND_DATA; strSearchPath: String; bRes: Boolean; begin strSearchPath := folder + '\*.*'; bRes:= false; hSearch := FindFirstFile(PAnsiChar(strSearchPath), FindData); if hSearch <> INVALID_HANDLE_VALUE then repeat if (String(FindData.cFileName) <> '..') and (String(FindData.cFileName) <> '.') then if MatchAttrs(FILE_ATTRIBUTE_DIRECTORY, FindData.dwFileAttributes) then begin names.Add(FindData.cFileName); bRes:=True; end; until FindNextFile(hSearch, FindData) = False; SearchInFolder := bRes; end; procedure TForm1.Button1Click(Sender: TObject); begin if not SearchInFolder('C:\Windows', Memo1.Lines) then ShowMessage('Error'); end; |
#3
|
||||
|
||||
Спасибо, выручил!
|