PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Calcul arithmétique simple
Calcul arithmétique simple
Iniciado por NiceBel, 11,ago. 2020 17:14 - 4 respuestas
Miembro registrado
528 mensajes
Publicado el 11,agosto 2020 - 17:14
Bonjour,

Est ce qu'il y a une fonction qui permet de donner le résultat d'un calcul arithmétique simple contenu dans une chaine par exemple:

s est chaîne = "5+6+8+8*9"
Resultat est chaîne = calc(s)


Merci.
Miembro registrado
948 mensajes
Publicado el 11,agosto 2020 - 17:53
Bonjour
voir compilation dynamique dans l'aide

--
«Nos clients sont nos meilleurs beta testeur.» H. Mintzberg
«Un programme informatique fait ce que vous lui avez dit de faire, pas ce que vous voulez qu'il fasse» Troisième loi de Greer
Miembro registrado
4.363 mensajes
Publicado el 11,agosto 2020 - 17:55
Comme l'écrit Philippe, il faut passer par la compilation dynamique
sOpération est une chaîne
sRésultat est un chaîne
sRésultatCompilation est chaîne
sCalcul est chaîne

sCalcul=[
nRésultat est entier

nRésultat=%1

Renvoyer nRésultat
]
sOpération="1+2+3"

sCalcul=ChaîneConstruit(sCalcul,sOpération)
sRésultatCompilation=Compile("CalculDynamique",sCalcul)
SELON sRésultatCompilation
CAS ""
sRésultat=ExécuteTraitement("CalculDynamique",trtProcedure)
CAS "ERR"
Erreur("Compilation impossible",ErreurInfo())
AUTRE CAS
Info(sRésultatCompilation)
FIN


--
Il y a peut être plus simple, mais, ça tourne
Miembro registrado
310 mensajes
Publicado el 11,agosto 2020 - 22:25
Bonjour
Regardez la fonction EvalueExpression

https://doc.pcsoft.fr/?1000019782

Bon dev.
Miembro registrado
528 mensajes
Publicado el 13,agosto 2020 - 00:47
Merci Samir, Merci à vous tous !!
La compilation dynamique n'a pas marché !