Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Macro or Evaluate?
Message
De
20/09/2018 09:55:03
 
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Divers
Thread ID:
01662147
Message ID:
01662150
Vues:
52
>>>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.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform