Пользовательские функции в Evaluate()
Добавлено: 05 Ноябрь 2015, 11:14
Я выше чуть-чуть привёл вариант функции. Строчка "if not omitted(3)" отрабатывается как надо.
Место общения программистов, форум разработчиков БД на Clarion
https://forum.clarionlife.net/
Код: Выделить всё
Max PROCEDURE (String v1, String v2, <String v3>, <String v4>, <String v5>) ! Declare Procedure
! Start of "Data Section"
! [Priority 50]
oHH &tagHTMLHelp
! [Priority 1300]
! End of "Data Section"
! Start of "Local Data After Object Declarations"
! [Priority 5000]
! End of "Local Data After Object Declarations"
CODE
! Start of "Processed Code"
! [Priority 4000]
stop(omitted(3) & ' , ' & omitted(4) & ' , ' & omitted(5))
if not omitted(3)
if v3>v2 and v3>v1
return v3
else
return v2
end
end
if v2>v1
return v2
else
return v1
end
Код: Выделить всё
bind('Max', Max)
stop(evaluate(Max(5,6,9)))
unbind('Max')
Код: Выделить всё
bind('Max', Max)
stop(evaluate(Max(5,6)))
unbind('Max')