OVH Cloud OVH Cloud

pi et vbscript

2 réponses
Avatar
Michel Lemaitre
bonsoir,
Dans mon appli, j'évalue des expressions avec vbscript:
Dim Calculateur As New MSScriptControl.ScriptControl()
Calculateur.Language = "vbscript"
Calculateur.Eval(MonExpession)
(c'est pas jolie, mais ca marche)
Le prolème, c'est lorque je veux utiliser Pi dans mon expression.
je ne trouve pas l'équivalent de Math.PI de javascript.
Merci de votre aide
Michel Lemaitre

2 réponses

Avatar
Patrick Philippot
Michel Lemaitre wrote:
Dans mon appli, j'évalue des expressions avec vbscript:
Dim Calculateur As New MSScriptControl.ScriptControl()
Calculateur.Language = "vbscript"
Calculateur.Eval(MonExpession)
(c'est pas jolie, mais ca marche)
Le prolème, c'est lorque je veux utiliser Pi dans mon expression.
je ne trouve pas l'équivalent de Math.PI de javascript.



Bonjour,

Solution #1
--------------

Pi = atn(1) * 4

Calculez le en début de programme et stockez le dans une variable.

Solution #2
--------------

...que j'ai eu l'occasion d'expliquer ailleurs et qui consiste à
utiliser un assemblage JScript

1) Créez un fichier CustomEval.js :

class CustomEval
{
static function eval(strExp)
{
return eval(strExp);
}
}

2) Compilez ce code depuis la ligne de commande:

jsc /t:library CustomEval.js


ce qui va produire CustomEval.dll

3) Référencez cet assembalge depuis votre code VB .Net ainsi que
l'assemblage Microsoft.JScript.

4) Utilisez la méthode eval de la classe CustomEval dans VB .Net comme
suit (la méthode étant static, nul besoin d'instancier un objet de type
CustomEval):

result = CustomEval.eval("votre expression Javascript")

Notez que cette fonction n'évalue que du code JavaScript et n'est pas
particulièrement performante.

Une bonne démonstration des possibilités cross langages de .Net.

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Avatar
Michel Lemaitre
meci de cette réponse rapide
Patrick Philippot a écrit :
Michel Lemaitre wrote:

Dans mon appli, j'évalue des expressions avec vbscript:
Dim Calculateur As New MSScriptControl.ScriptControl()
Calculateur.Language = "vbscript"
Calculateur.Eval(MonExpession)
(c'est pas jolie, mais ca marche)
Le prolème, c'est lorque je veux utiliser Pi dans mon expression.
je ne trouve pas l'équivalent de Math.PI de javascript.




Bonjour,

Solution #1
--------------

Pi = atn(1) * 4

Calculez le en début de programme et stockez le dans une variable.

Solution #2
--------------

...que j'ai eu l'occasion d'expliquer ailleurs et qui consiste à
utiliser un assemblage JScript

1) Créez un fichier CustomEval.js :

class CustomEval
{
static function eval(strExp)
{
return eval(strExp);
}
}

2) Compilez ce code depuis la ligne de commande:

jsc /t:library CustomEval.js


ce qui va produire CustomEval.dll

3) Référencez cet assembalge depuis votre code VB .Net ainsi que
l'assemblage Microsoft.JScript.

4) Utilisez la méthode eval de la classe CustomEval dans VB .Net comme
suit (la méthode étant static, nul besoin d'instancier un objet de type
CustomEval):

result = CustomEval.eval("votre expression Javascript")

Notez que cette fonction n'évalue que du code JavaScript et n'est pas
particulièrement performante.

Une bonne démonstration des possibilités cross langages de .Net.