Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Macro or Evaluate?
Message
From
20/09/2018 09:55:03
 
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
01662147
Message ID:
01662150
Views:
51
>>>Hi,
>>>
>>>I need to change a hard-coded expression into a variable (stored in the app object). The expression has a variable - name of the alias - which may change in different parts of the app. Here is an example (close to actual case):
>>>
>>>Right now, hard coded:
>>>
>>>nQty = EVALUATE(tcAliasName + ".INSTOCK") + EVALUATE(tcAliasName + ".ONORDER") - EVALUATE(tcAliasName 
>>>+ ".REORDERPNT")
>>>
>>>
>>>If I place the entire hard-coded expression to a variable, as:
>>>
>>>cExpr = 'EVALUATE(tcAliasName + ".INSTOCK") + EVALUATE(tcAliasName + ".ONORDER") - EVALUATE(tcAliasName  + ".REORDERPNT")'
>>>
>>>
>>>Will the above work as?
>>>
>>>nQty = EVALUATE( cExpr ) 
>>>*-- or
>>>nQty = &cExpr.
>>>
>>>
>>>TIA
>>
>>
>>TEXT TO cExpr NOSHOW TEXTMERGE PRETEXT 15
>>     <<tcAliasName>>.INSTOCK +
>>     <<tcAliasName>>.ONORDER -
>>     <<tcAliasName>>.REORDERPNT
>>ENDTEXT
>>
>>nQty = EVALUATE( cExpr ) 
>>
>
>First, thank you. Your approach should work and should be my solution. But I have changed the TEXT TO ENDTEXT to a string (because I will store it in the app object). So in my case I have
>
> cExpr = "<<tcAliasName>>.INSTOCK + <<tcAliasName>>.ONORDER - <<tcAliasName>>.REORDERPNT"
>nQty = EVALUATE( cExpr ) 
>
>
>But I get error Missing Operand. I must be doing something wrong. I will keep checking my syntax.

Use the Text-Endtext construct plus the Evaluate() in yourobject.yourvalue_access.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform