Поиск файлов в подпапках и добавление в список - VB
Формулировка задачи:
Добрый день! Просто не смог придумать более подходящего названия...)
Значит есть у меня маханькая программка которая формирует плей лист для трансляции клипов... т.е. просто берет все файлы из папки, "перемешивает" их и записывает в файл...
Если интересно вот ее код:
А теперь нужно сделать так, что бы не просто брались все файлы из папки, а:
есть папки "1", "2", "3" и "4" с клипами.... Нужно сформировать плей лист на смену (18 часов трансляции), но что бы за смену файлы из папки "4" проиграли за смену 4 раза, из папки "3" проиграли 3 раза, и т.д.
Вот сломал себе уже всю голову и даже похожего пока ничего не придумал....(((
У кого есть идеи, подскажите пожалуйста хоть примерный алгоритм...
Решение задачи: «Поиск файлов в подпапках и добавление в список»
textual
Листинг программы
Dim fso, fld, fsf
Private Sub Command1_Click()
On Error GoTo ErrorHandler
get_folder App.Path
Exit Sub
ErrorHandler:
MsgBox Error, vbExclamation + vbOKOnly
End Sub
Sub get_folder(in_fold As String)
'поиск подпапок и вызов обработки файлов текущей папки
Set fld = fso.GetFolder(in_fold)
Set fsf = fld.SubFolders
get_file
If fsf.Count <> 0 Then
'по подпапкам
For Each f1 In fsf
get_folder (f1)
Next
End If
End Sub
Sub get_file()
'поиск файлов по маске в текущей
Set ff = fld.Files
If ff.Count <> 0 Then
For Each f2 In ff
t = InStr(1, f2, "") 'ввести маску если надо
If t > 0 Then
k = 0 ' все остальные папки включая 1
If IsNumeric(fld.Name) Then
If CInt(fld.Name) > 0 Then k = CInt(fld.Name) - 1
End If
End If
For i = 0 To k
List1.AddItem f2.Name
Next
Next
End If
End Sub
Private Sub Form_Load()
Set fso = CreateObject("Scripting.FileSystemObject")
End Sub