1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

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

Тема в разделе "MAXScript", создана пользователем Иван Иванчин, 18 июн 2014.

Модераторы: Savin Denis
  1. Иван Иванчин

    Иван Иванчин Пользователь сайта

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

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

    igorznag Знаток

    С нами с:
    23.04.2010
    Сообщения:
    1.256
    Симпатии:
    173
    Баллы:
    65
    Код:
    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
     
    Иван Иванчин нравится это.
  3. Иван Иванчин

    Иван Иванчин Пользователь сайта

    С нами с:
    07.02.2011
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    2
    Доброй души человек! ( Эксперт igorznag ) спасибо тебе большущее за проделанную работу, то что нужно! Здоровья вам и карьерного процветания и успехов!
     
Модераторы: Savin Denis

Поделиться этой страницей