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

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

Аватара для proxy

Старожил


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

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


Код: Выделить весь код
#include <Array.au3>

$aFilesList = _FileListToArrayEx(@DesktopDir, "*", 1)
_ArrayDisplay($aFilesList)

Func _FileListToArrayEx($sPath, $sMask="*", $iMode=-1) ;$iMode > 0 только папки (маска игнорируется), иначе папки + файлы
    If Not StringInStr(FileGetAttrib($sPath & "\"), "D") Then Return SetError(1, 0, 0)

    Local $hSearch, $sFindNext, $sFilePath, $iPathIsFolder, $i = 0
    Local $sRegExpFilter = StringReplace(StringReplace($sMask, ".", "\."), "*", ".*")
    Local $iMax_Ret_Paths = 10000
    Local $aPathesArr[$iMax_Ret_Paths+1] = [1, $sPath]

    While $i < $aPathesArr[0]
        $i += 1

        $hSearch = FileFindFirstFile($aPathesArr[$i] & "\*")
        If $hSearch = -1 Then ContinueLoop

        While 1
            $sFindNext = FileFindNextFile($hSearch)
            If @error Then ExitLoop

            $sFilePath = $aPathesArr[$i] & "\" & $sFindNext
            $iPathIsFolder = StringInStr(FileGetAttrib($sFilePath & "\"), "D")

            If $iMode <= 0 Or $iMode > 0 Then
                If $iPathIsFolder Or (Not $iPathIsFolder And StringRegExp($sFindNext, "(?i)" & $sRegExpFilter)) Then
                    If $aPathesArr[0] >= $iMax_Ret_Paths Then
                        $iMax_Ret_Paths *= 2
                        ReDim $aPathesArr[$iMax_Ret_Paths+1]
                    EndIf

                    $aPathesArr[0] += 1
                    $aPathesArr[$aPathesArr[0]] = $sFilePath
                EndIf
            EndIf
        WEnd

        FileClose($hSearch)
    Wend

    ReDim $aPathesArr[$aPathesArr[0]+1]
    Return $aPathesArr
EndFunc
вот это:
Цитата:
If $iMode <= 0 Or ($iMode > 0 And $iPathIsFolder) Then
заменяешь на это:
Цитата:
If $iMode <= 0 Or $iMode > 0 Then

-------
Мысли-читатель сломался, может подробней расскажите?
А где исходный код? Или мы стихи обсуждаем?! )) Настройки темы > Решено ?

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:15, 18-03-2009 | #4