Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Macro or Evaluate?
Message
De
20/09/2018 10:12:16
 
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Divers
Thread ID:
01662147
Message ID:
01662154
Vues:
47
J'aime (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")
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform