Il y a un sujet similaire qui a été discuté sur le forum, si je le retrouve, je le donnerais le lien ...
Sinon, déjà il te faut un parseur, tu peux découper chaque élément dans un arbre (arbre - récursivité, de bon amis), une "(" provoque l'ouverture d'un sous niveau, et le ")" provoque sa fermerture, ainsi de suite, mais cela devient vite compliqué car faut gérer la prioriété des calculs ... des algos tout fait sur l'interprétation d'une formule Arithmétique cela doit exister ... peut-être pas en delphi ...
Je l'avais tenté moi aussi, il y a longtemps, mais j'avais quelques erreurs ...
sinon, si ton application est lié à une Base de données, tu peux tricher, en MySQL par Exemple tu peux faire
SELECT ((1 + 1) * 2 + 4) / 5 as RESULTAT
sinon tu fais une formule à la Excel
OR(AND(A, NOT(B)) ,AND(C, D))
Partager