Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для XXXler

Ветеран


Сообщения: 1073
Благодарности: 194

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
;~ Функция вывода структуры каталогов
Func ParceDir($Path)
	Local $Pathes[2],$i,$Folders,$Str
	$Pathes[0]=1
	$Pathes[1]=$Path
	While $i<$Pathes[0]
		$i=$i+1
		$Folders=FileFindFirstFile($Pathes[$i]&"\*")
		If $Folders=-1 Then ContinueLoop
		While 1
			$Str=FileFindNextFile($Folders)
			If @error Then ExitLoop
			If $Str="." Or $Str=".." Then ContinueLoop
			$Str=$Pathes[$i]&"\"&$Str
			If StringInStr(FileGetAttrib($Str),"D")<>0 Then
				$Pathes[0]=$Pathes[0]+1
				ReDim $Pathes[$Pathes[0]+1]
				$Pathes[$Pathes[0]]=$Str
			EndIf
		WEnd
		FileClose($Folders)
	Wend
	Return $Pathes
EndFunc
Вызывается с полным путем к каталогу, возвращает одномерный массив, где [0] - количество каталогов, [x] - полный путь к каталогу
Есть минус - каталоги в массиве идут по вложенности (сначала верхний уровень, потом вложенные папки), да и быстродействие хромает...
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:12, 22-08-2006 | #317