Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Macro or Evaluate?
Message
From
20/09/2018 10:12:16
 
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
01662147
Message ID:
01662154
Views:
46
Likes (1)
>>>>>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.
>
>The Text-Endtext construct works. But I need to store this expression in a variable, to be evaluated at run-time. So, I am trying to "convert" the Text-EndText to a string. And having a problem with the error Missing Expression (not Missing Operand).
cExpr = Textmerge("<<tcAliasName>>.INSTOCK + <<tcAliasName>>.ONORDER - <<tcAliasName>>.REORDERPNT")
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform