Toxaaa

Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору tavria2 Я немножко изменив код получил именно то что хотел: Page On Show _Searchdir=_SourceFolder.."\\AutoPlay\\Videos\\"; -- путь к подкаталогам папки Videos FoldersList = Folder.Find(_Searchdir, "*", true); -- таблица подкаталогов if (FoldersList) then for j, cFullName in FoldersList do tPath = String.SplitPath(cFullName); -- разлаживаем путь на составляющие: диск, папка, имя файла и расширение cFolderName = tPath.Filename..tPath.Extension; -- имя папки + расширение папки ListBox.AddItem("ListBox1", cFolderName, cFullName); -- отображаем только имя папки, в данные заносим полный путь end ListBox.SelectItem("ListBox1", 1); -- выбираем 1-й пункт в списке end ListBox1 On Select nIndex = ListBox.GetSelected("ListBox1"); -- индекс выбранных пунктов cItemData = ListBox.GetItemData("ListBox1", nIndex[1]); -- путь указанный в данных выбранного пункта _Searchdir=cItemData.."\\"; FileList = File.Find(_Searchdir.."\\", "*.avi", false, false, nil); -- таблица файлов *.avi if (FileList) then -- есть файлы ListBox.DeleteItem("ListBox2", -1); -- очищаем список for j, cFullName in FileList do tPath = String.SplitPath(cFullName); -- разлаживаем путь на составляющие: диск, папка, имя файла и расширение cFileName = tPath.Filename..tPath.Extension; -- имя файла + расширение файла ListBox.AddItem("ListBox2", cFileName, cFullName); -- отображаем только имя файла, в данные заносим полный путь, включая имя файла end else -- нет файлов ListBox.DeleteItem("ListBox2", -1); -- очищаем список end ListBox2 On Select nIndex = ListBox.GetSelected("ListBox2"); -- индекс выбранных пунктов if (nIndex) then cItemData = ListBox.GetItemData("ListBox2", nIndex[1]); -- путь указанный в данных выбранного пункта Page.StartTimer(100); -- запускаем таймер Video.Load("Video1", cItemData, true, false); -- запускаем видео end Button1 On Click Page.StopTimer(); -- останавливаем таймер Video.Stop("Video1"); -- останавливаем видео nIndex = ListBox.GetSelected("ListBox1"); -- индекс выбранных пунктов if (nIndex) then cCurPath = ListBox.GetItemData("ListBox1", nIndex[1]); -- путь указанный в данных выбранного пункта cCurPath = String.Replace(cCurPath, "Videos", "Images", false); -- меняем папку Videos на Images File.Run(cCurPath.."\\PhotoCDBrowser.exe", "", "", SW_SHOWNORMAL, true); -- запуск вьювера из указанной папки end Page On Timer if (Video.GetLength("Video1")-Video.GetCurrentPos("Video1")<1) then -- фильм закончился (без нажатия кнопки "стоп") nIndex = ListBox.GetSelected("ListBox2"); -- индекс выбранных пунктов nIndex[1] = nIndex[1] +1; -- индекс следующего пункта "ListBox2" if (nIndex[1] <= ListBox.GetCount("ListBox2")) then -- не конец списка ListBox.SelectItem("ListBox2", nIndex[1]); -- выбираем следующий пункт cItemData = ListBox.GetItemData("ListBox2", nIndex[1]); -- путь указанный в данных выбранного пункта Video.Load("Video1", cItemData, true, false); else Page.StopTimer(); -- достигли конца списка, останавливаем таймер end end |