Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: ya12 on February 25, 2018, 04:05:59 PM

Title: Работает ли CASE со строками? (Clickermann_4.13.010b)
Post by: ya12 on February 25, 2018, 04:05:59 PM
Пока скрипт был маленький работал так: раз в 5 сек искал в каталоге ini каталог с маской gnom_b* (возможные значения * 0 и 1), а с увеличением объема скрипта CASE сломался и в не зависимости от SWITCH($arr2[$ia2]), выбирается последний CASE в списке.  Т.е. CASE("gnom_b-1"). Если его закоментировать выберется $_gnom_b = 0

Code: (clickermann) [Select]
THREAD(gnom_b, 0) //вкл-выкл гнома
UNDEFINE($arr2)
getdirlist($arr2, "ini\gnom_b*")
for($ia2=0, $ia2< arrsize($arr2))
   print($_gnom_b," ",$ia2," ",$arr2[$ia2])
   
   SWITCH($arr2[$ia2])       
   CASE("gnom_b-0")    //база
      $_gnom_b = 0
   CASE("gnom_b-1")    //в бой
      $_gnom_b = 1
   END_SWITCH
end_cyc

print($_gnom_b," ",$_gnom_b2)

if(($_gnom_b=1)&($_gnom_b2=0))  //вперед по точкам
   $_gnom_b2 = 1
   halt
   SETTHREAD(boy, 1) // 0 - Пауза, 1 - Старт, 2 - Стоп
   SETTHREAD(vpered, 1)
END_IF

wait(5)
END_THREAD
Title: Re: Работает ли CASE со строками? (Clickermann_4.13.010b)
Post by: Oraven on February 25, 2018, 04:28:50 PM
CASE со строками работает.

Может быть "с увеличением объема скрипта" в скрипт закралась ошибка?
Title: Re: Работает ли CASE со строками? (Clickermann_4.13.010b)
Post by: ya12 on February 25, 2018, 04:42:25 PM
CASE больше нет, переменные используется только в этом потоке, дочерние потоки запускаются только здесь. По логам значение переменной $_gnom_b изменяется в CASE("gnom_b-1"), при том что каталог называется gnom_b-0.

Переписал на IF и глюк пропал.