La compilation dynamique permet de faire plus que des indirections.
Dans une de nos applications l'utilisateur peut saisir une formule de calcul. (ici du numérique)
On l'évalue ainsi:
sFormule="Renvoyer "+sFormule //faire WD sResultatCompile = Compile("Proc_dynamique", sFormule) //compiler SELON sResultatCompile CAS "" : QUAND EXCEPTION DANS //059 nResultat = ExécuteTraitement("Proc_dynamique", trtProcédure) //executer FAIRE //059 Info(" Formule "+sNomForm+" erreur au calcul") //059 FIN //059 CAS "ERR" : Info( "Formule. "+sFormule+" erronée"+RC+ErreurInfo());RETOUR FIN {sChamp,indChamp}=Arrondi(nResultat,2) //résultat
Si l'utilisateur saisit 2-3+7 on obtient 6.
merci beaucoup eric
Le 25/10/2011 10:51, tt a écrit :
Bonjour TT,
je regarde dans cette direction
merci
eric
La compilation dynamique permet de faire plus que des indirections.
Dans une de nos applications l'utilisateur peut saisir une formule de
calcul. (ici du numérique)
On l'évalue ainsi:
sFormule="Renvoyer "+sFormule
//faire WD
sResultatCompile = Compile("Proc_dynamique", sFormule)
//compiler
SELON sResultatCompile
CAS "" :
QUAND EXCEPTION DANS //059
nResultat = ExécuteTraitement("Proc_dynamique",
trtProcédure) //executer
FAIRE //059
Info(" Formule "+sNomForm+" erreur au
calcul") //059
FIN //059
CAS "ERR" : Info( "Formule. "+sFormule+"
erronée"+RC+ErreurInfo());RETOUR
FIN
{sChamp,indChamp}=Arrondi(nResultat,2) //résultat
La compilation dynamique permet de faire plus que des indirections.
Dans une de nos applications l'utilisateur peut saisir une formule de calcul. (ici du numérique)
On l'évalue ainsi:
sFormule="Renvoyer "+sFormule //faire WD sResultatCompile = Compile("Proc_dynamique", sFormule) //compiler SELON sResultatCompile CAS "" : QUAND EXCEPTION DANS //059 nResultat = ExécuteTraitement("Proc_dynamique", trtProcédure) //executer FAIRE //059 Info(" Formule "+sNomForm+" erreur au calcul") //059 FIN //059 CAS "ERR" : Info( "Formule. "+sFormule+" erronée"+RC+ErreurInfo());RETOUR FIN {sChamp,indChamp}=Arrondi(nResultat,2) //résultat