Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 2)

Модерирует : gyra, Maz

Widok (01-06-2010 13:08): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

sproxy



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Функция чтения каталогов с подкаталогами и файлами по маске в массив:

Код:
Func _GetDirsFilesList($sStartDirPath, $sFilesMask, $iAddFiles=1, $iAddDirs=0, $sRootPath=1)
    $sStartDirPath = StringRegExpReplace($sStartDirPath, '\\+$', '')
    Local $aRetArray[1], $aSubDirsArr, $sFindNextFile, $sCurrentPath, $iYesAdd
 
    Local $sFindFirstFile = FileFindFirstFile($sStartDirPath & '\' & $sFilesMask)
    If @error = 1 Then Return SetError(-1); нет искомых файлов
 
    If $sRootPath == 1 AND $iAddDirs == 1 Then
        $aRetArray[0] += 1
        ReDim $aRetArray[2]
        $aRetArray[1] = $sStartDirPath
    EndIf
 
    While
1
        $sFindNextFile = FileFindNextFile($sFindFirstFile)
        If @error = 1 Then ExitLoop
 
        $sCurrentPath = $sStartDirPath & '\' & $sFindNextFile
 
        $iYesAdd
= 0
        If StringInStr(FileGetAttrib($sCurrentPath), 'D') Then
            If
$iAddDirs == 1 Then $iYesAdd = 1
        Else
            If
$iAddFiles == 1 Then $iYesAdd = 1
        EndIf
 
        If
$iYesAdd == 1 Then
            $aRetArray[0] += 1
            ReDim $aRetArray[$aRetArray[0]+1]
            $aRetArray[$aRetArray[0]] = $sCurrentPath
        EndIf
 
        $aSubDirsArr = _GetDirFilesList($sCurrentPath, $sFilesMask, $iAddFiles, $iAddDirs, 0)
 
        If IsArray($aSubDirsArr) Then
            For
$i = 1 To $aSubDirsArr[0]
                $aRetArray[0] += 1
                ReDim $aRetArray[$aRetArray[0]+1]
                $aRetArray[$aRetArray[0]] = $aSubDirsArr[$i]
            Next
        EndIf
    WEnd

 
    FileClose($sFindFirstFile)
 
    SetError(0)
    Return $aRetArray
EndFunc


Всего записей: 556 | Зарегистр. 21-11-2007 | Отправлено: 02:54 31-03-2009 | Исправлено: sproxy, 03:09 31-03-2009
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 2)
Widok (01-06-2010 13:08): Лимит страниц. Продолжаем здесь.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru