Привет, есть скрипт в котором использован скрипт с выбором.
Он несколько раз повторяется в скрипте, первый раз все как надо, а во втором и далее все плачевно:
Варианты выбора рандомно раскиданы, при сделаном выборе в файл сохраняются значения из предведущего выбора.
буду благодарен если подскажите как решить.
Скрипт с выбором:
$input_file = "\vibor\Buildings.txt" // Исходные данные - большой список
$output_file = "\vibor\Buildings_selected.txt" // Результат - список выбранных
TFREADARR($input_file, $items_all)
TFREADARR("\vibor\item_flags_all.txt", $itemsflags_all)
IF(ARRSIZE($itemsflags_all) < ARRSIZE($items_all))
FOR($i = ARRSIZE($itemsflags_all) , $i < ARRSIZE($items_all))
ARRPUSH($itemsflags_all, 0)
END_CYC
END_IF
//##############################################################################
//Вывод текста на экран по 10 строк с чекбоксами
FOR($a, $a < INT ((ARRSIZE($items_all) / 22)+1))
$n = $check * 22
FOR($i = $n, (($i < $n+22) AND ($i < ARRSIZE($items_all))))
ARRPUSH($items, $items_all[$i])
ARRPUSH($itemsflags, $itemsflags_all[$i])
END_CYC
Window_checkbox_flags(101, "Выберите пункты :", 3000)
// Window_checkbox_flags(110, "Выберите пункты :", 35) //жирным шрифтом текст не помещается ?
STRSEPARATE ($flags, ",", $item_flags)
STRSEPARATE($text, "|", $selecteditems)
$flags = $item_flags[0]
FOR($i=0, $i < ARRSIZE($item_flags))
$flags = STRCONCAT($flags, ",", $item_flags[$i])
IF($item_flags[$i] = 1) // Запись выбранных в массив
ARRPUSH($Selected, $selecteditems[$i])
END_IF
END_CYC
//==============================================================================
// Подговка ответа
IF(ARRSIZE($Selected) > 0)
$otv = $Selected[0]
FOR($i=1, $i < ARRSIZE($Selected))
$otv = STRCONCAT($otv, "\n", $Selected[$i])
END_CYC
$text = STRCONCAT("Выбраны пункты:\n\n", $otv)
IF($return = -1)
$hint = "Состояние чекбоксов не изменено"
HINTPOPUP($hint, "ВНИМАНИЕ")
END_IF
ELSE
$text = "Вы ничего не выбрали"
END_IF
//==============================================================================
TFWRITEARR ($output_file, $Selected) // Запись списка выбранных
UNDEFINE($items)
UNDEFINE($itemsflags)
UNDEFINE($Selected)
INC($check) // следующие 10 строк
END_CYC