Please enable JavaScript to view this site.

 

Navigation: Macros > Macro Language > Compiler Messages > Hints

Macro uses obsolete function

Scroll Prev Up Next More

This compiler hint occurs if the macro being compiled makes function calls using obsolete functions (written for version 1 of the macro compiler).

 

These functions are still valid, hence this is only a hint, but since September 2000, they have been replaced by more powerful and convenient operators and functions in version 2 of the macro compiler).

 

For example, using obsolete functions, calculating if someone was over 18 used to be:

bIs18 = GreaterOrEqualN(Div(Difference(Today(),nDateBirth),365),18)

The above can now be written in the more obvious form:

bIs18 = ((Today()-nDateBirth) div 365) >= 18

Obsolete functions can be replaced according to the list below (note how many of them are replaced with an operator of the same name, but all in lowercase, for example Not() is replaced by not).

 

EqualN, EqualS, EqualB: use the test for equality operator.

NotEqualN, NotEqualS, NotEqualB: use the comparison operator <>.

GreaterThan, LessThan, GreaterOrEqual, LessOrEqual: use the corresponding comparison operators.

IsOneOf, StrIsOneOf: use the membership operator.

Not: use the not operator.

And: use the and operator.

Or: use the or operator.

Xor: use the xor operator.

Inc, Dec: use the inc and dec operators.

Add, Increase, Decrease, Diff, Difference, Concat: use the + and - operators.

Div, Mod: use the div and mod operators.

Mult, Multiply: use the multiplication operator.

 

If you have doubts as to how to convert these function, contact us.

 


Topic 109003, last updated on 23-Apr-2020