Ide eval (calculer avec trés peu de code)

Soyez le premier à donner votre avis sur cette source.

Vue 5 923 fois - Téléchargée 491 fois

Description

Utilize une API de l'évaluateur d'expressions de Visual Basic,

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
178
Date d'inscription
lundi 5 juin 2006
Statut
Membre
Dernière intervention
30 novembre 2011

Merci pour vos comentaires et pour la note

En fait, je me suis inspiré de la source publiée par Renfield dans
http://www.vbfrance.com/code.aspx?ID=39620

C'est dômage qu'on ne puisse pas en faire un executable avec cette DLL, d'ailleurs un peu trop lourde, mais j'en suis sûr qu'il existe un moyen d'utiliser d'autres libraries installés d'origine sur Windows puisque il faut quand même évaluer des expressios de math en php ou java,etc dans les web pages et autres pages de script

En attendant je vais faire un tour s/interpreteur de Renfield
Messages postés
1221
Date d'inscription
jeudi 23 août 2001
Statut
Membre
Dernière intervention
9 septembre 2018

En dotnet ça existe, j'ai quelques liens :
www.codeproject.com/csharp/expressionevaluator.asp
www.codeproject.com/dotnet/eval3.asp
www.codeproject.com/useritems/ExpressionFramework.asp
Je ne crois pas en avoir en VB6.
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
vicosta, tu aurais pu faire ainsi :

Private Declare Function EbExecuteLine Lib "vba6.dll" (ByVal pStringToExec As Long, ByVal Unknownn1 As Long, ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As Long

Public mzEval As Variant

Public Function Eval(ByRef vsStatement As String) As Variant
Execute "mzEval = " & vsStatement
Eval = mzEval
End Function

Public Function Execute(ByRef vsStatement As String)
EbExecuteLine StrPtr(vsStatement), 0, 0, 0
End Function


ainsi, tu peux faire :
Execute "Msgbox ""Hello, World !"""
ou a = Eval("Resultat : " & 12*48)


ah oui, on est "un jour ou l'autre", j'ai posté mon interpreteur :
http://www.vbfrance.com/code.aspx?ID=43566
(ne gère pas toutes les fonctions etc, mais du coup, ben, pas besoin de dependance externe)
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
me suis fait mon interpreteur perso, le Script Control fonctionnait, mais trop lent...
je pense que je vais le poster un jour ou l'autre...
Messages postés
14
Date d'inscription
vendredi 26 juin 2009
Statut
Membre
Dernière intervention
30 mars 2008

Autre alternative pour ceux qui ont Excel : utiliser la fonction "Evaluate". Il suffit d'ajouter la référence Excel au projet et "Evaluate" est immédiatement accessible.
2 contraintes :
1. Diffuser la bibliothèque Excel dans le déploiement
2. Le client final doit impérativement posséder une licence Excel
à noter : à la 1ère utilisation de la fonction, il y a un petit délai d'attente (chargement de la dll); après c'est très rapide.
J'utilise cette fonction car tous mes clients ont Excel. Sinon, comme Bouv, j'utilise une variable de compilation pour utiliser la variante Script. Mais celle d'Excel est plus intéressante.
Afficher les 12 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.