Menu.Add 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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.Treatment<<$ARGS[2]>>'
  20. $<<$ARGS[0]>>_Parameters[str(arrsize('<<$ARGS[0]>>'))+'_W']='<<$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 ---------------------------------