Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > папки на диске


Автор: Baha_Ahmed 15.2.2010, 11:21
Как узнать список папок на диске. Xочу создать массив с путями к этим папкам, допустим я хочу узнать какие папки есть на диске D? smile 

Автор: Naghual 15.2.2010, 11:47
Команда DIR либо через FSO

Автор: Baha_Ahmed 15.2.2010, 18:49
Цитата(Naghual @ 15.2.2010,  11:47)
Команда DIR либо через FSO

Емкий ответ. Спасибо!!!!
вот есть код к этому
Код


path="d:\"

If Right$(Path, 1) <> "\" Then
    Path = Path & "\"
End If

sFile = Dir(Path & "*.*", vbDirectory)
Do While Len(sFile)
    If sFile <> "." And sFile <> ".." Then
        If GetAttr(Path & sFile) And vbDirectory Then
             List1.AddItem Path & sFile
            'Debug.Print Path & sFile
        End If
    End If
    sFile = Dir
Loop


только вот он не видит скрытые папки.

а вот тут список файлов на диске
Код

Dim FSO As New FileSystemObject
Dim sFile As File

        For Each sFile In FSO.GetFolder(Path & "\").Files
            If UCase(FSO.GetExtensionName(sFile)) = "AVI" _
            Or UCase(FSO.GetExtensionName(sFile)) = "TXT" _
             Or UCase(FSO.GetExtensionName(sFile)) = "MPG" _
             Or UCase(FSO.GetExtensionName(sFile)) = "JPG" _
             Or UCase(FSO.GetExtensionName(sFile)) = "XLS" _
             Or UCase(FSO.GetExtensionName(sFile)) = "DOCX" _
             Or UCase(FSO.GetExtensionName(sFile)) = "3GP" _
             Or UCase(FSO.GetExtensionName(sFile)) = "CHM" _
             Or UCase(FSO.GetExtensionName(sFile)) = "MDB" _
             Or UCase(FSO.GetExtensionName(sFile)) = "MDS" _
            Or UCase(FSO.GetExtensionName(sFile)) = "DOC" Then
                SetAttr Path & sFile.Name, vbNormal
                List1.AddItem Path & sFile.Name
            End If
       Next sFile


видны все файлы и скрытые и нет.
Помогите:
1 как "увидеть" скрытые папки (первый код)
2 как в коде со списком для файлов(второй код) не указывать расширения, а что был какой нибудь  шаблон типа "*.*", то есть все файлы.

Автор: Akina 15.2.2010, 19:07
Цитата(Baha_Ahmed @  15.2.2010,  19:49 Найти цитируемый пост)
как "увидеть" скрытые папки (первый код)

Прочитать справку по функции, обратив особое внимание на второй параметр.

Цитата(Baha_Ahmed @  15.2.2010,  19:49 Найти цитируемый пост)
как в коде со списком для файлов(второй код) не указывать расширения, а что был какой нибудь  шаблон типа "*.*", то есть все файлы.

Убрать этот длинный IF.

Автор: Baha_Ahmed 15.2.2010, 21:09
Цитата(Akina @ 15.2.2010,  19:07)
обратив особое внимание на второй параметр.

шаблон типа "*.*", то есть все файлы.

Убрать этот длинный IF.[/QUOTE]
на второй параметр обратил спасибо все работает, а вот шаблон что то.... не хочет, помоги те!!! smile 

Автор: Akina 15.2.2010, 22:43
Цитата(Baha_Ahmed @  15.2.2010,  22:09 Найти цитируемый пост)
а вот шаблон что то.... не хочет, помоги те!!!   

Оставь строки номер: 1, 2, 4, 16, 17, 19, остальные удали.

Добавлено через 1 минуту и 4 секунды
Впрочем, строка 16 тоже не особо нужна ПО СМЫСЛУ КОДА =- но вдруг она нужна ещё для чего-то...

Автор: Naghual 16.2.2010, 01:13
Цитата(Baha_Ahmed @  15.2.2010,  18:49 Найти цитируемый пост)
Емкий ответ. Спасибо!!!!

Пожалуйста

Автор: Baha_Ahmed 19.2.2010, 19:50
Цитата(Akina @ 15.2.2010,  22:43)
Цитата(Baha_Ahmed @  15.2.2010,  22:09 Найти цитируемый пост)
а вот шаблон что то.... не хочет, помоги те!!!   

Оставь строки номер: 1, 2, 4, 16, 17, 19, остальные удали.

Добавлено @ 22:44
Впрочем, строка 16 тоже не особо нужна ПО СМЫСЛУ КОДА =- но вдруг она нужна ещё для чего-то...

Спасибо за совет, работает все файлы видны т.к. я же указывал их через "/", да еще код под №16 нужет т.к. я когда удаляю все эти файлы-они не удаляются если их аттрибут не поменять. Еще раз спасибо!!!!! Код стал быстрее работать.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)