Menu.Add 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. # Menu.Add
  2. if $ARGS[0] = '' or $ARGS[1] = '':EXIT
  3. !!----------
  4. if $ARGS[1] = '---' or lcase($ARGS[1]) = 'separator':
  5. dynamic "$otg_Menyu_<<$ARGS[0]>>[] = '-:-'"
  6. EXIT
  7. end
  8. !!----------
  9. ARGS[10] = arrsize('ARGS')
  10. if ARGS[10] < 3:$ARGS[2] = ''
  11. if ARGS[10] < 4:$ARGS[3] = ''
  12. !!----------
  13. $ARGS[0] = 'otg_Menyu_<<$ARGS[0]>>'
  14. $ARGS[1] = replace($ARGS[1], '''', '''''')
  15. if $ARGS[2] <> '':$ARGS[2] = ':' + replace($ARGS[2], '''', '''''')
  16. if $ARGS[3] <> '':$ARGS[3] = replace($ARGS[3], '''', '''''')
  17. !!----------
  18. dynamic "
  19. $<<$ARGS[0]>>[] = '<<$ARGS[1]>>Menu.{Processing}<<$ARGS[2]>>'
  20. $<<$ARGS[0]>>_parameters[str(arrsize('<<$ARGS[0]>>'))+'_Z'] = '<<$ARGS[1]>>'
  21. $<<$ARGS[0]>>_parameters[str(arrsize('<<$ARGS[0]>>'))+'_F'] = '<<$ARGS[3]>>'
  22. "
  23. !!----------
  24. $ARGS[3] = ''
  25. if ARGS[10] > 4:
  26. ARGS[11] = 4
  27. :otg_menyu_metka_1
  28. if ARGS[11] < ARGS[10]:
  29. if $ARGS[ARGS[11]] <> '':
  30. $ARGS[3] += '''' + replace($ARGS[ARGS[11]], '''', '''''')+''''
  31. else
  32. if ARGS[ARGS[11]] <> 0:
  33. $ARGS[3] += ', ' + str(ARGS[ARGS[11]])
  34. else
  35. $ARGS[3] += ''' '''
  36. end
  37. end
  38. ARGS[11] += 1
  39. jump 'otg_menyu_metka_1'
  40. end
  41. end
  42. !!----------
  43. dynamic "
  44. $<<$ARGS[0]>>_parameters[str(arrsize('<<$ARGS[0]>>'))+'_P'] = '<<replace($ARGS[3], '''', '''''')>>'
  45. "
  46. --- Menu.Add ---------------------------------