Render.ru

Прошу помощи у Экспертов!

Иван Иванчин

Пользователь сайта
Рейтинг
2
#1
Всем дорого времени суток, maxscriptтолько начинаю изучать. Прошу помощи у экспертов как написать скриптик.
Допустим, есть у нас директория "D:\Object_test" в ней папки с категориями (названия «cat_01,cat_02,cat_03,….»), в этих папках будут папки подкатегории названия (subcat_01,subcat_02,subcat_03….)

К примеру есть вот такой rollout в нем есть dropDownList и listbox , вообщем нужно поместить в dropDownList названия папок с категориями, при выборе какой либо категории выпадает список в listbox названий папок подкатегорий. Вот и все =) как бы сделать дорогие эксперты?
Спасибо!
 

igorznag

Мастер
Рейтинг
103
#2
Код:
try destroydialog test catch()
rollout test "Test"
(
button btn_refresh "Refresh"
dropdownlist ddl_cat "Category:"
listbox lb_subcat "SubCategory:"
on btn_refresh pressed do
(
cat_array=#()
start_dir="D:/Object_test"
dirs=GetDirectories (start_dir+"/*")
if dirs.count>0 then
(
cat_array=dirs; cat_f_array=#();
for i=1 to dirs.count do
(
s=getFilenamePath dirs[i]
sf=substring s (start_dir.count+2) (s.count-start_dir.count-2)
append cat_f_array sf
)--for i=1 to dirs.count do
ddl_cat.items=cat_f_array
)--if dirs.count>0 then
----
if ddl_cat.selection>0 and cat_array.count>0 then
(
subcat_f_array=#()
dirs=GetDirectories (cat_array[ddl_cat.selection]+"/*")
if dirs.count>0 then
(
for i=1 to dirs.count do
(
s=getFilenamePath dirs[i]
sf=substring s (cat_array[ddl_cat.selection].count+2) (s.count-cat_array[ddl_cat.selection].count-2)
append subcat_f_array sf
)--for i=1 to dirs.count do
lb_subcat.items=subcat_f_array
)--if dirs.count>0 then
)--if cat_array.count>0 then
)--on btn_refresh pressed do
on ddl_cat selected arg do btn_refresh.pressed()
on test open do btn_refresh.pressed()
); createdialog test 300 300
 

Иван Иванчин

Пользователь сайта
Рейтинг
2
#3
Доброй души человек! ( Эксперт igorznag ) спасибо тебе большущее за проделанную работу, то что нужно! Здоровья вам и карьерного процветания и успехов!
 
Сверху