func doWork(_data, index):java,html fvar(f) if(isdef(Name)) f = 'multi_call' + code(_id_) + '(' else f = code(Name) + '(' end if(isset(call_event)) fvar(i) // при повторном вызове пропускаем формирование тела ф-ции for(i = 1; i <= _data_count_; i++) f &&= (i > 1) ? ',' : '' && point("Data" + i) end f &&= ')' if(call_event) event("onEvent" + call_event, f) else println(f,';') end else if(CodeType = 1) sys.selectElement(cgt.el_get_child_id(0)) event("doWork" + (index + 1), _data) sys.selectElement(cgt.el_get_parent_id()) else var(call_event, ret) fvar(old, pref, i, dt) pref = issec("php") ? '$arg' : 'arg' old = block.select(block.reggen()) // ----- формируем заголовок print('function ', f) for(i = 1; i <= _data_count_; i++) print( (i > 1) ? ',' : '' + pref + i ) end println(') {') block.inclvl() include("func_head") // ----- формируем список внешних переменных if(_var_count_ and issec("php")) print('global ') for(i = 1; i <= _var_count_; i++) print( (i > 1) ? ',' : '' + pref + i + '_var' + code(_id_) ) end println(';') end // ----- формируем тело call_event = 0 sys.selectElement(cgt.el_get_child_id(0)) event("doWork" + (index + 1), dt) // ----- сохраняем значения внешних переменных for(i = 1; i <= _data_count_; i++) println(pref + i + '_var' + code(_id_), ' = ', point("Var" + i), ';') end sys.selectElement(cgt.el_get_parent_id()) // ----- вставка возвращаемого значения // if(ret) // println(ret) // end include("func_tail") block.declvl() println('}') block.copyto(BLK_HEAD) block.delete(block.select(old)) // ----- формируем вызов ф-ции for(i = 1; i <= _data_count_; i++) f &&= (i > 1) ? ',' : '' && point("Data" + i) if(dt = "" and cgt.pt_get_rlink_point(cgt.pt_arr_data(i-1)) = 0) dt = pref + i end end f &&= ')' if(call_event) event("onEvent" + call_event, f) else println(f,';') end end end end func Var(_data, index):java,html if(CodeType = 1) sys.selectElement(cgt.el_get_child_id(0)) return( point("Var" + (index + 1)) ) else return( issec("php") ? '$arg' : 'arg' + (index + 1) + '_var' + code(_id_) ) end end